Course website: Introduction to Computer Science I for majors [To the faculty website of James Tam]

CPSC 217: fall 2025

Lecture, important administrative course information, general assignment information

Day/Time for class

L02: MWF 1:00 - 1:50 PM in KNB 132

Contact Information

James Tam

 

Office time:  Please identify yourself as a CPSC 217 student when you come into the 'office'

 

Email: tam@ucalgary.ca

Course topics and outline [Main grid]
 Course Outline [The official signed version]

 

Recommended (not mandatory) text

 

 

Main grid: Course topics, course schedule

Shortcut links for each week of lecture

Week Topic (since this is a coordinated class the schedule is tentative, more links will added in the during the semester)
Lecture week 1: Aug. 31 - Sept. 6 (lectures start on Tue. Sept. 2) Course introduction, administrative information (such as grading): Problem solving via top down decomposition

Introduction to computer programming Part I

  • (Not covered in detail in lecture but it may be a useful tutorial: creating/running python programs using two editors: PyCharm & IDLE): [Notes: PowerPoint] [Notes: Acrobat]
  • Writing and running a python program, variables, displaying information to the user, common math operators, variables. [Notes: PowerPoint] [Notes: PDF] [Examples]

Lecture week 2: Sept. 7 - 13

 
Introduction to computer programming Part II Representations of data/information

Lecture week 3: Sept. 14 - 20

Representations of data/information (continued from last week)

Branching

 

Lecture week 4: Sept. 21 - 27

Announcements: [Sept 24]

Repetition:

Lecture week 5: Sept. 28 - Oct. 4 (No classes Tuesday Sept. 30)

Project I: Sept. 28

Midterm I: Saturday October 4, 6:30-7:30 PM

"Catch up and review"

Repetition (continued from last week) [Some practice exercises, extra help material]

Lecture week 6: Oct. 5 - 11 Program decomposition using functions

Lecture week 7: Oct. 12 - 18 (No classes Monday Oct. 13)

Program decomposition using functions (continued from last week)

Introduction to "Data structures/composites"

Lecture week 8Oct. 19 - 25

File input and output, exception handling

Lecture week 9: Oct. 26 - Nov. 1

Project II: Oct. 26

Midterm II: Saturday Nov. 1, 6:30-7:30 PM

"Catch up and review"

Lecture week 10Nov. 2 - 8

Introduction to classes and objects
Reading Week: Nov. 9 - 15, no classes  

Lecture week 11Nov. 16 - 22

"External libraries"

Lecture week 12Nov. 23 - 29

"Generative A.I." (creating original content using Artificial Intelligence)

Lecture week 13Nov. 30 - 6 (last day of class is Fri. Dec. 5)

Project III: Nov. 30

 
"Catch up and review"
Extras (if there is time): not on the final exam but you might still find it of interest.  
Final exam period: Dec. 9 - 19