Happy New Year! Good thing we woke up and found it 2012, and not 2011S :D.

Either ways, the past 21 days/3 weeks were hellishly (That’s actually a word >.>) cramped with work. Other than the Final Exam that I am done with today, I had three other projects that would make interesting posts! Unfortunately, I didn’t have time to post about them on time :( …

So, here are they!

#1 Genetic Algorthims

Intelligent Algorithm’s Course Project

This was a VERY interesting project. After studying genetic algorithms with discrete parameters, we were suppose to read about genetic algorithms with continuous parameters and provide a simple implementation. So, what’s so interesting about genetic algorithms?

I am not gonna do wikipedia’s work, but I’ll provide my opinion about why I think they are awesome.

The best thing about them is that they are based on a Natural Phenomenal, aka Natural Selection. By observing this phenomenal, some crazy scientist actually decided to use the concept to implement an algorithm for solving problems!

So, on with the post. Genetic algorithms is something that you should definitely look into if you are looking for a reliable algorithm to solve some optimization problem. Without working too hard, I was able to implement it and it easily solved two variable functions with many local optimas, and within a very reasonable time!

That’s all about genetic algorithms… Onto the next.

#2 Implementing an SRC

Computer Organization Course Project

Before you wonder, SRC stands for “Simple RISC”, and RISC stands for “Reduced Instruction Set Computer”…

Anyway, what’s so interesting here? Well, the exposure to how a CPU works simply baffles you (is baffle a good word to use here?). Even though we designed and implemented a VERY simple CPU, both the Control Unit and the Data Flow, my question about how the CPU executes our programs were answered in detail!

So, if interested, look up designing a SRC using Quartus, at least that’s what we did. It was really something.

#3 Developing an E-Commerce Website

Internet Programming Course Project

This was by far the most interesting, amazing, awesome … etc. Throughout the Internet Programming course, we took a quick overview about client side programming using HTML, CSS, JavaScript. We were also exposed to DOM, AJAX and JSON on the way. This part was a very small portion of the course.

The rest of the course, we did the server programming using J2EE technology. By following the Affable Bean tutorial found on the Netbeans website, we built a very solid basic knowledge about this subject.

It’s simply a great technology! The life cycle of a page, I never thought it was that … elegant!

The application server, which in our case was Glassfish 3.1.1, would store *.JSP files, and based on the user request, it would either send the client request along with the request parameters (Query String) to the servlet or retrieve the JSP/HTML/…etc directly. If the request should be sent to the servlet, you can add your own logic to process the request using pure Java language. All the awesomeness included.

Always, when the server retrieves a JSP to the client, it first looks for embedded JSP/JSTL or whatever they are called. These are special tags and codes that you can embed into HTML pages to make them dynamic and processed during request time. Very useful for retrieving data from a DB server and stuff…

That was all!!