' --> CS 105 | Home

CS 105 - Introduction to Computer Programming 1
School of Computer Science
University of Waterloo

An introduction to the fundamentals of computer programming through media computation. Students will learn to write interactive graphical programs. Fundamental language concepts such as variables, conditionals, loops, functions, and arrays. Programming concepts such as coding style, modular design, testing, and debugging. Media concepts such as 2D graphics drawing, input, animation, and image processing.

All announcements, questions, and answers are on Learn. Check the course's Learn website regularly to be kept up to date.


Staff

If you are a current student, please see below for a list of personnel.
Instructor: Kevin Harrigan
Email: kevinh@uwaterloo.ca
Instruction Support Coordinator: Barbara Daly
Email: bmzister@uwaterloo.ca
Instructional Support Assistant: Rebecca Chirayath
Email: cs105@uwaterloo.ca
Instructional Support Assistant: Gabriel Diniz
Email: cs105@uwaterloo.ca
Instructional Support Assistant: Sherry Zhao
Email: cs105@uwaterloo.ca
Instructional Apprentice: Johann David Wentzel
Instructional Apprentice: Graeme Zinck
Instructional Apprentice: Cheryl Lao

Note

If you are not currently enrolled in the course, please direct all inquiries to the Instructional Support Coordinator, Barbara Daly: bmzister@uwaterloo.ca

All telephone extensions are for 519-888-4567


Communication

All announcements will be posted on Learn. You should check Learn everyday! We recommend downloading the PULSE app for your phone, to receive notifications when announcements are posted.

Consulting Hours

The following outlines the schedule of online consulting hours for the Fall 2020 term. These chat hours provide you with an opportunity to to ask the Instructor, ISAs or IAs any questions you may have pertaining to assignments, exams, or course content. If you are unable to make it to any of these online office hours, alternative options include posting your question to the discussion board, emailing the ISAs directly at cs105@uwaterloo.ca or requesting a time in the MS Teams Office Hour channel.

Office Hours

Day

Time* EDT

Communication Tool

Staff

Mondays *Open for office hour requests* MS Teams ISAs
Tuesdays 8:30 am to 10:00 am
10:00 am to 12:00 pm
3:00 pm to 4:30 pm
MS Teams Graeme
Kevin
Johann
Wednesdays 9:30 am to 11:00 am
1:00 pm to 2:30 pm
3:00 pm to 4:30 pm
MS Teams Time slots rotate between:
Rebecca, Gabriel, Sherry
Thursdays 8:30 am to 10:00 am
11:00 am to 12:30 pm
1:00 pm to 3:00 pm
3:00 pm to 4:30 pm
8:00 pm to 9:30 pm
MS Teams Graeme
Cheryl
Kevin
Johann
Cheryl
Fridays 1:00 pm to 2:30 pm
3:00 pm to 4:30 pm
5:00 pm to 6:30 pm
MS Teams Time slots rotate between:
Rebecca, Gabriel, Sherry

* Times subject to change

Note: Office hour appointments can be made outside of these times with the ISAs or course instructor, via email or MS Teams.



Schedule

Important: ALL TIMES EASTERN

Please keep in mind that all dates expressed in this schedule are tentative and subject to change at any time.
Week Lectures Concepts Assesssments Due Dates

(All are due at 11:59 PM EDT)

Week 1: Sept 8-11 00: Intro and Media Computing Lab 0 Fri Sept 11
Week 2: Sept 14-18 01: Algorithms and Code Algorithms
Syntax
Errors
Lab 1
Lab 2
Assignment 1
Wed Sept 16
Wed Sept 16
Fri Sept 18
02: Drawing 2D Coordinate
Statements
Commenting
Control Flow
Week 3: Sept 21-25 03: Atrributes Program State
Colour
Formats
hexadecimal
Lab 3
Lab 4
Assignment 2
Wed Sept 23
Wed Sept 23
Fri Sept 25
04: Interaction Events
Week 4: Sept 28-Oct 2 05: Variables Declaration vs. Initialization
Memory
Types
Binary Numbers
Precision
Lab 5
Lab 6
Assignment 3
Wed Sept 30
Wed Sept 30
Fri Oct 2
Week 5: Oct 5-9 06: Conditionals Boolean Logic
Relational Expressions
Lab 7
Lab 8
Assignment 4
Wed Oct 7
Wed Oct 7
Fri Oct 9

