CS 247
Software Engineering Principles

Course Philosophy


Course Announcements

Welcome to CS 247!

Welcome to the CS247 course homepage. Please find most up to date information on LEARN and/or Piazza. The current offering of CS247 is Spring 2026.

This is the in person delivery version of CS 247. Please read the information below as well as the information on Learn, Piazza and 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!


Piazza

Log In

Access our Piazza here: CS 247 Piazza

What is Piazza?

Piazza is the discussion forum for CS 247

Being a student, you can

  • Ask course-related questions -- anonymously if you'd like
  • Collaborate to form a high-quality Wikipedia-style response
  • Have a traditional thread-style discussion

Guidelines

Of course, there are things to be kept in mind while using Piazza. Here are just a few rules that you perhaps already know:

  • Do not post solutions to assignments (Policy 71)
  • Do not post assignment or project related source code (Policy 71)
  • Be civilized; refrain from posting offensive, inappropriate, or irrelevant content

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.







Marks

Marks



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

  1. The overall mark on Assignments and Project Components can be found on Learn.
  2. Automarking correctness tests and results can be found in Marmoset
  3. Handmarking results (including marker comments) are located on Markus with the following notes:
    • Use Firefox to access Markus. MarkUs does not work properly with other web browsers.
    • Viewing Marks and Marker Comments in MarkUs
      Choose the appropriate assignment. Then, for a detailed breakdown of the marking along with marker comments, click the "Results" link.

      On the right side is your mark breakdown:

      • Summary: Under this tab you can see the weight for each category and your deductions for components with subtractive marking and marks earned for the other components.
      • Marks: Under this tab you can see the level you received for each criterion, with a description of what the level means.

      On the left is the code for one of your files.

      • The ''Annot. Summary'' tab contains a list of all the comments a marker has made to your assignment files. Click on the link at the top left of each comment to go to the associated code.

If there are any errors in the marking of your assignment, please email cs247@uwaterloo.ca 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.


Personnel

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.

Instructors

Victoria Sakhnini
Email: vsakhnini@uwaterloo.ca
Office: TBD
Office Hours: TBD

Instructional Support Assistant (ISA)

Robyn Bhola
Email: cs247@uwaterloo.ca
Office: Tutorial Centre MC 4065
Office Hours: TBD

Instructional Support Coordinator (ISC)

Scott Freeman King
Email: sfking@uwaterloo.ca
Office: MC 4011 by appointment only

Teaching Assistants

Helen Weixu Chen
Email: w352chen@uwaterloo.ca
Kath Choi
Email: ymchoi@uwaterloo.ca
Delara Forghani
Email: dforghan@uwaterloo.ca
Mathew Kuthur James
Email: m2kuthur@uwaterloo.ca
Tales Mello Paiva
Email: tmellopa@uwaterloo.ca
Haoyuan Zhu
Email: h296zhu@uwaterloo.ca

General Information

General Information

Calendar Description - Official course description from academic calendar.

UW Policies

Cheating

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, https://uwaterloo.ca/secretariat/policies-procedures-guidelines/policy-70

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, https://uwaterloo.ca/secretariat/policies-procedures-guidelines/policy-71

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, https://uwaterloo.ca/math/academic-matters/academic-integrity#:~:text=All%20academic%20offences%20involving%20Math,will%20normally%20include%20a%20suspension.

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 found at http://www.registrar.uwaterloo.ca/students/accom_illness.html


Design Patterns

Resources

Resources