COMP1531

Link to University Handbook
Check out what other students think about the course

Overall thoughts

COMP1531 was a group work based course that ended in a major project. I completed this subject in Trimester 3 2023 alongside COMP3121 and COMP3311.

I thought the course itself was really amazing. The content not only covered programming concepts but also practical concepts such as teamwork and the Software Development Life Cycle. The staff were really great as well and provided a lot of support and guidance to everyone. Definitely felt like one of the most useful courses that I have done.

I think the biggest positive and the biggest negative is that this subject is almost entirely group work. On one hand, you get the opportunity to discuss ideas and code with other people. My previous subjects had warned against working with others for plagiarism reasons, and so I really enjoyed being able to work collaboratively. This collaboration was also great as it gave me more of a feeling as to what a programming job would be like. On the other hand, because of the nature of group work, there can also be a lot of struggle in this subject. Most notably, students can end up working two or three times more on the subject than they should be because they may not end up in a great group. This can be very stressful, especially if COMP1531 is taken in a full time trimester with other difficult subjects.

What I took away

COMP1531 has been one of the most practical subjects that I have completed in my Computer Science journey so far! Besides learning Javascript, there are so many useful concepts taught througout this course including: Working with Git (both individually and as a team), understanding correctness and testing, gaining experience in group work, backend development of HTTP server using an API and learning about the Software Development Life Cycle.

While my programming since then has focused on other topics (Databases, algorithms, operating systems, etc.), I feel I have gained a lot from this subject that I will be able to use practically in a Computer Science Job.

Assessments

For this course there were 3 components: a weekly laboratory task, a major project and a final individual project.

I found the weekly laboratory tasks to be incredibly useful. While some weeks were definitely more challengin than others, I liked how the tasks were predominantly used to consolidate knowledge necessary for an upcoming stage in the major project. The only comment against these weekly tasks is that some required a large amount of work and yet they were only worth 10% of the overall mark for the subject.

The major project involved creating the backend for a full stack application based on Kahoot. The project was split into several iterations, which increased in complexity alongside the course content. I thought that this project was really well thought out. Each iteration was challenging in a good way, and the way the project built upon previous iterations gave more meaning to work done earlier on. Overall I really enjoyed completing this project.

The individual project essentially acted as a take home exam where we were given 8 hours to complete a stub project and answer some short answer questions. In my trimester, this assessment ended up being significantly more complex than what we had encountered throughout the trimester, and so was very challenging for a lot of the cohort. However, besides the difficulty, I really enjoyed completing this assessment and thought that the format of the assessment was a great way to demonstrate the knowledge learnt during the course.