I thought I had it rough last semester, but this semester I was daydreaming about those 'hard' times. I really hope I don't have to say that again later...
I also feel like Winter semester is tougher in general because there was no long break and the lack of sun hits hard.
MATH 267 (Calculus II), Optional
I'm so glad I chose this course as an option because it had a much smaller workload than the others. The content isn't much more difficult than the previous calculus course and there is a lot of flexibility in the assessments (all online, some dropped, multiple attempts). It's taught well and is also a prerequisite for some more interesting upper-level CPSC courses. If you want to do really well you should still do some practice and attend class because a lot of it is about understanding and not just performing some predefined steps. I'd rate it an 8/10.
SENG 300 (Intro to Software Engineering), Required
Most of the actual content taught in this course is useful and should be learned by any future software developer. However, the delivery leaves much to be desired; all the lectures are super long videos that could be cut down to be more effective. And somehow still, we aren't given enough information to effectively do the small group assessments in my opinion. The worst part is the 20-person group programming project that is worth the bulk of our grade. Even real software engineers don't work well in groups of 20 people, not to mention students. Pretty much the top 2-5 people who are most knowledgeable and want better grades end up planning, managing, and programming the entire project. The project itself is very time-consuming (many hands do NOT make light work) and not done in the best way. It just feels like this course was very disconnected from reality and doesn't actually assess our learning. I would rate it a 4/10.
CPSC 355 (Computing Machinery), Required
This course was pretty solid, I learned a lot about assembly programming and the assignments were quite fun and interesting to do. I think that it also helps a lot with improving your logical thinking and really understanding programming. The only small criticism I would give is that I do feel like some questions got too specific on exams, but it's really not that bad and overall it's a great course. I would rate it a 9/10.
CPSC 418 (Intro to Cryptography), Optional
The first lecture of this course made me feel like "Wow, awesome, I'm going to love this". In fact, the delivery of the course material is very good. The content became hard fast, and after about a week or two I started thinking "What is going on? This is a lot of math!". When we got the first assignment, I was shocked at the first (written) part. I thought that it seemed so hard and that I looked forward to the coding section of the assignment. After finishing the written section, I got started on the coding section, and WOW was I wrong. The written section is actually the easy part and the coding section probably takes at least 20 hours to finish (and is worth 3% of your grade). It's so difficult partially because no test cases are given except an autograder which isn't very helpful because a lot of things are hashed or randomized. Also, each one is harder than the last. I would give this course 8/10 for the content (learned a lot) and 2/10 for the coding questions.
CPSC 599.27 (Natural Language Processing), Optional
I learned a lot in this course and the programming notebooks provided are very helpful and cool. We learned many high-level and easier concepts but also some more difficult ones in detail, it was a pretty good mix, and overall the courseload wasn't very high. You do have to make your own NLP project and write some papers about it but it's actually not as hard as it sounds and you end up with something great to put on your resume as a bonus. I'd rate this course a 9.5/10, definitely one of the most useful courses I've taken so far!
I hope this post helped or was interesting, feel free to ask me any further questions about my experience in the comments :)
Until next time,
Ana
20-person group programming project? I wouldn't like that either. Would anyone?
ReplyDelete