CPSC 217: Introduction to Computer Science for Multidisciplinary Studies I (July 2025)


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)
  • Cars

Lectures

  • Orientation on Friday, June 12th, 2025 @ 18:00
  • Campus Orientation begin on Wednesday, July 2nd, 2025 @ 09:00
  • Lectures begin on Wednesday, July 2nd, 2025 after orientation
  • Lectures end on Monday, July 28th, 2025 (exam following Wednesday the 30th)
  • L01 MoWeFr 09:00-12:00
  • L02 MoWeFr 09:00-12:00

Tutorials

  • Tutorials will begin on Thursday, July 3rd, 2025
  • T01 TuTh 09:00 - 12:00
  • T02 TuTh 09:00 - 12:00

Office Hours

  • MoWeFr 12:00-12:50 (after class) ICT 712 or setup via email

Important Dates

  • Canada Day: Tuesday, July 1st, 2025. (university closed)
  • Midterm Exam: Monday, July 14th, 2025
  • Final Exam: Wednesday July 30th, 2025

Top Hat

  • Join Code: 942745
  • Use your UofC Account to access Tophat.

Textbook Resources (very very optional)

  • Starting Out with Python 5e
    • Optional: For those who appreciate a self-paced textbook to assist the process of learning to code. No content referenced directly in course. No exercises references either.
    • Digital ebook is only 5e option however, older versions like 4e/3e have hard-copy versions can be found.
    • Earlier version 3e/4e is just as good for our purposes.
    • Digital course preparation for textbook (Not tracked for assessment)
  • 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 introduction to programming via Python courses 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

  • L01 Course Information Sheet (Outline)
  • L02 Course Information Sheet (Outline)
  • Topic 1: Course Organization
  • Topic 2: Introduction to Computer Science
    • Computer Science
    • Areas
  • Topic 3: Programming
    • Programming
    • Variables
    • Writing
    • IPython (optional to understand more about Google Colab)
    • Python API
  • Topic 4: Information and Data
    • Information and Data
  • Topic 5: Decisions
    • Booleans
    • IfElse
  • Topic 6: Repetition
    • Loop Types
    • Loop Usage
  • Midterm Exam: Monday, July 14th, 2025.
  • Topic 8: Structures
    • Lists Basics
    • Lists Complex
    • Sets & Tuples
    • Dictionaries
    • Strings
  • Topic 9: System
    • Command Line
    • Files
    • Exceptions
    • Advanced Python (not on exam)
  • Topic 10: Recursion
    • Recursion
  • Final Exam: Wednesday July 30th, 2025

Technology

  • Python 3 (labs -> 3.13.3)
    • Python 3.13.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
  • Optional: repl.it: online IDE
  • Optional: Google Colab: interactive notebooks for python

Assignments

  • Academic Misconduct” means any Student behaviour which compromises proper assessment of a Student’s Academic Activities and includes:

    1. Cheating;
    2. Fabrication;
    3. Falsification;
    4. Plagiarism;
    5. Unauthorized Assistance;
    6. failure to comply with an Instructor’s expectations regarding conduct required of Students completing academic assessments in their courses; and
    7. failure to comply with exam regulations applied by the Registrar.

    Please refer to Sec. K.3 in the University Calendar for complete information or the University of Calgary's legal Student Academic Conduct Policy or Procedure.
    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 as procedure dictates they redirect you back to the department representative.
  • 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: Tuesday, July 8th, 2025 23:59 (11:59 PM)
    • Topics: Variables, External Libraries, Function Usage, Expressions, Input, Output, Casting, Types
  • Assignment 2
    • Due Date: Tuesday, July 15th, 2025 23:59 (11:59 PM)
    • Topics: Decisions, Repetition
  • Assignment 3
    • Due Date: Tuesday, July 22nd, 2025 23:59 (11:59 PM)
    • Topics: Functions, Lists, Strings
  • Assignment 4
    • Due Date: Wednesday, July 30th, 2025 23:59 (11:59 PM)
    • Topics: Dictionaries, Lists, File Input/Output, Error Handling, Arguments