Published Nov 22, 2022
|CS 136 001 [LEC]||B2 350||
8:30 a.m. - 9:50 a.m.
|CS 136 002 [LEC]||
10 a.m. - 11:20 a.m.
|CS 136 003 [LEC]||MC 4060||
1 p.m. - 2:20 p.m.
|This table is generated automatically|
email address: firstname.lastname@example.org
Caglar Memis & Alex Li
Office hours will be published on the course edX site: https://online.cs.uwaterloo.ca/
This course builds on the techniques and patterns learned in CS 135 while making the transition to use an imperative language. It introduces the design and analysis of algorithms, the management of information, and the programming mechanisms and methodologies required in implementations. Topics discussed include iterative and recursive sorting algorithms; lists, stacks, queues, trees, and their application; abstract data types and their implementations.
Prereq: At least 90% in CS 115 or at least 70% in CS 116 or at least 60% in CS 135 or CS 145. Coreq: CS 136L. Antireq: CS 137, 138, 146, PHYS 239
|produce well-designed, properly formatted, documented and tested programs of a moderate size (200 lines) that can use basic I/O|
|use imperative paradigms (e.g., mutation, iteration) effectively|
|explain and demonstrate the use of the C memory model, including the explicit allocation and deallocation of memory|
|explain and demonstrate the principles of modularization and abstraction|
|implement, use and compare elementary data structures (structures, arrays, lists and trees) and abstract data type collections (stacks, queues, sequences, sets, dictionaries)|
|analyze the efficiency of an algorithm implementation|
|Title / Name||Notes / Comments||Required|
|C Programming: A Modern Approach, 2nd edition by K.N. King (W.W. Norton & Company)||No|
|How To Design Programs by Felleisen, Findler, Flatt, and Krishnamurthi, MIT Press, 2001.||No|
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. Discipline cases involving any automated marking system such as Marmoset or MarkUs include, but are not limited to, printing or returning values in order to match expected test results rather than making an actual reasonable attempt to solve the problem as required in the assignment question specification.
Assignment Questions: Assignment questions will be colour-coded as either "black" or "gold" to indicate if collaboration is permitted. For "black" questions, moderate collaboration is permitted. You may discuss assignment strategies openly with others (including online) but you may not share your code with another individual in the class. You may also search the Internet for strategies and code examples. Any form of collaboration, including discussion must be stated explicitly in your submissions. Not properly stating collaboration on your assignment is considered to be a violation of academic integrity. For "gold" questions, no collaboration is permitted. This also implies no collaboration on test cases. All work is to be done individually. You are not allowed to discuss solution ideas, implementation details, or code. Only clarification on what an assignment question is asking is permitted. All work submitted must be entirely your own. If you find yourself stuck, contact an ISA or instructor or IA for additional help, instead of getting the solution from someone else. You may also ask on the discussion forums in a private message. When trying to deal with difficulties, do not copy from the book or any Web sources, unless explicitly authorized to do so. The penalty for plagiarism is an assigned mark of zero on the assignment question or test and a deduction of five marks from the final course grade, consistent with the School of Computer Science and Faculty of Mathematics policy. In addition, a letter detailing the offence is sent to the Associate Dean of Undergraduate Studies, meaning that subsequent offences will carry more severe penalties, up to suspension or expulsion. To avoid inadvertently incurring this penalty, do not copy work from anyone or any place.
Remarking Policy: Submit a remark request form, which is available on the course Web site, to your course ISA to request a remark on your assignments.
Missed Assessments: Assignments are a key component of this course, and you are expected to complete them all. Exceptions may be granted in the case of illness or other extenuating circumstances (if you need such an exception, ask your ISC, and be aware that you may be required to provide documentation). However, no more than 1/3 of the assignments may be excluded from the final grade, regardless of your circumstances. If your circumstances are such that that level of accommodation is insufficient, consult an academic advisor to discuss your options. With a valid Verification of Illness Form (VIF), the weight of the assignment or quiz you missed may be shifted to the rest of your assignments or quizzes; and for the midterm, the weight may be shifted to your final assessment. With a valid VIF, a missed final assessment results in an INC for your final grade; and your final grade will be calculated when you are next able to write a final assessment. Your grade will then be calculated using your previous assignment, quiz and midterm mark and using the current weighting used from this semester. If you are in any of these cases, please contact the coordinator.
Use of the Discussion Forums: Use the discussion forums for general questions about assignments. Do not discuss implementation details for assignments (such as code particulars) or concrete assignment solutions publicly. Do not discuss anything about quizzes, the midterm or the final assessment on the discussion forums (except privately to the instructors).
Use of Microsoft Teams: The use of Microsoft Teams is exclusive to office hours, question and answer sessions, and private appointments; and should be limited to the specific channel and timeslot. You should not post nor discuss anything relating to the assignments with others nor information about the quizzes on Microsoft Teams, and specific questions should not be posted directly on Teams. If you have a question, use the discussion forums if applicable or email the appropriate person. The student group on Teams is only monitored during specified office hours or question and answer sessions in the specific channel.
Mental Health Support: The Faculty of Math encourages students to seek out mental health support if needed.
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. [Check the Office of Academic Integrity for more information.]
Grievance: A student who believes that a decision affecting some aspect of their university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70, Student Petitions and Grievances, Section 4. 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 their actions. [Check the Office of Academic Integrity for more information.] 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. For typical penalties, check Guidelines for the Assessment of Penalties.
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 a ground. A student who believes they have a ground for an appeal should refer to Policy 72, Student Appeals.
Note for students with disabilities: AccessAbility Services, 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 AccessAbility Services at the beginning of each academic term.
Turnitin.com: Text matching software (Turnitin®) may be used to screen assignments in this course. Turnitin® is used to verify that all materials and sources in assignments are documented. Students' submissions are stored on a U.S. server, therefore students must be given an alternative (e.g., scaffolded assignment or annotated bibliography), if they are concerned about their privacy and/or security. Students will be given due notice, in the first week of the term and/or at the time assignment details are provided, about arrangements and alternatives for the use of Turnitin in this course.
It is the responsibility of the student to notify the instructor if they, in the first week of term or at the time assignment details are provided, wish to submit alternate assignment.