READING WEEK: Oct 13-16

Week 6: Oct 19-23 07: Loops Lab 9
Lab 10
Assignment 5
Wed Oct 21
Wed Oct 21
Fri Oct 23
Week 7: Oct 26-30 07: Loops Lab 11
Lab 12
Wed Oct 28
Wed Oct 28
08: Functions Parameters

TEST #1: Fri Oct 30

Week 8: Nov 2-6 08: Functions Returning Values Lab 13
Lab 14
Assignment 6
Wed Nov 4
Wed Nov 4
Fri Nov 6
Week 9: Nov 9-13 09: Program Design Modularity
Testing
Lab 15
Assignment 7
Wed Nov 11
Fri Nov 13
Week 10: Nov 16-20 10: Arrays Object Creation Lab 16
Lab 17
Assignment 8
Wed Nov 18
Wed Nov 18
Fri Nov 20
Week 11: Nov 23-27 10: Arrays Array Operation Idiom Lab 18
Lab 19
Week 1 of Final Project
Wed Nov 25
Wed Nov 25
11: Images Pixels
Week 12: Nov 30-Dec 4 11: Images Lab 20
Week 2 of Final Project
Wed Dec 2
Fri Dec 4
12: Debugging
13: Video and Sound

TEST #2: Fri Dec 11


Grading

Breakdown

  • Participation: 5%
  • Labs: 15%
  • Assignments: 45%
  • Project: 10%
  • Test 1: 10%
  • Test 2: 15%
  • You must pass the average of the two tests (atleast 50%) to pass the class.

The plan is that there will be a corresponding assignment for each module.

Protip: Although each assignment will be weighted the same, it is inevitable that some assignments will be harder and/or require more work than others.


Participation

  • To be determined weekly. Varies week-by-week.

Labs

There are 21 lab programming exercises to be completed by students.

  • Lab handouts are normally posted on LEARN early Saturday mornings, five days before the scheduled lab due date.
  • There are usually two labs per week. Labs are normally due on Wednesday at 11:59 PM (unless otherwise indicated), see the schedule for details.
  • Labs are created by the instructor and marked by the instructional support assistants and graduate teaching assistants based on specifications drawn up by the instructor.
  • The grade will typically be available on LEARN less than 1 week after the due date.
  • All labs are weighted equally.
  • The two labs with the lowest mark will be excluded, and the remaining labs will be weighted equally.

Assignments

There are 8 programming assignments.

  • All materials for the current week’s assignment are posted on LEARN before the first lab time that week.
  • Assignments are due on Friday at 11:59 PM (unless otherwise indicated), see the schedule for details.
  • Assignments are created by the instructor and marked by the instructor, instructional support assistants, and graduate teaching assistants based on specifications drawn up by the instructor.
  • The grade with feedback will typically be available on LEARN within 1 week after the assignment is due.
  • The assignment with the lowest mark will be excluded, and the remaining 7 assignments will be weighted equally.

Final Project

The final project is an open-ended assignment where you design and implement a program of your choice. This is a culmination of all concepts learned throughout the term and a chance to conceive and design a complete program.


Tests

There are two tests.

  • The two tests are created by the instructor and marked by the computer (for multiple choice questions), instructor, instructional support assistants, and graduate teaching assistants based on specifications drawn up by the instructor.

Lab and Assignment Submission

All assignments and labs must be submitted to LEARN.

  • It is the student’s responsibility to verify assignments and labs are submitted to the correct LEARN dropbox, in the correct format, and that the correct files were submitted.

Lab and Assignment Deadlines

