/ NUS , EDUCATION , CG3207 , CS3244 , EG2401 , EE3204 , CG3002

NUS Third Year | First Semester in Review

CG3207: Computer Architecture

CG3207 was one of the most informative, educational modules I have taken.

This module answered many of the questions which was always running in my head: “How computers function so smoothly managing several tasks simultaneously?”, “How do the building blocks of computers actually come together in building a computer?”, “How does a processor function?” etc.

That being said, it was definitely and undoubtedly a challenging module. It requires some fine skills in Assembly and Verilog/VHDL. The course structure is as follows:

  • 15% Quiz (3 quizzes, Happens during lecture itself)
  • 45% Labs (Comprises 4 Lab Projects - 1 individual, 3 group)
  • 40% Finals

There are 3 quizzes which occurs during the lecture period itself. They mostly comprise simple questions which test your understanding of 2-3 chapters. The challenging part comes during the labs which take up significant amount of time. Each of the group project are linked which eventually results in a complete processor.

The finals consists of several short-answer questions with a slight emphasis on the last few chapters: Arithmetic for Computers, Memory System Principles, Pipelining, Advanced Processor Design.

Overall a great module. Challenging due to the time involvement for the various group projects.

Difficulty (out of 5): ☆☆☆☆


CG3002: Embedded Systems Design Project

This is one of signature modules in Computer Engineering. This design project, done in a group of six, is really heavy in terms of the time commitment it requires.

In this project, we were required to build a indoor navigation system for the visually challenged. We were given some equipment to begin with such as Arduino Mega, Raspberry Pi (version 1), sensors (infrared, ultrasound etc.), IMU.

It was definitely a new experience for me in putting together software and hardware to achieve an embedded system.

Grading is split into a few checkpoints with the two of the milestones as the major component. This project is definitely not something which can be done by one or two people. Every member in your group must be fully involved, cooperative and motivated to complete the project due to the several tight deadlines you will encounter along the way. Coupled with deadlines from other modules, my team (along with other teams) spent several days staying late at college (sometimes overnight too).

A piece of advice for team formation is to have members specialised in various fields such as software, hardware and firmware. It’s crucial to have a kind of leader who can manage deadlines aptly.

Overall a great experience in building the project despite the various tight deadlines which spiked our stress levels at times.

Difficulty (out of 5): ☆☆☆☆☆


EG2401: Engineering Professionalism

This module mainly serves to build upon the professional work ethics an engineer should uphold in his/her career. There are 4 main sections revolving around the topics of ethical theories, academic research ethics, plagiarism and professional code, engineering and environmental concerns & intellectual property (copyrights, patents, trademarks).

The module is graded as follows:

  • Continual Assessment - 50% (Tutorial Participation - 20%, Research Project - 30%)
  • Final Exam - 50%

As seen, the module has an extra emphasis on the participation during tutorials. The research project mainly involves some research on current fields/topics on engineering with an analysis of the ethics involved in those fields.

The final exam (closed-book) consists of some structured and essay questions covering the various concepts/practices etc. taught during lectures.

Overall, a relatively manageable module.

Difficulty (out of 5): ☆☆


CS3244: Machine Learning

This was one of the modules I looked forward most. Though it was pretty different from what I expected, it was somewhat enriching in providing a good overview and understanding of what the field of machine learning is all about and how it is used widely in almost every aspect of our technologies today.

I was surprised by the significant amount of math involved in this field initially. The math involved mostly Calculus and Linear Algebra. Coming from a Computer Engineering background I was not very familiar with the parts on Linear Algebra.

This semester machine learning was widely revised under the new professor Prof Kan Min Yen. Prof Min mentioned this syllabus is vastly different from the what was taught in previous semesters. There was equal emphasis on both theory and practical aspects of machine learning.

Prof Min followed the content taught at Caltech by Prof Abu Mostafa. It was easy to revise lecture content by watching the Caltech lectures available on YouTube for most of the chapters. The grading of the module comprises the following components:

  • Midterm: 20%
  • 3 Homework assignments (2 written @ 10%, 1 programming mini project @ 15%): 35%
  • Participation (via IVLE forums, tutorials): 5%
  • Final Exam: 40%

Overall a challenging module due to the math involved as well as the abstract concepts which take some amount of time to understand and appreciate.

Difficulty (out of 5): ☆☆☆☆


EE3204: Computer Networks

This module mainly serves as an introduction to computer networks and their developments over the past few decades. The module is divided into 2 main parts by 2 lecturers. Part 1 focuses on introduction of network concepts and ethernet layer. Part 2 covers majorly on the transport and network layers of OSI network architecture and TCP/IP.

I found this module to be pretty interesting as it explained how the Internet, something we depend upon for our daily activities, actually functions. The module was graded as follows:

  • Socket Programming Lab (20%)
  • Midterm 1 (15%)
  • Midterm 2 (15%)
  • Final Exam (50%)

The module was pretty manageable. Consistency in keeping up with lecture topics was an important factor to do well in the exams and labs.

Cheatsheet available here.

Difficulty (out of 5): ☆☆☆

This semester was a test of my time-management, leadership skills and determination. Managing the workload of the various modules together with the application for ATAP/Industrial Attachment was definitely not an easy task.

Looking forward to my 6 months internship next semester!

Till next time, cheers.

Harish V