PS0001 INTRODUCTION TO COMPUTATIONAL THINKING (3.0 AU)

Computational thinking (CT) is a problem solving process with the aid of computer; i.e. formulating a problem and expressing its solution in such a way that a computer can effectively carry it out. It includes a number of characteristics, such as breaking a problem into small and repetitive ordered steps, logically ordering and analyzing data and creating solutions that can be effectively implemented as algorithms running on computer. As such, computational thinking is essential not only to the Computer Science discipline, it can also be used to support problem solving across all disciplines, including math, science, engineering, business, finance and humanities.
The aim of this course is hence to take you from having no prior experience of thinking in a computational manner to a point where you can derive simple algorithms and code the programs to solve some basic problems in mathematics and science in general. In addition, the course will include topics to appreciate the internal operations of a processor, and raise awareness of the socio-ethical issues arising from the pervasiveness of computing technology.

Easiness of Content

40%

Manageability of Workload

80%

Quality of Teaching

80%

By 01 reviewer(s)

Sort by

  • Avatar

    NM Admin

    Taken in: AY 18/19 Sem 1
    Grade: A+

    CA1 (25%): 11/15 [MCQ], 9/10 [Hands-on]
    CA2 (25%): 11/15 [MCQ], 8.5/10 [Hands-on]
    LAMS Quiz (20%): 2400/2400
    Project (30%): 10/10

    This is a new course introduced in our year. It is essentially learning the basics of the Python Language and the 4 steps of computational thinking (you can google what are the 4). So if you have some prior programming knowledge, it will be good. But, if you are like me with zero knowledge, it is fine. The course outline caters to people with zero knowledge. Every week we are to watch an online LAMS video and a graded quiz follows. You are allowed to attempt the quiz again if you did not score full marks so you get the free 20%. There are tutorial and lab sessions every week (3hrs in total) in a computer lab. The tutorial questions will be based on the LAMS video that week, so without watching the video, you would most probably be unable to solve the questions and waste your time at tutorials and lab. Some concepts are really easy to grasp but some require more time in trying to understand it. Tutorial and lab sessions are there for you to consult the TAs if you do not understand anything, but you need to ask them. Sitting there being quiet, no one would know what you need. Also, they would not check if you are doing the tutorial/lab questions or not, so discipline is important to do well in this module. Attendance is not taken.

    The format for CA1 and CA2 are the same. One is held before recess week and the other is held in the last teaching week. It comprises of a quiz (15 MCQs) and a hands-on quiz. As this is the first year this course is introduced, we do not have any PYPs and had no idea what kind of questions will be tested so it was really difficult, most people hated this module but it is our CORE ._. We did not know if they will test on definitions so for CA1 we actually memorised definitions, which was quite a lot. But, no definition questions were tested so I did not memorise any for CA2. The MCQs are actually manageable if you understand every single tutorial and lecture and do not be careless. The hands-on is slightly more difficult as it requires you to write a code that would give a certain output. Because it is open-ended, it is very easy to make mistakes. But, perhaps this is the first year of implementation, it was not that difficult if you know your stuff that is.

    Now for the “fun” part, the project. You can choose to do it alone, in pairs, or in threes. I did mine in threes. My groupmates are my OG mates and we have the same timetable so it was easier to find free time together to do. We were given about 6 weeks for this project. It was to code a Connect4 game with many requirements. My group did nothing in the 1st week as we had no idea what to do. Then we started panicking earlier than other groups and the TAs cannot really answer our questions so we booked a consultation with the professor who created the project during the 4th or 5th week. That consultation highlighted some of the misunderstandings we had about the project and knew how to move on from there. But, having only 1-2 weeks before submission left us really stressed out. Thankfully for my group, we managed to finish fulfilling every requirement and submitted on time. There were groups who just gave up certain more difficult requirements towards the end and just submitted. There were also groups who went online and found someone to do it for them and paid them. I do not suggest you do that because the professor has his way of checking if the code was done by you and you should not copy other groups’ code and change certain parts because he will find out too, some groups got zero because of that. Your groupmates are really important in this, it’s best if there is someone who has prior programming knowledge in your group and that there are no freeloaders as the project really requires all hands on deck. Meeting up face to face and doing the project is more effective. You can download Spyder (Anaconda) on your computer to work on the code without using the school computers.

    Something extra: During the course of the project, our group got really angry at the difficulty of the project, it is easily 100 times more difficult than the quizzes. We actually talked about coming up with a petition to abolish the module entirely for chemistry students HAHAH. Also, during our consultation with the prof, he said the point of the project is to make us struggle, only then we will learn better. I agree with him but I still find it too difficult.

    This review was reposted with the kind permission of Awesome NTU CBC Student. Originally published at https://awesomentucbcstudent.blogspot.com/2018/12/ay1819-y1s1-review.html

    July 17, 2021

Help us leave a review about this

Your email address will not be published.

Easiness of Content
Manageability of Workload
Quality of Teaching