Introduction to problem solving, analysis and design of small-scale computational systems and implementation using a procedural programming language. For students wishing to combine studies in computer science with studies in other disciplines.

Announcements

  • Website has been converted to inactive mode. (some links should no longer be expected to work)
  • SMILEYS! link
  • CT will be provided by Teaching Assistants following a set schedule. A link to the Zoom meeting for CT can be found in D2L. TAs will only be avilable for the time that they are scheduled. TAs will be expected to leave when their scheduled time expires.
    Schedule
    The following form should be used when you enter CT to register your issue for the TA.
    CT Request From
  • CPSC Account Passwords (IT Page)
  • CPSC Account Passwords
  • Course material posted on this course website.
  • Exercises via repl.it
  • Exams and Assignment Submission/Grading via D2L
  • Class interaction via TopHat (UCIT ID, not CPSC ID)

Lectures

  • Lectures begin on Wednesday, September 9th, 2020
  • Last day to drop is Friday, September 18th, 2020
  • Lectures end and last day to withdraw is Wednesday, December 9th, 2020
  • Zoom through D2L
  • CPSC 217 L01 MWF 10:00-10:50
  • CPSC 217 L02 MWF 13:00-13:50

Tutorials

  • Tutorials will begin on Monday/Tuesday September 14th, 2020
  • Zoom through D2L
  • IDE: Pycharm
  • CPSC 217 T01 TR 13:00 - 13:50
  • CPSC 217 T02 MW 14:00 - 14:50
  • CPSC 217 T03 TR 12:00 - 12:50
  • CPSC 217 T05 MW 14:00 - 14:50
  • CPSC 217 T06 TR 10:00 - 10:50
  • CPSC 217 T07 TR 15:00 - 15:50
  • CPSC 217 T08 MW 11:00 - 11:50
  • CPSC 217 T09 MW 11:00 - 11:50
  • CPSC 217 T10 MW 12:00 - 12:50
  • CPSC 217 T12 TR 16:00 - 16:50
  • CPSC 217 T13 MW 18:00 - 18:50
  • CPSC 217 T14 TR 13:00 - 13:50

Office Hours

  • MW 11:00-12:50 or setup via email (info in D2L Content)

Important Dates

  • University Closed for Thanksgiving Day Monday, October 12th, 2020.
  • University Closed for Remembrance Day Wednesday, November 11th, 2020.
  • Term Break (no classes): Sunday-Saturday, November 8-14th, 2020.
  • Midterm Exam: 19:00-21:00 (7:00-9:00 PM) Wednesday, October 28th, 2020.
  • Final Exam: Tuesday, December 15, 2020 12:00-3:00 PM.

Top Hat

  • Join Code: XXXXX
  • Use your UofC Account to access Tophat, not a CPSC account.

Textbook Resources

  • Starting Out with Python 4e
    • Optional: For those who appreciate a self-paced hard-copy to assist the process of learning to code. No content referenced directly in course. No exercises references either.
    • Digital ebook also available as an option.
    • Earlier version 3e is just as good for our purposes.
  • The Python Workbook 2e: A Brief Introduction with Exercises and Solutions
    • Optional: For those who want a set of challenges for coding. Written by a UofC Faculty member Dr. Stephenson a professor for this course for 10+ years. Has both challenges and solutions as a reference.

The due dates for the assignments and exercises can be found in the Assignments sections of this page.

Support Materials

Technology

  • Python 3 (labs -> 3.6.8)
    • Python 3.8.5 is most recent and can be found for home use
    • Install with 'customize' 'environment variable' option.
    • Check installed version with python -V and python3 -V commands in shell.
  • IDE: Pycharm an IDE for Python
  • repl.it: exercises and optional online IDE
  • Optional: Google Collab: interactive notebooks for python

Assignments

  • Academic misconduct includes, but is not limited to, plagiarism, cheating, tampering or attempts to tamper with examination scripts, class work, grades and/or class records; failure to abide by directions by an instructor regarding the individuality of work handed in; the acquisition, attempted acquisition, possession, and/or distribution of examination materials or information not authorized by the instructor; the impersonation of another student in an examination or other class assignment; the falsification or fabrication of clinical or laboratory reports; the non-authorized tape recording of lectures. Please refer to Sec. K.5 in the University Calendar for complete information.
    If you are involved in an academic misconduct investigation, you will be contacted by the Department of Computer Science to schedule a meeting to discuss the case. Please do not contact your instructor or teaching assistant.

  • Guidelines for Avoiding Plagiarism
  • SimpleGraphics
    • The SimpleGraphics library makes it easy to generate graphics output with Python.
    • SimpleGraphics.py - This is the library itself. Save it in the same folder as your exercise or assignment. You can look at the code in the file if you want to, but don't change it!
    • tutorial.pdf - A tutorial that describes how to draw with the SimpleGraphics library.
    • shapes_test.py - A program that demonstrates the shapes available with the SimpleGraphics library.
  • Assignment 1
    • Due Date: Friday, October 2nd, 2020 23:59 (11:59 PM)
    • Topics: Variables, External Libraries, Function Usage, Expressions, Input, Output, Casting, Types
    • Assignment Description
  • Assignment 2
    • Due Date:Friday, October 23rd, 2020 23:59 (11:59 PM)
    • Topics: Decisions, Repetition
    • Assignment Description
  • Assignment 3
    • Due Date: Tuesday, November 24th, 2020 23:59 (11:59 PM)
    • Topics: Functions, Lists, Strings
    • Assignment Description
  • Assignment 4
    • Due Date: Friday, December 11th, 2020 23:59 (11:59 PM)
    • Topics: Dictionaries, Lists, File Input/Output, Error Handling, Arguments
    • Assignment Description

Exercises Schedule

  • Completed via repl.it
  • Exercise 1: Friday, September 25th, 2020 23:59 (11:59 PM)
  • Exercise 2: Friday, October 9th, 2020 23:59 (11:59 PM)
  • Exercise 3: Friday, October 16th, 2020 23:59 (11:59 PM)
  • Exercise 4: Friday, November 6th, 2020 23:59 (11:59 PM)
  • Exercise 5: Tuesday, November 17th, 2020 23:59 (11:59 PM)
  • Exercise 6: Friday, November 27th, 2020 23:59 (11:59 PM)
  • Exercise 7: Friday, December 4th, 2020 23:59 (11:59 PM)