CPSC 210
Software Construction
Welcome!!
🏗️
🏗️
Thanks to many others for the work this course is based on:
Elisa Baniassad, Paul Carter, Felix Grund,
Reid Holmes, Norm Hutchinson, Gail Murphy, Steve Wolfman, ... and many more!
Who am I?
Meghan
Previously taught 103, 107, 110, 121, 211 (210's long-ago predecessor!), 310, 417, ...
- Associate Professor of Teaching at UBC
(faculty since 2007) - Three years of industrial software development experience
We are a team of 2 instructors (me and Steve), one course coordinator (Riley) and 25+ amazing TAs!
Zoom
We are using Zoom for many Help Sessions (= Office Hours)
and a limited remote lecture experience
And we may not get a chance to check Zoom chat often. 💬
All lecture sessions will be streamed live on Zoom 💦
But the in-person session is our
priority, and quality may be low
I Designing Software
- It is creative and challenging...
- It is about tech and people...
- It has far-reaching impact…
- It is for everyone...
- It is both deep and practical...
Course Structure
- Lectures: Prep and watch videos before each lecture!
- Lecture Tickets (5%): online questionnaire before each class
- Labs (10%): 9 lab assignments (~1 lab per week)
- Project (20%): personal project with multiple deliverables
- Exams: two in-term exams (30%) and one final exam (35%)
Piazza
- 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 our initial Piazza post and the "Appropriate Study Habits" section on the course page
- Related industrial knowledge:
https://stackoverflow.com/help/how-to-ask
🧑💻 I accidentally did X. Now it doesn't work anymore. Please help!
edX
- All learning material on edX
Github
- Hosting your lab/project/lecture code repositories
PrairieLearn
- Lecture Tickets and Exams
Schedule & Due Dates
Let's quickly check the course page...
Interactive Lectures
- Hands-on "lecture labs" as part of each lecture
- Engage with these exercises - this will help you a lot!
- Prepare for lectures by reviewing videos!
-
An opportunity to get creative and 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
- Weekly time to:
- complete new lab tasks
- discuss (for a grade!) lab/project submissions with your TA
- Optional this week: Drop in to any lab section or complete Lab 1 on your own time. See the course page for the due date
- Attendance at your registered lab section is required, starting next week.
Labs
- The focus of this course: object-oriented design (OOD)
- We will use the language Java to illustrate OOD
- The teaching approach will be immersive: you will learn Java in a similar way as a developer would learn it
-
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?
- Leveraging what we already know is the best approach to learning a new language
OO Design & Java
Q&A
Let's get started!!
CPSC210 - Introduction
By meghanallen
CPSC210 - Introduction
- 79