CS 246E - Object-Oriented Software Development

Course Outline


Course Personnel and Office Hours

Instructors

Name Contact Office Hours
(all times EDT)
Brad Lushman bmlushma@uwaterloo.ca MW 1-2pm
Using MS Teams. See here for further info.

Instructional Support Apprentice (ISA)

Name Contact Office Hours
Cyril Zhang cs246e@uwaterloo.ca WF 2-4pm
Using MS Teams. See here for further info.

Instructional Support Coordinator (ISC)

Name Contact
Patrick Roh proh@uwaterloo.ca
Contact for questions regarding verification of illness or other documents, course enrolment, alternative arrangements or accommodations, grades, or other administrative questions.


Course Description

This is an enriched version of CS 246.
Description of CS 246: Introduction to object-oriented programming and to tools and techniques for software development. Designing, coding, debugging, testing, and documenting medium-sized programs: reading specifications and designing software to implement them; selecting appropriate data structures and control structures; writing reusable code; reusing existing code; basic performance issues; debuggers; test suites.

Course Objectives

Course Topics

All timings are approximate.

Communication

The primary means for announcements is the course newsgroup on CS246E Piazza. There may be announcements posted on the course website.

Please direct questions to the course newsgroup. If there is a good reason not to use the newsgroup (e.g., personal matters, a question that might reveal part of a solution, etc.) either create a private post or email the ISA or instructor directly via email.


Resources


Course Assessments

Assignment Due Date 1 Due Date 2 Final Grade Weight
1 TBD TBD 20%
2 TBD TBD 20%
3 TBD TBD 20%
Project TBD TBD 35%

There will also be quizzes worth 5% in total of your final course grade.

All assignments must be done individually, unless the assignment is explicitly designated as a group assignment. All members of a group receive the same grade (no exceptions). The instructors/staff do not arbitrate group disputes; group members must handle any and all problems. A group assignment may be done individually, but it must be understood that the amount of work is significantly greater and no extra marks are given for this additional work.


Assignment Submissions

Assignments must be submitted using the Marmoset Submission and Testing Server.

Note: Marmoset is not a compiler! There is limited resources for Marmoset across all CS courses. Please do not submit C++ code to Marmoset, without first attempting to compile it yourself.

The release test for a problem gives you the result of running your program on one basic test case (usually a case that appears in the assignment specification). The remaining test cases are secret tests, the results of which are revealed after the assignment is due. So be sure to test your code thoroughly, so that you pass as many of our secret tests as possible.

Lates

Marking

Remarking Policy

Note: The entire assignment or test is examined when remarking; therefore, the grade could decrease.


Mental Health

If you or anyone you know experiences any academic stress, difficult life events, or feelings like anxiety or depression, we strongly encourage you to seek support.

On-campus Resources

Off-campus Resources


Diversity

It is our intent that students from all diverse backgrounds and perspectives be well served by this course, and that students' learning needs be addressed both in and out of class. We recognize the immense value of the diversity in identities, perspectives, and contributions that students bring, and the benefit it has on our educational environment. Your suggestions are encouraged and appreciated. Please let us know ways to improve the effectiveness of the course for you personally or for other students or student groups. In particular:


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. All members of the UW community are expected to hold to the highest standard of academic integrity in their studies, teaching, and research. The Office of Academic Integrity's website contains detailed information on UW policy for students and faculty. This site explains why academic integrity is important and how students can avoid academic misconduct. It also identifies resources available on campus for students and faculty to help achieve academic integrity in - and out - of the classroom.

Grievance

A student who believes that a decision affecting some aspect of his or her university life has been unfair or unreasonable may have grounds for initiating a grievance, as outlined by Policy 70 - Student Petitions and Grievances. When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.

Discipline

A student is expected to know what constitutes academic integrity, to avoid committing an academic offence, and to take responsibility for his or her actions. A student who is unsure whether an action constitutes an offence, or who needs help in learning how to avoid offences (e.g., plagiarism, cheating) or about 'rules' for group work/collaboration should seek guidance from the course instructor, academic advisor, or the undergraduate Associate Dean. For information on categories of offences and types of penalties, students should refer to Policy 71 - Student Discipline Students may also view the University's Guidelines for the Assessment of Penalties.

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 Guidelines.

Appeals

A decision made or penalty imposed under Policy 70 - Student Petitions and Grievances (other than a petition) or Policy 71 - Student Discipline may be appealed if there is grounds to do so. A student who believes he or she has a ground for an appeal should refer to Policy 72 - Student Appeals.

MOSS (Measure of Software Similarities)

MOSS is used in this course as a means of comparing students' assignments to ensure academic integrity. We will report suspicious activity, and penalties for plagiarism/cheating are severe. Please read the available information about academic integrity very carefully.


Note for Students with Disabilities

The AccessAbility Services (AAS), located in Needles Hall, Room 1401, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with them at the beginning of each academic term.


Intellectual Property

Students should be aware that this course contains the intellectual property of their instructor, TA, and/or the University of Waterloo. Intellectual property includes items such as:

Course materials and the intellectual property contained therein, are used to enhance a student's educational experience. However, sharing this intellectual property without the intellectual property owner's permission is a violation of intellectual property rights. For this reason, it is necessary to ask the instructor, TA and/or the University of Waterloo for permission before uploading and sharing the intellectual property of others online (e.g., to an online repository).

Permission from an instructor, TA or the University is also necessary before sharing the intellectual property of others from completed courses with students taking the same/similar courses in subsequent terms/years. In many cases, instructors might be happy to allow distribution of certain materials. However, doing so without expressed permission is considered a violation of intellectual property rights.

Please alert the instructor if you become aware of intellectual property belonging to others (past or present) circulating, either through the student body or online. The intellectual property rights owner deserves to know (and may have already given their consent).