💻

Overview of Computer Science Degree Courses

Sep 22, 2024

Computer Science Degree Courses Overview

Introduction

  • Discussed courses taken throughout a computer science degree at UBC.
  • Importance of selecting courses, especially electives that fit interests and requirements.
  • Utilized resources like Reddit and Google for course recommendations.

First Year Courses

CPSC 110

  • Essential computer science course.
  • Fun professor: Gregor (may vary by year).
  • Key concepts: trust in natural recursion, binomial distribution in understanding.
  • Language: Dr. Racket, limited online documentation.
  • Tips: Attend office hours, practice extensively.

Math 100

  • Calculus course options: bio-based, business-based (easier), physics.
  • Personal struggle with course difficulty.
  • Advice: Consider business calculus for ease.

CPSC 121

  • Covers Boolean algebra, logic circuits, proof techniques.
  • Time-consuming assignments, difficult exams.
  • Tips: Start assignments early, utilize office hours.

Math 101

  • Continuation of calculus focusing on integration.
  • Preemptive tutoring recommended.
  • Business calculus could be a better option.

CPSC 210

  • Second-year software construction, taken in the first year.
  • Easy computer science class, project in Java.
  • Key for co-op applications.

First-Year Electives

  • Chem 121 & 123: AP Chemistry background, enjoyed 121, less so 123.
  • Science 113: English for science students, interesting bi-weekly seminars.

Second Year Courses

CPSC 123

  • Focus: Operating systems and I/O architectures.
  • Use of C language, difficult course, disliked assembly.
  • Recommendation: More office hours, additional resources like YouTube.

CPSC 221

  • Data structures and algorithms, vital for interviews.
  • Importance of understanding for future coding challenges.

Math 200

  • Extremely challenging final, required course.
  • Advice: Ask questions, use Wolfram Alpha.

Stats 251

  • Basic statistics, similar to AP Stats.
  • Overall fair assessments.

CPSC 310

  • Software development course, crucial for career.
  • Intensive work, partner collaboration important.

Math 221

  • Matrix algebra, linear algebra, challenged personally.
  • Necessary for computer graphics interest.

Second-Year Electives

  • EOSC 116: Mesozoic period focus, fun professor, easy course with cheat sheets.
  • Philosophy 220: Symbolic logic, easy if familiar with CPSC 121 concepts.

Summer Course

  • BIO 112: Chosen for science breadth, no labs, engaging professor.

Third Year Courses

CPSC 320

  • Advanced data structures and algorithms, challenging assignments.
  • Focus on understanding assignments for exam prep.

CPSC 313

  • Covers pipelining, caching, virtual memory, disks.
  • Weekly assignments and quizzes, open book.

Computer Science Electives

  • CPSC 304: Relational databases, useful skills, manageable project.
  • CPSC 317: Internet computing, interesting but disorganized.
  • CPSC 314: Computer graphics, fun, supportive professor.
  • CPSC 404: Advanced relational databases, easier 400 level course.

Non-CS Electives

  • Forestry 303: Popular easy elective, great GPA booster.
  • FNH 330: Wine Sciences, fun course with wine labs.

Fourth-Year Course Plans

  • CPSC 410: Advanced software engineering, app development.
  • CPSC 330: Applied machine learning.
  • CPSC 430: Computers and society.
  • CPSC 416: Distributed systems.
  • CPSC 344: Human-Computer Interaction.
  • Electives: Econ 311, Commerce 457, APBI/Animals and Society, FNH 355.

Conclusion

  • Excitement about fourth-year courses and the potential for a fun final year.
  • Encouragement for others to secure desired courses and share experiences.