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

  • This webpage is under construction.
  • Course material posted on this course website.
  • Community Discussion Boards via discord.com (Invite link in D2L Content)
  • Assignment Submission/Grading via D2L
  • Class interaction via TopHat (UCIT ID) - Do not sign in with high school or other institution TopHat login

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 MS 217

Tutorials

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

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: XXXXXX
  • 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

Technology

  • Python 3 (labs -> 3.12.0)
    • Python 3.13.3 is most recent and can be found here 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 here
  • Optional: repl.it: online IDE here
  • Optional: Google Colab: interactive notebooks for python here

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 Description
    • Houses (July 2021) [house at 400,300 and sun at 100,100]
    • Houses (July 2023) [house at 400,300 and sun at 100,100]
    • Rockets (July 2024) [rocket at 400,300 and moon at 100,100]
  • Assignment 2
  • Assignment 3
    • Due Date: Tuesday, July 22nd, 2025 23:59 (11:59 PM)
    • Topics: Functions, Lists, Strings
    • Assignment Description
  • Assignment 4
    • Due Date: Tuesday, July 29th, 2025 23:59 (11:59 PM)
    • Topics: Dictionaries, Lists, File Input/Output, Error Handling, Arguments
    • Assignment Description