CPSC 217: Course outline spring 2020

Index (shortcut to major sections of the webpage)

 

Lecture and important grading information

Day/Time

L01: TR (1:00 - 3:45 PM) via Zoom lectures (Address of the lecture will be posted in D2L under 'Content' and the appropriate lecture topic e.g. "Intro and admin to the course", "Introduction to computer programming" etc.)

Contact Information

James Tam

Office time: TR (4:30 - 5:00 PM) via a Zoom link

Email: tam@ucalgary.ca

   
General information Official course information sheet (summary of official course requirements)

 

General assignment information

Grade calculator to estimate your term grade: [Excel spreadsheet]

Academic misconduct vs. collaboration: what is allowed for this class (link coming later)

Practice assignments: They won't be for credit but they're extra problems that you can try in order to improve your programming and problem solving skills

In class, practice lecture questions: (practice and not for credit). During lecture I will stop the class and open up the appropriate D2L quiz for you to try attempt.

Tutorials

Teaching tutorials (commence the week of May 10 - 16) and will be available via a Zoom link (look under 'content' in D2L and under the appropriate week for the tutorial you will find a separate folder for each tutorial)

Tutorial

Date/Time

Instructor

T01 MW 1:00 - 2:50 PM Fahim Anzum
T02 MW 5:00 - 6:50 PM Fahim Anzum
T03 MW: 3:00 - 4:50 PM Abed Sarhan
T04 TR 5:00 - 6:50PM Abed Sarhan
T05: MW 11:00 AM - 12:50PM Lorans Alabood

Help tutorials = Continuous tutorials (or CT for short) where you can go for help outside of class: commence the week of May 10 - 16.  Each TA will have a separate Zoom link.

Main grid: lecture & tutorial schedule, assignment information

Approximate time each topic will be covered in lecture Lecture topics & schedule
Relevant textbook chapters: "Starting Out with Python" (Gaddis T) Addison-Wesley.

Other sources of help includes the (free) online library website: [Safari]

Graded component due during the week: Note that all assignments are due at 4 PM Tutorial topics
  How to work from home etc.. A portion will be covered in tutorial later in the term term, other resources are available for your reference: [Orientation link] Not applicable A0  (submitting files using D2L and checking submissions, not graded) closes off submission on Tuesday May 12.  
May 3 - 9 (7th is the first day of 217 lecture)
  • Introduction to the course
  • Introduction to computer programming
     
  • Introduction to programming: Chapter 1 & 2, Appendix A (additional information for installing Python on your own computer)

 

  • No tutorials this week
May 10 - 16
  • Introduction to computer programming (continued),

 

 

 

  • Student exercise: A0
  • Getting and installing python
  • Using the Windows command line (cmd) to run programs (e.g. python)
  • Going over A1 requirements
  • Conventions for naming variables and constants.
  • Unnamed constants
  • Getting input via input()
  • Formatting output via escape codes and format specifiers
  • Common operators & order of operation
  • Errors: syntax, runtime & logic
  • Documentation
  • Backups & versioning
May 17 - 23 (Monday May 18 is the Victoria Day holiday: no tutorial or CT)
  • Branching/decisions
  • Looping/repetition
  • Branching: Chapter 3
  • Loops: Chapter 4
  • Mon: Holiday
  • Tue: tutorial is converted to CT for all students
  • Wed/Thur: branching, looping, nesting
May 24 - May 30
  • Looping/repetition (continued)
  • Functions/decomposition
  • Functions: Chapter 5 (don't worry about the material in Section 5.9, 5.10 yet)
  • First tutorial: TAs cover mini-A3a & mini-A3b, program debugging tips
  • Second tutorial: functions (defining, calling, passing parameters, defining local variables, returning values)
May 31 - June 6
  • Functions/decomposition (continued)
  • Composites (lists, strings, tuples)
  • Composites: Lists & Tuples: Chapter 7

  • Composites: Strings Chapter 8

 

  • First tutorial: going over requirements for A3, mini-A4a, mini-A4b. Introduction to lists.
  • Second tutorial: more on lists and other composites.
June 7 - 13
  • Composites (continued)
  • Introduction to problem solving
  • Files & exceptions
     
  • Files: Chapter 6

 

  • Going over requirements for: mini-A4c, the project Part I & II
  • Files and exceptions.
  • Reading from files into dynamically created lists.
June 14 - 20 (17th is the last day of 217 lecture)
  • Introduction to computer science
  • Computer history

 

  • No teaching tutorials this week. All scheduled tutorials will act as extra CT. Any student and not just students registered in that section can come for help.