Physics & Computer Science

CP104: Introduction to Programming - Fall 2024

Course schedule, methodology, assessments, lab attendance and exam policies have been planned based on current public health guidelines. Should these guidelines change, adjustments will be communicated to students.

Instructor Information

Section: A, B (Waterloo)
Mr Sukhjit Sehra
ssehra@wlu.ca

Section: BR (Brantford)
Mr Kaiyu Li
kli@wlu.ca

Section: ICA (International College, Brantford)
Dr. Zia Ud Din
zuddin@wlu.ca

Section: MC1 (Milton)
Dr. Saiqa Aleem
saleem@wlu.ca

Section: OC1 (Online Learning)
Mr. Heider Ali
heali@wlu.ca

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 Campus Days Times Room Instructor
1A Brantford R 01:00 PM - 03:20 PM Zoom Ms Xuyang Ma
A Waterloo MWF 08:30 AM - 09:20 AM LH1001 Mr. Sukhjit Sehra
B Waterloo MWF 10:30 AM - 11:20 AM LH1001 Mr. Sukhjit Sehra
BR Brantford MW 02:30 PM - 03:50 PM OD205 Mr. Kaiyu Li
IC1 Int College, Brantford W 06:30 PM - 09:50 PM CB-205 Dr. Zia Ud Din
ICA Int College, Brantford R 01:30 PM - 05:30 PM CB-205 Dr. Zia Ud Din
L1 Waterloo M 02:30 PM - 04:50 PM BA113 Mr. David Brown
L2 Waterloo T 02:30 PM - 04:50 PM BA113 Dr. Heider Ali
L3 Waterloo W 03:30 PM - 05:50 PM BA113 Dr. Heider Ali
L4 Waterloo R 03:30 PM - 05:50 PM BA113 Ms Xuyang Ma
L5 Waterloo F 12:00 PM - 02:20 PM BA113 Ms Xuyang Ma
MC1 Milton TR 10:00 AM - 11:20 AM MAC128 Dr. Saiqa Aleem
ML1 Milton R 02:00 PM - 04:20 PM MAC117 Mr. David Brown
OC1 Online Learning - Dr. Heider Ali

Course Overview and Approach

Course Tools and Learning Materials

Textbook CoverThe textbook: Starting Out with Python, 5th Edition
By: Tony Gaddis
ISBN: 9780136719199
This is an electronic version available through MLS. You may use a paper copy if you prefer.
You must opt out of using the textbook if you do not want to pay for it. The last opt out date is .

You are required to have a personal computer capable of running the Python programming language and the Eclipse / PyDev IDE (Integrated Development Environment). Windows, Mac, and Linux are all appropriate operating systems for this on desktop or laptop machines. Chromebooks are not appropriate.

Python is a programming language used extensively on the World Wide Web. Eclipse is an Integrated Development Environment (IDE) program. Together with the PyDev plug-in it eases the task of writing and executing programs written in Python. Python, Eclipse, and PyDev are all freely available from the Internet, and 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 network storage, the cloud, or other media. We strongly suggest that you keep at least two copies of your work at all times.

Student Evaluation

You must pass the final exam in order to pass the course. A pass is defined as 50%.

If you pass the final exam, the following evaluation is applied:

Evaluation
Assessment Weighting
Assignments 25%
Labs 10%
Midterm 20%
Final Exam 45%
or
Zybook 5%
Final Exam 40%

Schedule

Note: this schedule is subject to change. All times are based upon Eastern Standard Time - i.e. Waterloo, ON time.

Week Starting Labs
Due 11:59:00 pm Friday
Assignments
Due 11:59:00 pm Saturday
Other
1
2 1: Introduction
3 2: Problem Solving 1: Simple Programs
4 3: Formatted Output 2: Simple Problems
5 4: Functions and Libraries 3: Functions
6 5: Decisions 4: Decisions
7 Reading Week
8 6: Repetition - For 5: for Loops
9 7: Repetition - While 6: while Loops
10 8: Lists 7: Lists
11 9: Strings 8: Strings
12 10: Files 9: Files
13 11: 2D Lists
14

University and Course Policies

Resources

MyLearningSpace
Laurier Library
Study Skills and Course Support
writing centre, math centre, academic advising, study skills/supplemental instruction, accessible learning
CP104 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.
A Free Textbook
How to Think Like a Computer Scientist: Learning with Python: a free textbook available for downloading.
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.
http://wiki.python.org/moin/
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.

© 2024 David Brown. All Rights Reserved.