CPSC 210

Software Construction

About Me

We are a team of 2 instructors (Firas, Paul), one course coordinator (Taryn) and 26 amazing TAs! 👨‍💻🧑‍🏫👨🏻‍🏫

About Me

About Me

Course Structure

  • Lectures: prepare and watch videos before each lecture!
  • Lecture Tickets (3%): online questionnaire before each class
  • Labs (7%): 9 lab assignments (~1 lab per week)
  • Project (15%): personal project with multiple deliverables
  • Exams: two in-term exams (15% and 20%) and one final exam (40%)

Software Engineering is awesome!

  • It is for everyone...
  • It is creative and challenging...
  • It is about technology and people...
  • It has far-reaching impact…
  • It never gets boring...
  • The focus of this course: object-oriented design (OOD)
  • We will use the language Java to illustrate OOD
  • The teaching approach will be immersive:
    • Learn Java in a similar way as a developer
  • We will dive into existing systems and ask ourselves:
    • What's similar to what I already know?
    • What's different to what I already know?
  • Leverage what we already know = best approach to learning a new language

About this Course

About this Course

This course will give you a glimpse into the world of software development. The course split into four parts, each class meeting will be on a topic from one of these parts
 

Basics: Get up to speed with Java, the editor, data structures, etc.

Abstraction: Reduce code complexity and avoid duplication.

Construction: Tools and techniques to build resilient programs.

Design: Software design principles, maintainability and readability

Schedule & Due Dates

Let's quickly check the course page...

Ed Discussion

  • Please use the discussion forum for all kinds of questions
    • Except personal administrative questions that should go to cpsc210-admin@cs.ubc.ca
  • Please have a look at the initial posts titled "Welcome!" and "Posting Etiquette" 
  • Related industrial knowledge:
    https://stackoverflow.com/help/how-to-ask

🧑‍💻 I accidentally did X. Now it doesn't work anymore. Please help!

Ed Discussion

Let's do a quick demo and make sure everyone is on Ed Discussion!

edX

All learning material on edX

PrairieLearn

Lecture Tickets, Exam Practice, Labs 3-9

Github

Hosting your source code repositories for Lab 1+2 and the project

Course Material

Interactive Lectures

  • Hands-on "lecture-labs" as part of each lecture
  • Engage with these exercises - this will help you a lot!
  • Please prepare for lectures by reviewing videos!
  • An opportunity to get creative
  • Design an application that is of interest to you
    • And maybe for future employers!
    • Some requirements and details will follow
  • It is entirely your own work!

Term Project

Q&A

Are you ready...?

🚀

🚀

🚀

CPSC210 - FM Introduction (23w2)

By firas_moosvi

CPSC210 - FM Introduction (23w2)

  • 256