Data structures was my solace among all the other hectic subjects of semester 2. I loved C programming since before university and the course was also taught in a very hands-on way with more emphasis on labs than the lectures and theory. Another plus point for this course is the fact that it dealt with coding(and I love coding).
The start of the course was like high school revision where they taught things like basic C syntax, conditional constructs, loops, function defining and recursion. They had weekly assignments and test submissions which I always did in advance because I enjoyed it so much(and as a way to put off doing other subjects, but no one needs to know that). i was quite familiar with the topics in the first half which added to my enjoyment of the course!
The second half challenged my learning capacity as they introduced more complex data structures such as linked lists, stacks and queues as well as an introduction to binary trees and binary search trees(BST) in C. But these topics interested me so I was able to pick them up fast. Also having a base introduction from ICT in Python also helped understand some of the intuition behind the slightly more challenging BT/BST better.
The learning experience in this course was definitely more in the second half, supported by the first half which served as a good refresher. Nothing much happened apart from that but this course is close to my heart for two reasons, first because it was my first so-called "easy-A" in NTU; and the second, more important reason, is that this course made me feel a little less scared of university in general. I was still sort of adjusting to university after my first December break and dealing with homesickness, but doing coding made me forget all of that and focus on the joy of making a program work!