CPSC 310

Introduction to Software Engineering

Course Description

Specification, design, validation, evolution and construction of modern software systems, within the context of socially and professionally relevant domains such as ethics, intellectual property, and information security.

Average difficulty
3.6 / 5
Average quality
3.7 / 5
Scroll to see reviews

Add a Review for this course

Please ensure that your review is respectful and constructive. Read about UBC's aim for creating a safe and inclusive learning environment here. These reviews may take several days to process and will be scanned for inappropriate or malicious content.

Please enter a name/username.
Enter a valid url including the 'https://' prefix. (https://www.example.com)
Please enter your course review. [minimum length: 50 characters]
3
3

Good course that builds on top of CPSC 210 and teaches Object Oriented Programming. The project for this course is pretty complex, and as you iterate over the different phases, it gets pretty big; make sure to start way before the deadline! The TAs were super helpful, and I highly recommend going to office hours for help. Ried Holmes and Ivan were great instructors.
Difficulty:3.5
Quality:4
shubh, May 7 2023, course taken 2022W1
Course was very much split into lecture content and project content. Lecture content was focused on Agile concepts and general industry terms and ideas, and was not difficult. Project had a quite intensive workload, but the end result of a full stack project is quite good on a resume. Personally found that the project coding was not extremely difficult, just time-consuming, and also required learning Promises.
Difficulty:4
Quality:4.5
Kristen F, Feb 15 2023, course taken 2020W1

The course consists of a full stack project (no DB) where the hardest part of the project is actually more algorithm related ish (building a query engine) than it is software construction in my opinion. The project itself ended up being very useless (especially if you have done one decent full stack personal project or have coop experience) since there is no code quality enforcement. This means you are free to write garbage code, as long as it works. I would advice to start early on the project though!

The conceptual portion taught in lecture is useful. However the project, nor any other part of the course, really forces you to try the design patterns that you have learned. :)

Difficulty:3
Quality:2
Andy Liang, Feb 5 2023, course taken 2022W1
Very length and time consuming project. Teaches you a great deal about software construction and various design concepts for building maintainable systems. Make sure to start working on the project deadlines early! Interesting content and highly applicable in real life.
Difficulty:3.5
Quality:5
anonymous, Feb 3 2023, course taken 2022W1
The lecture content is not that hard. The main project though is very tedious and if you do not know TypeScript or Promises then there is a very steep learning curve. Try to give a lot of time to the project and start early!
Difficulty:4
Quality:3
310isgood, Nov 1 2022, course taken 2022W1
Easy but annoying because the class material is different from the project. The project is also super terrible (by design) so it’s a pretty big waste of time.
Positivelectron0, May 14 2021

Historical grade information

Grades information from UBC Grades Database