CPSC 217: Introduction to Computer Science for Multidisciplinary Studies I (July 2024)
Announcements
- Website under construction.
- CPSC Account Passwords (IT Page)
- Course material posted on this course website.
- Tutorial Exercises via repl.it (Invite link in D2L Content)
- Community Discussion Boards via discord.com (Invite link in D2L Content)
- Exams and 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 Xth, 2024 @ X:XXpm
- Lectures begin on Friday, June Xth, 2024
- Lectures end on Friday, July Xth, 2024 (exam following X the Xth)
- L01 MoWeFr 09:00-12:00 XX XXX
Tutorials
- Tutorials will begin on Tuesday July Xth, 2024
- T01 TuTh 09:00 - 12:00 XX XXX
Office Hours
- MoWe 12:00-12:50 (after class) ICT 712 or setup via email
Important Dates
- In Lieu of Canada Day: X, July Xth, 2024. (university closed)
- Midterm Exam: X, July Xth, 2024
- Final Exam: X July Xth, 2024
Top Hat
- Join Code: XXXXXX
- Use your UofC Account to access Tophat.
Textbook Resources (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
- Course Information Sheet (Outline)
- Topic 1: Course Organization pdf
- Topic 2: Introduction to Computer Science
- Topic 3: Programming
- Topic 4: Information and Data
- Information and Data slides pdf
- Code
- 1_Representation.py
- Notebook ipynb
- Topic 5: Decisions
- Topic 6: Repetition
- Midterm Exam: Friday, July Xth, 2024.
- Topic 1 to Topic X
- 40 Multiple Choice (40 marks), 1 Long Answer Written Question worth 10 Marks
- Synchronous Exam in-person
- 90 minutes
- Example written question (Loops)
- Example tracing question (Loops)
- CPSC 217 Review Materials (There will be no short answer questions on my exams.)
- CPSC 217 Fall 2019 Exam
- CPSC 217 Summer 2019 Exam
- CPSC 217 Fall 2018 Exam
- CPSC 217 Fall 2017 Exam
- CPSC 217 Winter 2017 Exam
- CPSC 217 Fall 2015 Exam
- CPSC 217 Fall 2014 Exam
- CPSC 217 Winter 2014 Exam
- CPSC 217 Fall 2012 Exam
- CPSC 217 Fall 2011 Exam
- Exams from 2010 and earlier used Python 2 instead of Python 3. As a result, some of the code on the older exams will not run successfully in the current version of Python.
- CPSC 217 Fall 2010 Exam
- CPSC 217 Summer 2010 Exam
- CPSC 217 Fall 2009 Exam
- CPSC 217 Spring 2009 Exam
- CPSC 217 Fall 2008 Exam
- Midterm Exam Answer Viewer.
- Note that it is always possible that an incorrect answer has been entered into the database. If you spot something that appears to be wrong, please let the instructor know so that the problem can be corrected.
- Topic 7: Functions
- Topic 8: Structures
- Topic 9: System
- Topic 10: Recursion
- Final Exam: Monday July Xth, 2024.
- Final Exam Practice Questions
- Final Exam Answer Viewer.
- Additional Practice Parsons Problems
- Topic 1 to Topic 10
- 40 Multiple Choice (40 marks), 2 Long Answer Written Questions (worth 10 marks each)
- 120 minutes
- Computing the Total (Solution)
- Format As Currency (Solution)
Technology
- TODO: Update for July 2024
- Python 3 (labs -> 3.10.6)
- Python 3.11.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
- repl.it: exercises and optional online IDE here
- Optional: Google Colab: interactive notebooks for python here
Assignments
-
TODO: Update for July 2024
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.3 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, July Xth, 2024 23:59 (11:59 PM)
- Topics: Variables, External Libraries, Function Usage, Expressions, Input, Output, Casting, Types
- Assignment 2
- Due Date: Friday, July Xth, 2024 23:59 (11:59 PM)
- Topics: Decisions, Repetition
- Assignment 3
- Due Date: Friday, July Xth, 2024 23:59 (11:59 PM)
- Topics: Functions, Lists, Strings
- Assignment 4
- Due Date: Friday, July Xth, 2024 23:59 (11:59 PM)
- Topics: Dictionaries, Lists, File Input/Output, Error Handling, Arguments