Course website: Introduction to Computer Science I for majors [To the faculty website of James Tam] |
Day/Time for class |
L02: MWF 1:00 - 1:50 PM in KNB 132
|
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 |
|
Shortcut links for each week of lecture
- #Lecture_week_1
- #Lecture_week_2
- #Lecture_week_3
- #Lecture_week_4
- #Lecture_week_5
- #Lecture_week_6
- #Lecture_week_7
- #Lecture_week_8
- #Lecture_week_9
- #Lecture_week_10
- #Lecture_week_11
- #Lecture_week_12
- #Lecture_week_13
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
- Types of variables, representing information, programming errors: [Notes: PowerPoint] [Notes: PDF] [Examples] [Exercise]
Lecture week 3: Sept. 14 - 20
Representations of data/information (continued from last week)
Branching
- Branching Part I [Notes: PowerPoint] [Notes: PDF] [Examples] [Exercise]
- Branching Part II [Notes: PowerPoint] [Notes: PDF] [Examples]
Lecture week 4: Sept. 21 - 27
Announcements: [Sept 24] Repetition:
- Part I [Notes: PowerPoint] [Notes: PDF] [Examples]
- Part II [Notes: PowerPoint] [Notes: PDF] [Examples]
- Part III [Notes: PowerPoint] [Notes: PDF] [Examples]
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
- Part I [Notes: PowerPoint] [Notes: PDF] [Examples]
- Part II [Notes: PowerPoint] [Notes: PDF] [Examples]
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 8: Oct. 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 10: Nov. 2 - 8
Introduction to classes and objects Reading Week: Nov. 9 - 15, no classes Lecture week 11: Nov. 16 - 22
"External libraries" Lecture week 12: Nov. 23 - 29
"Generative A.I." (creating original content using Artificial Intelligence) Lecture week 13: Nov. 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