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.
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 |
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 |
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 |
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 |
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 |
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.