Welcome to CS 247!
Welcome to the CS247 course homepage. Here you can find the latest announcements, as well as general information about the course. The current offering of CS247 is Spring 2020.
This is the remote delivery version of CS 247. Please read the information below as well as the course outline to help you get prepared.
If you have any question or concerns please contact the ISC (see the personnel page). Have a great summer everyone!
Access our Piazza here: CS 247 Piazza
What is Piazza?
Piazza is the discussion forum for CS 247
Being a student, you can
Of course, there are things to be kept in mind while using Piazza. Here are just a few rules that you perhaps already know:
Above all, remember that the whole class, including the professor and the ISAs, are potential readers to the discussion board. Use your common sense to determine what constitutes acceptable content.
If you have any grievances about an assignment's marking, please email email@example.com with your quest ID, the assignment, and the concern you have about the grading. Note that remarking for the final is handled by the instructor. If you would like an exam remarked, please use the form Remark Request From.
For your convenience, we provide a facility to check your
If you have questions about an assignment whose marking is in progress, please contact the ISA. See below for information on viewing the marks breakdown for an assignment.
CS 247 Mark Viewing Notes
On the right side is your mark breakdown:
On the left is the code for one of your files.
If there are any errors in the marking of your assignment, please email firstname.lastname@example.org to let us know what the problem is.Remarking Policy
Email the ISA, clearly stating the questions you want to be remarked. Include any supporting evidence for your case. Requests that include code changes to fix failing test cases will be ignored. You have two weeks after handback to deliver the request to the ISA. All requests will be processed after the deadline to ensure fairness and consistency in marking.
Notes: We will examine your entire assignment/exam when remarking it. It is possible that you will receive a lower mark than your current mark.
For questions related to course content, contact an instructor or an ISA. The best place to ask questions is on Piazza or email, but you can also send email or visit during office hours. For questions about marking, contact the Assistants first, who will consult with the Instructor if necessary.
Calendar Description - Official course description from academic calendar.
Handbook Description - Longer course description from Computer Science Undergraduate Handbook.
Academic Integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect, and responsibility.
Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70 - Student Petitions and Grievances, Section 4, http://www.adm.uwaterloo.ca/infosec/Policies/policy70.htm
Discipline: A student is expected to know what constitutes academic integrity, to avoid committing academic offenses, and to take responsibility for his/her actions. A student who is unsure whether an action constitutes any offense, or who needs help in learning how to avoid offenses (e.g., plagiarism, cheating) or about "rules" for group work/collaboration should seek guidance from the course professor, academic advisor, or the Undergraduate Associate Dean. When misconduct has been found to have occurred, disciplinary penalties will be imposed under Policy 71 - Student Dicipline. For information on categories of offenses and types of penalties, students should refer to Policy 71 - Student Discipline, http://www.adm.uwaterloo.ca/infosec/Policies/policy71.htm
Avoiding Academic Offenses: Most students are unaware of the line between acceptable and unacceptable academic behaviour, especially when discussing assignments with classmates and using the work of other students. For information on commonly misunderstood academic offenses and how to avoid them, students should refer to the Faculty of Mathematics Cheating and Student Academic Discipline Policy, http://www.math.uwaterloo.ca/navigation/Current/cheating_policy.shtml
Appeals: A student may appeal the finding and/or penalty in a decision made under Policy 70 - Student Petitions and Grievances (other than regarding a petition) or Policy 71 - Student Dicipline if grounds for an appeal can be established. Read Policy 72 - Student Appeals, https://uwaterloo.ca/secretariat-general-counsel/policies-procedures-guidelines/policy-72
General information concerning University policies on illnesses may be
Thinking in C++,
Prentice Hall, 2000
Thinking in C++,
Bruce Eckel, Chuck Allison
Prentice Hall, 2003
Head First Design Patterns
Eric Freeman, Elizabeth Freeman, Bert Bates, Kathy Sierra
(available online via the University's Library)
Programming: Principles and
Practice Using C++ (Bjarne Stroustrup) (updated for
C++ Primer (Stanley Lippman, Josée Lajoie, and Barbara E. Moo) (updated for C++11)
Effective C++ (Scott Meyers)
Effective Modern C++ (Scott Meyers) (focuses on C++11/C++14)
Effective STL (Scott Meyers)
The C++ Programming Language
(Bjarne Stroustrup) (updated for C++11)
C++ Standard Library Tutorial and Reference (Nicolai Josuttis) (updated for C++11)