NTU Computer Engineering Year One Review
Y1S1
The first semester in Year 1 for Comp Eng students at NTU is not that stressed. It’s likely that you have much free time to do things you like.
CC0003
Name: Ethics & Civics in a Multicultural World
Grade: A
- For the panel discussion, or the “debate”, to be honest, I am not good at that. One suggestion is that you can consult the LCC to improve you content or presentation.
- For the class participation, the criteria may be different between different tutors. For my tutor, there is a function called “dicussion” on the NTULearn. So, if you don’t want to answer the questions in class, you can also answer the questions in the “discussion” section to earn the class part. I guess this is also the reason I get high at the end of this sem.
- For the poster, I also recommend you booking appointments at LCC.
- For the MCQ Test, since it’s open-book, find a good reference from your senior. I remember that someone’s material is very useful.
CC0005
Name: Healthy Living & Wellbeing
Grade: B+
- For the two parts’ presentation, I don’t have so much advice. Hope that your group member is okie. And again, LCC will be useful.
- For the Final Assignment, which is about a change you have achieved during this sem. I also don’t have much advice.
EG1001
Name: Engineers in Society
Grade: A-
- For the lecture, since it usually falls on Wednesday morning, I personally think you don’t need to go if you don’t want to. But this doesn’t mean the lecture slides are useless. Actually, most of the content will be included in the MCQ test.
- For the MCQ, which will mainly based on the lectures. I don’t have much advice. But notice that it’s closed-book and online test. Atb.
- For the tutorial:
- The presentation: My presentation is about Bitcoin and thanks to my previous research done in the related field, this topic is easy for me to present. But there is another very interesting topic, which is about famous engineers and among them has Dean Kamen, the founder of FRC. For advice on how to do your presentation, I would stronlg recommend you learn from other ppl in your class, try to see what comments your tutor gives to them and then you will get a rough idea about what structure and way of presenting your tutor likes.
- The class participation: If you know the topic for presentation in advance, you can prepare some questions in advance. That will be useful.
SC1013
Name: Physics for Computing Grade: P(ass)
- For the first four weeks, we take class from Prof Ho. I would say if you take PRC GaoKao, they are all about high school physics. But to be honest, Prof Ho is very good!
- For the second half, this course becomes useless.
SC1003
Name: Introduction to Computational Thinking & Programming
Grade: A+
- Python: As an introduction course, there is not so much difficulty. But if you want to understand more. I would recommend the book Python Crash Course.
- C: Also as an intruduction course, algorithms are seldom covered. But if you want to get a deeper understanding of C, I would stronly recommend you reading this book: C Programming: A Modern Approach. It is very good for you to understand some concepts like pointers in C.a
SC1005
Name: Digital Logic
Grade: A+
As a foundamental core course, this course is very important if you want to learn more about computer hardware, like computer architecture. Many books will take digital logic as the very first course before they start talking about the computer architecture. So, it’s very important.
- For this course, I strongly recommend you reading the textbook: Fundamentals of Digital Logic with Verilog Design. This book is written so well that it can be either served as a book for preview or get a deeper understanding about Digital Logic and Verilog.
- Another book I refer to is the Digital Fundamentals. I remember that this book is also quite good for you to understand the concepts deeply.
- For the first half of this course, the tutor has provided us a free online book, I think it is worth reading but I personally think the two books above are better.
MH1810
Name: Mathematics 1
Grade: A+
Math 1 is not difficult for those who take PRC GaoKao to get into NTU, so my advice here may not be suitable for others. But I still think the textbook is very very helpful for this course.
- I stronly recommend you reading the textbook: Calculus: Early Transcendentals.
Y1S2
The second semester’s workload is much heavier than the first sem because of the emergence of more difficult core courses, like DSA.
CC0001
Name: Inquiry & Communication in an Interdisciplinary World
Grade: A-
Personally speaking, I really like this course. It’s a bit like writing composition in my high school. But the difference is that in high school I use Chinese, but in uni I use English. The main idea remains almost same, about fresh arguments, criticial thinking etc. I would say this course will be very interesting and not hard if you have a very nice tutor. For my advice on this course:
- Try to use the unbelievable resourses provided by NTU, that’s LCC. If you have any difficulty, whatever they are, consult LCC. They will give you much wonderful advice.
CC0002
Name: Navigating the Digital World
Grade: B+
This is just a normal CC course, I would say your group members play a vital part.
- For the poster part, I would say hope that you get good team members.
- For the MCQ part, it’s easy but you still need to pay attention to if you want to get good marks. Many of the questions are commonsense, so don’t be to worried about the MCQ. Actually reviewing the MCQ only takes me about one day bruh.
MH1812
Name: Discrete Mathematics
Grade: A+
Discrete Mathematics itself should be the very very important and fundamental course for the algorithm in computer science. But in NTU, seems that our discrete math doesn’t serve that purpose well. Most of the course content are not much related to the algorithm, it’s more about math itself. So, I strongly recommend you take some other school’s discrete math if you want to improve your algorithm ability. Also, in NTU, the sem1 version and sem2 version are different and sem1 version seems to be harder.
- For the two CAs in sem2 version, it’s not hard. Just go through the slides is enough.
- For the final, it’s much harder. Some justification questions are not easy to think. But don’t worry, just try your best to do that and make sure you truly understand the concepts and its application.
- The book for reference the I recommend is the textbook: Discrete Mathematics and Its Applications. It’s a very classic book and is written very well. But you may select chapters to read since this sem’s workload is much heavier.
SC1004
Name: Linear Algebra
Grade: A+
Linear Algebra is often considered useful in Artificial Intelligence. It is very important too. I would say NTU CCDS’s Linear algebra is okie lah. But if you want to go deeper, I also strongly recommend you taking MIT Gilbert Strang’s Linear Algebra.
- For the two CAs, my version is easy. Take it as a piece of cake.
- For the final, it’s also not that hard. Don’t worry.
- For the book, I strongly recommend the textbook: Linear Algebra and its applications. This book is written very very well so it makes it much easier to understand the concepts. The working examples are also very useful.
SC1006
Name: Computer Organisation & Architecture
Grade: A+
This course is divided into two parts, the first half is about ARM Assembly and the second half is about computer architecture. Usually, the first half is considered harder than the second half. The course is built on the basis of your Digital Logic and is usally the part that comes after Digital Logic on most classic books. It can help you understand the behind working principle of computer program and some computer hardware.
- For the first half, usually it’s hard for you to find the relevant books to refer to. I would say listen carefully about what Prof taught on the recorded lecture. That’s very useful. If you want to get a deeper understanding about ARM assembly. I would recommend the two books/documents below for reference:
- ARM Compiler armasm User Guide
This document provided by ARM is very very useful. If you are confused about some instructions in ARM, you can refer to the document. To be honest, it was not until the day before the test that I found this document very useful.
- Modern Assembly Language Programming with the ARM Processor
This book is also not bad, but the coding style may be a little bit different from what you learn. The main idea remains the same however.
You are also strongly recommended to use the VISUAL simulator to get a deeper understanding of the ARM assembly.
- ARM Compiler armasm User Guide
- For the second half, you may find that there are not so much relation between each chapter. But don’t worry, the final won’t be that hard and the final only covers the second half. To be honest, the second half content is very very interesting if you have a good book to refer to. And I recommend the two books below:
- Essentials of Computer Organization and Architecture.
As the textbook for the second half, this book is written so well that you can understand the basic and fundamental principles of the computer architecture. Especially the one about memory and cache.
- Computer Organization and Embedded Systems.
This book can serve as a complement of the book above. It will discuss more at the logic gate level. For example, the principle of DRAM and SRAM etc.
- Essentials of Computer Organization and Architecture.
SC1007
Name: Data Structures & Algorithms
Grade: B+
As one of the most important and hardest core courses in NTU CCDS, this course needs your strong self-learning ability (especially after the course coordinator has changed). To be honest, I am really not good at this course and don’t think I got some useful advice. I would say as a very important course in Computer Science, it is far from enough if you only learn in NTU, so I strongly recommend you take some other school’s DSA. Some of the resources I find useful are below:
- The similar course notes from Emory CS. These materials are very useful for understanding how some algorithms work.
- The Hello Algorithm written in Chinese but available in English is also worth a look. It is very straigh forward.
SC1015
Name: Introduction to Data Science & Artificial Intelligence
Grade: A+
The course serves as an introduction to DSAI, I would say the quality is quite okay. If you take this course seriously, you will definitely learn a lot. And for this course, I think the best resource is GitHub.