Course Guide

Communication Guidelines

Communication Method

How and When to Use It

Announcements

All important announcements will be made via Piazza Links to an external site.. You must read at least the "pinned posts" at the top of your feed, and check for new posts or updates at least once each weekday. All deadlines will be kept current on Canvas, and any changes will be broadly announced.

Email

For private communication, you have three choices:

  • Course material questions: post privately on Piazza.
  • Logistics and administration questions (grades, absences, etc.): Mail CPSC 221 course coordinator Kate at cpsc221-admin@cs.ubc.ca. Include in your message: your full name, student #, CWL (your ID, never your password!), and what course components you are writing about. Note: The admin e-mail address is checked regularly on weekdays. Allow two business days for a reply!
  • Questions specific to your instructor that you cannot post on Piazza: mail your instructor directly. (Put CPSC221 on the subject line and include your full name and CWL (ID, never the password!) in your message.) If you ask logistics/admin questions, expect your instructor to send you to the admin e-mail address!

Course Q & A Forum

Use Piazza to ask logistical questions about the course or report any problems you encounter. Your classmates may have the same question, so please try to ask publicly! Students are encouraged to respond to questions and help each other.

 

Health and Safety

All of us are people first and students/staff second (or maybe nth). Learning and teaching is challenging if you’re not healthy, safe, and secure.

If you face any challenges in CPSC 221 to your well-being, please bring them up with us, likely to cpsc221-admin@cs.ubc.ca! We will try to support you. (For accommodations, the minimum we guarantee is to note your concern for review at end-of-term as we finalize course grades. More generally, we’ll try to be reasonable and flexible.) Also see UBC Senate’s Policies and Resources to Support Student Success.

If you are or believe you may be ill, do not attend any in-person course events. Use an online alternative, ask on Piazza, and ask a buddy in the course to help you catch up with content you missed. If you think you may miss a scheduled assessment, contact cpsc221-admin@cs.ubc.ca immediately with an explanation of the situation and what assessment(s) are impacted.

In 2021W2, our classes will be online until at least Jan 24, but some online sessions may continue longer depending on university and Computer Science department policy. (Steve, the section 201 and 202 instructor, is immune-suppressed; if that impacts our return to in-person instruction, we'll announce details on Piazza.)

 

Time Zone in Canvas

The course is set to {Pacific Time (PT)} time zone, where the University of British Columbia Vancouver Campus is located. All due dates will be set to {PT}. Canvas may not automatically change time zones for you. If you want Canvas to display dates in your local time zone, you can go into your settings and adjust to your personal local time zone. 

Grading Scheme

Assessment Total weight for assessment
Programming Assignments
(3 expected)
12%
Homeworks
(3 expected)
12%
Labs
(10 expected, lowest dropped)
9%
Examlets
(10 expected, lowest dropped)
45%
Final Exam 22%

Within each row, each assessment is weighted equally. You must pass the weighted average of the examlets and final in order to pass the course. (The final exam is 22/67ths of the weighted average and the examlet average is 45/67ths of the weighted average.) 

Text Books

It is fine if you’d like to use earlier versions of these texts, or even textbooks from different authors. We’ll try to be clear about the topics we’re covering so you can find them in any resource!

Discrete Mathematics with Applications (4th Ed)     Data Abstraction & Problem Solving with C++: Walls and Mirror

C++ reference

A good C++ reference is a necessity. Here are some suggestions:

You are welcome to use any alternative references you prefer.

 

Collaboration Policy

Please see the Academic Integrity page as well (particularly for Piazza posting rules). Homework and programming assignments allow you to work alone or with at most one partner. Please note, each student must hand in her/his own copy of the assignment, even if it’s identical to their partner’s.

A collaborative environment is good for learning, and especially if you and your friends are new to the material, helping each other when you get stuck can benefit all of you. However, a word of warning: The point of every assignment is to learn new things and develop skills. Therefore, you gain nothing if all you do is copy your friend’s work and turn that in, or if you and your friend each do a different half of the assignment. Cheating for higher grades on the homework problems will result in not learning the skills you need. Your lack of practice with the ideas we are teaching will mean you will likely fail the examlets and exam, which have much greater effect on your final grade.

A better way to collaborate would be to do as much on your own as you can, but ask yourself regularly if you're stuck. When you're stuck, work with your partner to see if the two of you can get each other just far enough to get "un-stuck", then go back to working on your own. When you're both done, trade solutions and (gently, kindly, supportively, and humanely!) critique each other's solutions. Ask questions and find ways to make them both better. Then create the best of both your work to submit. When the solution comes out, critique it as well! Ask questions about your critiques in help sessions and on Piazza.

Student Guides

Support Resources