SCE Y1 Semester 2 AY2014/2015

Sunday, June 28, 2015
Secret War Journal[Jan - May 2015]

CZ1005 Digital Logic

Lectures attended: 70% (Dr. Chan Syin & Dr. Suhaib Fahmy)
Tutorials attended: 92.3%
Labs attended: 100%, attendance are taken. Every 2 weeks.
Textbook(s): Fundamentals of Digital Logic with Verilog Design, 2nd Ed., by Stephen Brown and Zvonko Vranesic, McGraw Hill, 2008, ISBN-10: 9780071265980.
Assessment: Coursework (30%) - Written lab quizzes (at the end of each lab class), Closed-book exam (70%) - 2 hour written paper
Comment(s):
Before I begin, bear in mind that I took this module without the majority of the Computing Science students. Thus, many details on how this course was conducted would differ from how this course is normally conducted. I took this module during Semester 2. Hence, if for whatever reasons you are taking this module during Semester 2 (especially if you're in BCG or BCE), this will be relevant to you.

One important thing to note when you are not taking with the main cohort for this module, chances are there are very few other coursemate taking this module in this semester. What this means is that there is a very high chance that there is no bell curve. Of course, that is not guaranteed but you should be prepared of such a possibility.

The first half of the lectures are conducted online. Hardly any face-to-face interactions are required. All lectures in the first half are recorded and upload online just like any other e-learning course. Before you disregard this altogether and save it for cramming in the final weeks, I will advise you not to. There are many reasons. Notably, every lab session will test on the previous week's content. More importantly, the lab tests contribute 30% of your final grades! As a result, you should never disregard the marks from the lab tests. From my experience, going through the recorded lectures and the lab manual concerned one day before should do fine. Try to score as high as possible for this component as it will help to relieve a lot of stress on this module.

The second half lectures are conducted traditionally, which I preferred. Here, you will learn more in-depth in a hardware describing language called Verilog. Prior knowledge will aid you a significant bit in this module, especially during the lab sessions.

Tutorials wise, nothing much to comment on. No attendance were taken. It was a simple going through of answers. You could try to clarify answers during the tutorial though I found consulting the lecturers to be more productive in nature.

Textbook? Not compulsory. E-book editions are available too.

CZ1006 Computer Organisation and Architecture

Lectures attended: 100% (Dr. Goh Wooi Boon & Dr Oh Hong Lye)
Tutorials attended: 100% (Dr Oh Hong Lye)
Labs attended: 100%, attendance are taken. Every 2 weeks.
Textbook(s): 
  1. Linda Null & Julia Lobur, Computer Organization and Architecture, Jones & Bartlett Learning (3rd Edition), 2012
  2. Randal E. Bryant & David O’Hallaron, Computer Systems – A Programmer’s Perspective, Pearson Education International (2nd Edition), 2010
  3. John L. Hennessy & David A. Patterson, Computer Architecture – A Quantitative Approach, Morgan Kaufmann (5th Edition), 2011
Assessment: Coursework (40%) - Written lab quizzes (at the end of each lab class), Closed-book exam (60%)
Comment(s):
Remember CZ1002? Well, this is basically a continuation to that and CZ1005. If you are strong in the two aforementioned modules, you will do fine in this module.

Dr Oh Hong Lye is a good lecturer and tutor. I had the good fortune of being in his class. One thing to take note though, many students will go to his classes, even if he is not their tutor. Every week, I have issues finding a seat in the classroom as it is very packed. Dr Oh explains concepts in detail and is willing to answer your questions should have any doubts on the topics at hand. This will be very beneficial for you.

Programming languages that you be touching on would be mainly Assembly. There are generally quite basic in nature so you should do fine with a bit of refreshing before the exams or lab quizzes.

Like most Computing modules, the textbooks are not essential. Practicing is more important. Do note that this module is heavier on theory. (Yea.... Memory work....)

CZ1007 Data Structures

Lectures attended: 90% (Dr. Hui Siu Cheung & Dr Jing Han)
Tutorials attended: 70%
Labs attended: 100%, attendance are taken. Every week.
Textbook(s): “Programming with C”, B. Tan and S.C. Hui, Prentice Hall, 2011
Assessment: Coursework (50%) - 2 Assignments, 1 lab quiz, Closed-book exam (50%)
Comment(s):
This is probably the one module I had the most fun with during my Year 1 Semester 2. Yet, at the same time, it was one of the module I complained the most to my peers.

Do not confuse this with CZ2007 or CZ4031, you would not actually work on a database. You will only learn basic concepts on how programming languages store data and various methods in doing it.

The programming language you will be using for this module would be C. Here's where I have some gripes on how the module is taught. The module is using a obsolete standard for C. If you have self-taught the language complying with the current adopted standards, be prepared to adapt accordingly as your code may not run in accordance to the old standard. If I recall, they are using C98.

I am not exactly sure why they are not teaching the new standards, several emails were exchanged between the professors and I. The reason given was to maximise portability which can be true. However, as an counter example, most compilers have adapted the new standards because, well it is the current standards right now. That aside, just remember to take note.

Lab sessions are conducted weekly. There is no work to be submitted at the end of the lab sessions, just attendance is taken. Towards the end, the lab questions and the tutorial questions are the same, making one of them kind of redundant.

Textbook is not essential.

Note: I underloaded this semester because I was exempted from CZ1008. Thus, CZ1008 will not be covered by me. Sorry.


For a full list of the modules I took, see link here. :)