Posted on

NUS Computing Review: CS1010S Programming Methodology (S)

Difficulty: It could be hard if you do not have some prior knowledge on how programming works.

Workload/Grade weightage: It is in the other comments.

Opinion/Thoughts: This year is the first year that this mod uses python. Hence, this opinion might not be truly accurate. As a person with some really basic knowledge of coding, the lecture is quite understandable. However, I felt that the lecture is not in depth enough on some of the functions which they briefly show and test you on it. Furthermore,the lecture seems to be teaching people who had some understanding of python but at the same time tries to lower down the standard so that people can understand even if they just started coding.

Tutorial: The tutorial is a good place to revise, learn some additional new information about that topic and ask your tutor about any questions you may have. However, due to the time constrain in the tutorial, you may want to test out unfamiliar functions after tutorial to understand properly.

Assignment: There are 7 assignments. The first few assignments are quite easy and the rest is quite interesting. For example, assignment 5 has a theme for finding treasure by decoding a map. There are even additional challenges that are not graded to spark interest in those who want to learn more about the coding.

Exam: I have mixed feelings about the examination for this course mainly due to the fact for Mid Terms, PE2. In Practical Examination(PE), everyone is required to install Examplify to block out your Internet however, you are allowed to download manuals, notes, and course material and read them during the exam. Everyone can use their own program to code for python but, it is recommended that you use IDLE.

PE1: PE1 has 3 question and was quite easy in general. The first two question for PE1 is easier than the assignment itself but the third question requires some thinking if you have not seen this type of question before.

Mid Terms: Midterm exam was an MCQ test of 25 questions. Due to the lack of practice paper with the same format, I really flunk this paper and got almost the worst score in the cohort when they showed the statistic.( I was only 1 mark higher). The questions is more of debugging and code tracing than actual problem solving. If I am not wrong, this paper killed many people in cohort. The worst part was when they announced that all the result is not bell curved but a sigh of relief when they say they going to reduce the max mark scored.

PE2: PE2 has a 3 question and similar question type than PE1 just like other PE for CS1010S which just follows a pattern. (Maybe next sem will have the same pattern?) The first question is about Iteration/Recursion, followed up by a normal question that was from assignment and then a REALLY challenging question. In general, this would have been a normal examination if and only if there is no problem with Examplify at that time. (I am going to point out that I never verified if anyone else had this problem that I faced) Examplify (windows) at that time had a bug where when you launch IDLE while using Examplify the sub-processor for IDLE cannot connect causing the IDLE to sent out an error message. Hence, to bypass this we are taught on how to suppress its sub-processor so that we can still code. The problem is if you run to an infinite loop/ if you tried to change the code to relaunch, it doesn’t work. Therefore, you need to copy your code, open CMD, type python –m idlelib –n, open a new file, paste your original code again every time you run to this problem. (Hopefully they solve this issue already)

Final Examination: The final exam was a MCQ test of 20 questions and four open-ended questions. The last question is also part of an assignment question.

Overall, my advise for this mod is to keep practicing daily and if possible learn some coding beforehand. You can try python tutor to either troubleshoot your own code/ ask people to help figure out what is the problem with your code or help other people so that you can improve in coding yourself.

Head over to our Shop for more module content!