review 1

Name: Audrey W

Engineering Major: Material Science Engineering

Module Code: CS1010E

Type of Module: Core

Year/Semester of taking module: 2017/2

Difficulty Level: 4

Exam and Assessment Format: Lab (hands on coding), not too sure about the mid terms/finals

Comments on Lecturers and Tutors: Lecturer could focus less on content but more on how to get the logic flow. He could do so by showing us a live coding of how it would be done. Tutor (D21) is really good and helps make the course more understandable.

Comments about Module: Maybe they could remove live lectures and upload pre-recorded lectures which could be longer and also show students how to code what is being taught.

Recommended Textbook (if applicable):

Workload/Preparation Time Required: 2

What do you like or dislike about this module?: I dislike that the module focuses on content rather than teaching the logic behind the code


review 2

Name: Trong Nhan D

Engineering Major: Material Science and Engineering

Module Code: CS1010E

Type of Module: General

Year/Semester of taking module: 1/2

Difficulty Level: 5

Exam and Assessment Format: Hand on coding not paper test.

Comments on Lecturers and Tutors: Lecturer just talk about the slide. In CS i think he need to code for us to see but he just talks so it makes very difficult for us to understand and we do not know what is the scope about.

Comments about Module: The module itself is fun but the lecture is not really understandable.

Recommended Textbook (if applicable):

Workload/Preparation Time Required: 8

What do you like or dislike about this module?: I like coding and about the TA but i don't like the way lecture works.


review 3

Name: Pinzheng Z

Engineering Major: Materials Science & Engineering

Module Code: CS1010E

Type of Module: Core

Year/Semester of taking module: 1 / 2

Difficulty Level: 5

Exam and Assessment Format: - 10% mid term
- 40% finals
- 50% sit-in labs (8% + 9% + 10% + 11% + 12%)

Comments on Lecturers and Tutors: Lectures are conducted by Prof Joxan Jaffar. He is an experienced but a bad lecturer. He teaches CS with powerpoint slides and laser pointers to point the codes and does A LOT of talking that many could hardly digest. Throughout his 13 weeks of lectures I never saw him touching the keyboard to demonstrate the codes and he could literally talk the C language in technical terms verbally for his 2 hours lecture (Seriously?). I only went to his first two lectures throughout the course because the lecture becomes WAYY TOO DRY and BORING and many students often fell asleep halfway through the lecture.
His lecture notes are not helping either. His notes are way too wordy, with at least 70 slides per lecture and without live-demonstrations these notes are certainly not helpful. In addition, his lecture materials are COPY-PASTE from the textbook itself with minimal modifications which I ended up learning from the textbook instead (which the textbook is better because it has explanations and practice questions). Many of my friends also ended up learning online on their own accord instead. Attendance goes downhill since the first; by the time of the 2nd last lecture, only a handful turned up.
He does not conduct a summary lecture to prepare for finals either, instead he conducted an applications lecture which the codes are hardly readable. The attendance for that lecture is probably at most 20 out of the 300+ pax cohort.

With the bad lecture environment, most part of the learning comes from the tutorials and labs. My primary tutor is Adi Yoga, which is probably the best teaching staff in this sem 2 mod. He is also the moderator of the mod in IVLE, so you would often see him replying to forum posts rather quickly and uploading materials promptly. In general, he is a pretty good tutor. However, he has this teaching habit which can be an area of improvement. He has this tendency to accelerate in difficulty and tends to deviate from tutorial content and direction after the half-hour mark. He starts to introduce new variables, new methods and many variations without much comments on his codes. His teaching style would be good for experienced students but not helpful to those who are not exposed to CS prior to this mod. Most of us often by that time would be hopelessly looking at the screen, wondering what is it going on, while he continues typing his lengthy codes......
There were a few occasions that I had consultations with him at his office which dragged on to 3 hours simply because I couldn't understand what he is trying to deliver. My last consultation with him I was way too confused and I ended telling him "Could you explain to me in ENGLISH, not C Language" about the logic of the codes. Nonetheless most of my sessions I ended up having heavy migraines, after the continued bombardment of codes and functions which took me a great deal of time to understand. I often required to attend the other tutorial sessions to reinforce the concepts but by the last 2 tutorial sessions (covers strings and structures) the codes was hardly understandable by logic to the point that I gave up on doing them.

Comments about Module: Probably the worst and the most difficult module I have taken in my year 1. I was initially interested in Computer Science at first but after taking this mod in sem 2, it literally killed off my interest in CS, at least I would prefer to downgrade to easier languages such as Javascript or Python. As Materials Science and Engineering major, CS1010E is pre-allocated in sem 2, a minority compared to the general allocation of sem 1 for engineering majors. I got to say this, if you have to take CS1010E as your module requirement, you either take it in Sem 1 or special term for a better learning environment for CS. If you have to take in sem 2, I would HIGHLY recommend you to practice CS during your December break to help yourself otherwise you are going to have a hard time in this mod.

