Programming Design Paradigm (PDP) Course Review : What, Why, and How to Get an A

Recently I noticed some discussions in NEU CS Facebook group about people’s comments on the PDP course. As always, there are people on both the positive and negative side. I’d like to join the discussion but I think writing in my blog would be better so people can read about it without joining the group.

I took PDP in Fall 2010, Prof. Mitchell Wand and Prof. Riccardo Pucella taught the lecture, but I believe the grades came from Prof. Wand based on the codewalk scores. Personally, I thought I and my partners did pretty good on most codewalks and I got A as final grade.

In this post I will tell you more about the setup of the course when I took it, why I think it’s one of the best course in MSCS program, and everything that I believe matters to get high scores. Continue reading “Programming Design Paradigm (PDP) Course Review : What, Why, and How to Get an A”

What is Computer Science?

The misconception

Probably the most common misconception about computer science is that people thought that the “computer” word in it is for “computer machines”, it’s NOT!

I think the more appropriate name for the degree should be Computing Science.

Why? Because although the field heavily uses computer machines as tools, at it’s core, it deals with calculation and computation, in short, mathematics.

Computer science already existed before IBM created what we call computers nowadays. In fact, the abacus can be considered as one of computer science tools. Continue reading “What is Computer Science?”

Data Mining Notes – Artificial Neural Network (ANN)

Algorithm outline:
(from video)

  1. Start with neural network (single or multiple layer).
  2. Present the training sample, compute the activation values of all the units until we compute the activation values of output layer units.
  3. Compare the output that we computed with the training sample output to compute the error.
  4. Having computed the error, our objective is to re-adjust the weight so the error decreases so that our computed values is closer to the real values.
  5. Done with one training sample, we’ll continue with the next training sample.
  6. Use learning rate to choose slow or fast learning. Slow learning is better in general, because of gradient descent.
  7. Continue with this learning until ideally we reach state where the weight doesn’t change too much.
  8. Freeze the weight, and we have learn the function.


  1. Compute the error of the output layers, and then aproportion that error to the hidden layers.
  2. Having the error of the hidden layer, use two layer learning algorithms to readjust the weights (weight adjustment formula). Multi-layer neural networks work better than single layer. Continue reading “Data Mining Notes – Artificial Neural Network (ANN)”

Managing Software Development Course Notes and Outline

Course term: Spring 2012
Website: Official course website.
Course Professor: Prof. Ken Backlawski
Textbook: Object-Oriented Software Engineering Using UML, Patterns, and Java (3rd Edition)

Continue reading “Managing Software Development Course Notes and Outline”

What I Learn in Master of Computer Science (MSCS) Program at Northeastern University

Some of my friends are curious about what actually I learn on the Master of Computer Science program I’m taking now.

And although sometimes I post about some of the course lessons and notes on my blog, I think it’s a good idea if I write a central page that organized these posts and categorized them to the courses I took. These will also serve as notes both while I’m in the program, and someday when I completed the program.

The following are courses that I took, and I’m specializing in Database management, for a complete list of courses that the program offers, check the Northeastern MSCS program website. Continue reading “What I Learn in Master of Computer Science (MSCS) Program at Northeastern University”

Data Mining Techniques Class Notes and Outline

data mining class outline image
Course term: Spring 2012 – Northeastern University
Website: course official website.
Course Professor:Professor Mirek Riedewald
Textbook: Data Mining: Concepts and Techniques, Third Edition (The Morgan Kaufmann Series in Data Management Systems)

Some of the outline item will have a separate detailed post.
Continue reading “Data Mining Techniques Class Notes and Outline”

Write JavaDoc in an Instant (Part 1) – Templates for Methods

Write JavaDoc Example

We all love good and commented codes, but most of us either don’t know how to write a good comment for our codes, or just plain lazy to write one.

In Java, JavaDoc is pretty much the industry standard when it comes to auto-generated code tool. And as a strong believer of good software development practice, I always put comments on my code.

To save time, I created this template for methods so I can always refresh myself about how to write a good JavaDoc for my code. These codes are taken from the Java SDK source codes, so talk about how the creator of the Java write their comments (no one can be more expert than them I suppose). Continue reading “Write JavaDoc in an Instant (Part 1) – Templates for Methods”