Physics & Computer Science

CP104: Introduction to Programming - Fall 2023

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
Mr David Brown
dbrown@wlu.ca
By Appointment

Section: BR2
Dr Zia Ud Din
zuddin@wlu.ca
By Appointment

Lab Instructor Information

Mr Sukhjit Sehra ssehra@wlu.ca
Ms Sumeet Sehra sksehra@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 Days Times Room Instructor
A MWF 08:30 AM - 09:20 AM LH1001 Mr. David Brown (dbrown at wlu.ca)
B MWF 10:30 AM - 11:20 AM LH1001 Mr. David Brown (dbrown at wlu.ca)
BR2 TR 10:00 AM - 11:20 AM OD200 Dr. Zia Ud Din (zuddin at wlu.ca)
L(B) T 11:30 AM - 01:50 PM GRH106 Dr. Zia Ud Din (zuddin at wlu.ca)
L01 M 02:30 PM - 04:50 PM BA113 Ms Sumeet Kaur Sehra (sksehra at wlu.ca)
L02 T 01:30 PM - 03:50 PM BA113 Mr. Sukhjit Sehra (ssehra at wlu.ca)
L06 W 06:00 PM - 08:20 PM BA113 Mr. David Brown (dbrown at wlu.ca)
L10 R 04:00 PM - 06:20 PM BA113 Mr. David Brown (dbrown at wlu.ca)
L12 F 12:00 PM - 02:20 PM BA113 Ms Sumeet Kaur Sehra (sksehra at wlu.ca)

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
4 3: Formatted Output 1: Simple Programs
5 4: Functions and Libraries 2: Simple Problems
6 5: Decisions 3: Functions
7 6: Repetition - For 4: Decisions
8 7: Repetition - While 5: for Loops
9 8: Lists 6: while Loops
10 9: Strings 7: Lists
11 10: Files 8: Strings
12 11: 2D Lists 9: Files
13

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.