Recommended Textbook (if applicable): Engineering Problem Solving in C (4th edition) by Delores.M. Etter

Workload/Preparation Time Required: Very heavy / Tons of hours that I cannot count

What do you like or dislike about this module?: Like: Perhaps no, ruined by the bad delivery of the CS teaching staff for the module. One thing probably is Mr Adi Yoga himself is a very nice tutor and responsive to forum posts.

Dislike: Don't get me started. Almost everything so much that I don't know where to start. This module really needs a major revamp to make this module enjoyable. I am not kidding


Name: Joey K

Engineering Major: Electrical

Module Code: CS1010E

Type of Module: Core

Year/Semester of taking module: 2016/1

Difficulty Level: 5

Exam and Assessment Format: Depends on lecturer. Lecturer for this semester was Dr Henry Chia. Lectures are not easy to understand, but you can feel he actually tries to make things easier to understand. 
Weekly lab sessions are graded, manageable. Total 3 Practical Assessments, coding with time limit, difficult. Final exams is in MCQ.

Comments on Lecturers and Tutors: Henry Chia really puts in a lot of effort to try and make things understandable. But as a budding programmer, understanding the essence of programming is really not easy. Steep learning curve ahead.

Comments about Module: Demanding module that is time consuming (If you want to get your A).

Recommended Textbook (if applicable): NIL

Workload/Preparation Time Required: A lot more than what they claim.

What do you like or dislike about this module?: Better appreciate programmers out there. (Like)
Mind wrecking morale destroying. (dislike)

review 4


Name: Daniel S

Engineering Major: Mechanical engineering

Module Code: CS1010E

Type of Module: Core

Year/Semester of taking module: 2015/16 sem 1

Difficulty Level: 3

Exam and Assessment Format: Closed book written exam, MCQ mid terms, progressive sit-in lab grading and practical assessments

Comments on Lecturers and Tutors: Dr Henry Chia is a very good lecturer. Try to take the module when he is teaching it.

Comments about Module: A module that can be easy to score if you are willing to take the time to study it. Good to take with engineering modules as it uses a different thinking skill and can be studied when you get bored.

Recommended Textbook (if applicable):

Workload/Preparation Time Required: 2hrs lecture, 2hrs lab, 2-4hrs of weekly practice

What do you like or dislike about this module?: Easy to practice and prepare for. A little time consuming compared to other modules where understanding is required

review 5


Name: Sheng Ren L

Engineering Major: Industrial and Systems Engineering

Module Code: CS1010E

Type of Module: Core

Year/Semester of taking module: 2016/17 SEM 2

Difficulty Level: 4

Exam and Assessment Format: 40%: Final exam (closed book): MCQ
35%: Practical assessment (closed book)
18%: In-class lab exercises
2%: Online quizzes
5%: Tutorial participation

After every 3 in-class labs there would be one PA, with PA1 5%, PA2 10%, PA3 20%. For the 3 labs, the best 2 of the three would be chosen to be graded. 

The labs were very structured and were presented in levels, where each level incrementally builds up your code to answer the question. I found this to be quite useful as a crutch for programming the more difficult algorithms that came later.

The finals format was MCQ (godsend) so we didnt ever need to write out code by hand. MCQ != easy though.

Tutorial participation for my group was to present the solution of one of the tutorial questions (would be assigned beforehand).

Comments on Lecturers and Tutors: Prof. Henry Chia was a good lecturer and started on the basics and demonstrated how to code step-by-step in front of the LT. I hear about how the Sem 2 lecturer's teaching style is very different so take this with a grain of salt if you're not taking this in Sem 1. Tutor was good and taught Vim tricks to speed things up. Overall well-taught module.

Comments about Module: Module is difficult, but it isn't impossible. I started with no background knowledge in programming, but the labs, tutorials and optional extra practices were invaluable in increasing my understanding of coding. You'll be learning C, one of the most basic (does not mean easy) programming languages which is a good starting point for other languages. However, you do end up wrestling with the idiotic syntax of C (how not closing a bracket or putting \n or ; can screw up your code).

Again, would highly recommend trying some of the additional codecrunch problems (if you have any). It is better to practice coding than to read it up.

Recommended Textbook (if applicable): Stack Overflow (a website) can answer common questions

Workload/Preparation Time Required: 2hrs lecture, 2hrs labs, 1hr tutorial. Probably the most time-intensive module for your first sem if you want to score well. Lots of practice needed. Unless you have prior programming experience it can be difficult to get an A.

What do you like or dislike about this module?: I liked the way it was taught for my Sem, and also the tutors (mine was an ISE grad doing his PhD) were helpful. Vim as a software is quite primitive (you can't use a mouse and using the scroll wheel to navigate your code will cause your code to get all trippy), which I guess is a matter of personal preference.

review 6