COMP1511 - Programming Fundamentals
Difficulty: 3/10 · Time Commitment: 3/10 · Enjoyability: 9/10 · Mark: 90
Summary
I did COMP1511 (Programming Fundamentals) in Term 1 2021. The subject is a great introduction to programming for people who haven’t done any coding before. It offers a lot of resources for every concept taught and is well structured.
Positives
- Well-structured
- Engaging lectures
- Good introduction to computer science
Negatives
- Reflections were poorly planned
- Uneven pacing of course content
In-depth
Structure
When I did it, COMP1511 had a few assignments, weekly labs and reflections, and a final exam. The main topics were the basics of programming in C. Topics like memory allocation and ADTs were touched on and there were questions about them presented in tutorials, however, the main elements of the course were arrays and loops and linked lists.
The weekly labs and Assignment 1 were very easy because they dealt with a lot of basic coding concepts and any past experience is extremely useful to completing those quickly and scoring well. I think the best part of the course was the reinforcement of good coding habits and effective styling. Because I had done some C programming before uni, I knew most of the basics. Nonetheless, the labs were really good in getting me to think of certain topics in ways that I hadn’t thought of before.
Lectures and Tutorials
COMP1511 has really engaging tutorials with a lot of examples and interaction between students and the lecturer even when done completely online. I enjoyed tutorials because they were a good way to meet new people and it was helpful to have a tutor at labs for more difficult questions. For that reason, I would definitely recommend attending in-person labs.
Reflections
Reflections were one of the most tedious parts of the course. The concept was great and it was an easy way to earn marks for the course, however, the idea of long reflections following a strict template structure made it seem more like an assessment rather than a well-thought out moment of insight.
I completely agree that reflections are an integral part of a course like COMP1511, especially when many students are learning how to code for the first time. However, there are many elements that should be changed before reimplementing this into the course:
-
Less structure - Rather than having a billion different questions for students to answer, I think it would be much more effective if each reflection had a list of optional questions to help students provoke insight into their progress.
-
Frequency of reflections - I think there should be fewer reflections with more time dedicated to each one. The most beneficial part of reflections was being able to discuss them with the tutors at labs. This actually helped me gauge my progress in the course and was enjoyable. However, these were often brief and more oriented towards marks rather than the reflection itself. Having 3 reflections throughout the term would be so much more beneficial in this regard.
Advice
- Make sure to start assignments early.
- Stay up-to-date with content. The course has a really uneven pacing and while the first few weeks aren’t content heavy, once pointers and linked lists are introduced, there is so much more to do and much less time to understand content. It’s important not to be caught off-guard by the really slow pacing in the first few weeks because this does accelerate later on in the course.
- Ask lots of questions. Tutors are really friendly so asking lots of questions, whether they are about content in the course or general advice about conputer science, is really helpful.
- Enjoy the content. COMP1511 is an introduction to programming for most people in the course. Computer science is so interesting and broad so it’s really important to have fun and keep exploring outside the course.
Comments