Course Syllabus

CP104: Introduction to Programming

Physics & Computer Science, Waterloo Campus

Fall 2018

Instructor Information

David Brown | Science Building, N2091
519-884-1970 x2711 |
By Appointment

Lab Instructor Information

Dr. Masoomeh Rudafshani | Science Building, N2091
519-884-1970 |
By Appointment


Mr. Qutaiba Albluwi | Science Building, N2091
519-884-1970 |
By Appointment


David Brown

Course Information

An introductory course designed to familiarize the student with modern software development techniques. Emphasis is on problem-solving and structured program design methodologies. Programming projects are implemented in a widely used high-level language.

3 lecture hours, 2.5 lab hours

Credit: 0.50



Section Information
Section Days Times Room Instructor
Lecture A MWF - BA201 Mr. David Brown
Lecture B TR - LH1001 Mr. David Brown
Lab L1 M - BA113 Mr. David Brown
Lab L10 R - BA113 Dr. Masoomeh Rudafshani
Lab L11 F - BA113 Mr. Qutaiba Albluwi
Lab L12 F - BA113 Dr. Masoomeh Rudafshani
Lab L13 M - BA113 Mr. Qutaiba Albluwi
Lab L14 T - N1055 Dr. Masoomeh Rudafshani
Lab L2 T - BA113 Mr. David Brown
Lab L3 T - BA113 Mr. David Brown
Lab L4 W - BA113 Mr. Qutaiba Albluwi
Lab L5 W - BA113 Mr. Qutaiba Albluwi
Lab L6 W - BA113 Dr. Masoomeh Rudafshani
Lab L7 R - BA113 Mr. David Brown
Lab L8 R - BA113 Dr. Masoomeh Rudafshani
Lab L9 R - BA113 Mr. David Brown

Course Overview and Approach

Course Tools and Learning Materials


Cover of Python Zybook

A ZyBook is an on-line alternative to a traditional textbook. It contains animations, interactive learning questions, and more.

  1. Sign in or create an account at
  2. Enter zyBook code WLUCP104BrownFall2018
  3. Subscribe

A subscription is $58.00 and lasts until .

Completing the interactive questions in the ZyBook is worth 10% of your course grade.

The PCs in the public labs can be used by you for your assignments. We use the Python programming language and the Eclipse IDE (Integrated Development Environment). We provide instructions for downloading and installing them in the Resources section of this page.

You are responsible for storing all your assignment and lab work on your own memory sticks, Laurier OneDrive storage, or other media. We strongly suggest that you keep at least two copies of your work at all times, for memory sticks can fail, or be lost.


Laurier Library

Centre for Student Success (writing centre, math centre, academic advising, study skills/supplemental instruction, accessible learning)

Student Evaluation

Assessment Weighting
Assignments 25%
Labs 10%
Midterm (in lecture) 20%
Python ZyBook 10%
Final Exam 35%

Students must pass the final exam in order to pass the course.

Weekly Schedule

Note: this schedule is subject to change.

Week Starting Labs Assignments
Friday, 11:30 am
2 1: Introduction
3 2: Formatted Output 1:
4 3: Decisions 2:
5 4: Repetition - While 3:
6 Reading Week
7 5: Repetition - For 4:
8 Midterm (in lecture)
(A) and (B)
9 6: Functions and Libraries 5:
10 7: Strings 6:
11 8: Lists 7:
12 9: Files 8:
13 10: 2D Lists 9:

University and Course Policies

  1. Academic Calendars: Students are encouraged to review the Academic Calendar for information regarding all important dates, deadlines, and services available on campus.

  2. Special Needs: Students with disabilities or special needs are advised to contact Laurier’s Accessible Learning Centre for information regarding its services and resources.

  3. Plagiarism: The University has approved the following wording for inclusion on all course syllabi about the use of the institutionally supported plagiarism software tool. Wilfrid Laurier University uses software that can check for plagiarism. If requested to do so by the instructor, students are required to submit their written work in electronic form and have it checked for plagiarism. (Approved by Senate May 14, 2002) .

  4. Academic Integrity: Laurier is committed to a culture of integrity within and beyond the classroom. This culture values trustworthiness (i.e., honesty, integrity, reliability), fairness, caring, respect, responsibility and citizenship. Together, we have a shared responsibility to uphold this culture in our academic and nonacademic behaviour. The University has a defined policy with respect to academic misconduct. As a Laurier student you are responsible for familiarizing yourself with this policy and the accompanying penalty guidelines, some of which may appear on your transcript if there is a finding of misconduct. The relevant policy can be found at Laurier's academic integrity website along with resources to educate and support you in upholding a culture of integrity. Ignorance is not a defense.

  5. Final Examinations: Students are strongly urged not to make any commitments (i.e., vacation) during the examination period. Students are required to be available for examinations during the examination periods of all terms in which they register.

  6. Foot Patrol, the Wellness Centre, and the Student Food Bank:


Software Installation
Instructions for installing CP104 course software at home.
Using Eclipse / PyDev
An introduction to creating projects in Eclipse / PyDev.
PyDev Problems
Some typical problems when using PyDev.
Configuring PyDev
Configuring PyDev when you create a new workspace.
Python Library Reference
This library reference manual documents Python's standard library, as well as many optional library modules.
Style Guide for Python Code
A style guide for Python from the creator of Python.
The Python wiki.

The educational materials developed for this course, including, but not limited to, lecture notes and slides, handout materials, examinations and assignments, and any materials posted to MyLearningSpace, are the intellectual property of the course instructor. These materials have been developed for student use only and they are not intended for wider dissemination and/or communication outside of a given course. Posting or providing unauthorized audio, video, or textual material of lecture content to third-party websites violates an instructor's intellectual property rights, and the Canadian Copyright Act. Recording lectures in any way is prohibited in this course unless specific permission has been granted by the instructor. Failure to follow these instructions may be in contravention of the university's Code of Student Conduct and/or Code of Academic Conduct, and will result in appropriate penalties. Participation in this course constitutes an agreement by all parties to abide by the relevant University Policies, and to respect the intellectual property of others during and after their association with Wilfrid Laurier University.

© 2019 David Brown. All Rights Reserved.

Last updated: