Engineering: is the first Computer Science course. The purpose of  this course is to teach you how to create software of quality and avoid catastrophic defects.  Here you learn about programming methodology, software architecture and software testing. We teach you basic concepts so you can start learning computer programming the right way.


You do not need any previous experience as software developer for this course. We assume you understand the basic mathematics notations and concepts taught in school to students between age 12 to 18. If you are younger then 12 you will probably not understand this course.

Wikipedia: is a great resource to learn software engineering  and history of computer science. However this subject is vast and intimidating for beginners. Therefore we have selected the most useful topics about computer programming you should learn before study a computer language.

Video Lectures

We have posted several videos on YouTube. You can watch the entire Play-List in about 2 hours. After watching the video you can learn more by reading the articles listed on the right panel.

Ratting Exam

Next we have an exam with questions you may be asked on a technical job interview. After you have read all our articles and watch the video lectures you can try this exam. If you pass please record your score into our top leader-board. This exam do not include Ruby syntax.

Start Exam

Start Coding

Is one thing to learn theoretical concepts and another to get your hands dirty. I will introduce you to coding techniques using Ruby. It is a good language because you can find projects to work as freelancer and make a buck. I could have chosen for Python or Perl, but Ruby is more productive and easier to learn for beginners.

Ruby Exam

Leaderboard: Software Engineering

maximum of 45 points
Pos.NameEntered onPointsResult
Table is loading
No data available

Leaderboard: Programming Ruby

maximum of 2 points
Pos.NameEntered onPointsResult
Table is loading
No data available