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. |
|
For private communication, you have three choices:
|
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.
- Canvas Guide on How do I set a time zone in my user account as a student?
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!
C++ reference
A good C++ reference is a necessity. Here are some suggestions:
- A good reference of the language and standard library is available at http://en.cppreference.com/ Links to an external site..
- A more tutorial-based approach is available at http://www.learncpp.com/ Links to an external site.. This spends more time teaching, rather than acting solely as a reference.
- Scott Meyers' "Effective Modern C++" is another excellent book
- Ask for suggestions on Piazza!
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.