Assignments and labs that are submitted late will receive a mark of 0.

  • There are no deadline extensions for Labs.
  • There are no deadline extensions for Assignments.
  • There is no deadline extension for the Final Project.

    After an assignment or lab due date has passed, you may still submit your work for feedback only (no marks). You must inform the CS105 instructional support assistants by email so they are aware of your submission and request for feedback.


Missed Work Due to Illness

With appropriate, authorized documentation, assignment work may be excused. If a missed assignment is excused, its weight is distributed over the remaining un-excused assignments. In the interest of understanding the course material for future assignments and exams, students who miss work are encouraged to do complete it when they are able, submit it to cs105@uwaterloo.ca, and request feedback.


Group Work

Assignments: All assignments, tests, and the final project are individual work.

Labs: For labs you have been assigned to a Lab Group on LEARN. You may discuss solutions with your group members, but you must code your own solutions and submit your solutions on LEARN. Students have been assigned to groups randomly. There are normally 4 students per group.



Policies

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. Please take the time and go through the following:

To better understand the basic values of academic integrity and the consequences of academic misconduct please refer to Academic Integrity tutorial.

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. 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/her actions (see Academic Integrity Guidelines ). 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 he/she has a ground for an appeal should refer to Policy 72 (Student Appeals)

Final Grades

In accordance with Policy 46, Appendix A - Access to and Release of Student Information, the Centre for Extended Learning does not release final examination grades or final course grades to students. Students must go to Quest to see all final grades. Any grades posted in Waterloo LEARN are unofficial.

AccessAbility Services

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 them at the beginning of each academic term.

Mental Health

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

On-campus Resources

  • Campus Wellness
  • Counselling Services: 519-888-4567 ext 32655 / NeedlesHall North 2nd floor, (NH 2401)
  • MATES: one-to-one peer support program offered by Federation of Students (FEDS) and Counselling Services
  • Health Services service: located across the creek from Student Life Centre, 519-888-4096.

Off-campus Resources

  • Good2Talk (24/7): Free confidential help line for post-secondary students. Phone: 1-866-925-5454
  • Here 24/7: Mental Health and Crisis Service Team. Phone: 1-844-437-3247
  • OK2BME: set of support services for lesbian, gay, bisexual, transgender or questioning teens in Waterloo. Phone: 519-884-0000 extension 213

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:

  • We will gladly honour your request to address you by an alternate/preferred name or gender pronoun. Please advise us of this preference early in thesemester so we may make appropriate changes to our records.
  • We will honour your religious holidays and celebrations. P lease inform of us these at the start of the course.
  • We will follow AccessAbility Services guidelines and protocols on how to best support students with different learning needs.

UWaterloo's Web Pages

All rights, including copyright, images, slides, audio, and video components, of the content of this course are owned by the course author, unless otherwise stated. These web pages are owned or controlled by the University of Waterloo, Centre for Extended Learning. By accessing the web pages, you agree that you may only download the content for your own personal, non-commercial use. You are not permitted to copy, broadcast, download, store (in any medium), transmit, show or play in public, adapt, or change in any way the content of these web pages for any other purpose whatsoever without the prior written permission of the course author and the University of Waterloo, Centre for Extended Learning.

Other Sources

Respect the copyright of others and abide by all copyright notices and regulations when using the computing facilities provided for your course of study by the University of Waterloo. No material on the Internet or World Wide Web may be reproduced or distributed in any material form or in any medium, without permission from copyright holders or their assignees. To support your course of study, the University of Waterloo has provided hypertext links to relevant websites, resources, and services on the web. These resources must be used in accordance with any registration requirements or conditions which may be specified. You must be aware that in providing such hypertext links, the University of Waterloo has not authorized any acts (including reproduction or distribution) which, if undertaken without permission of copyright owners or their assignees, may be infringement of copyright. Permission for such acts can only be granted by copyright owners or their assignees.

If there are any questions about this notice, please contact the University of Waterloo, Centre for Extended Learning, Waterloo, Ontario, Canada, N2L 3G1 or extendedlearning@uwaterloo.ca