Materials
Here you will find a listing of lesson materials for the course such as slides, assignments, and similar.
- Project Downloads: Starter files, tutorials, and other downloadable project materials
W1. Welcome Weeks
Getting to Know You: Welcome Week Survey
Getting to know your neighbor Pair-up with two people in the class to ask the following questions. Write down their answers – you will be introducing them during next class!
- What is your name?
- Where is home?
- What is your favorite part about life at Allegheny College so far?
- Do you have any Computer Science experience(s) already (jobs, academic, industrial, similar)?
- Have you done any projects with programming?
- What can you share about the projects?
- What is your favorite phone app?
- What is your favorite breakfast cereal?
Be sure to join the class’ GitHub Organization (check your email!)
Also, be sure that you are in the Discord channel for the course. If you are not in the Discord channel, please let me know!
Activity 01: Installing Essential Tools and Solving the Maze
Installing necessary software for the course (if anyone needs help!)
W2. Reviewing Python
- Literals, Variables, Conditionals, Strings, etc.
- HTML Slides
- Lab 01: Mastering Python Loops
W3. More on Python
- Lists, Dictionaries and Sets (Oh My!)
- HTML Slides
- Activity 02: Getting Started with UV Package Manager
- Lab 02: Mastering Python Data Structures
- Activity 03: Data Cleaning and Advanced Plotting
W4. Continuing on with Python
- Lab 03: Completing Smaller Programs in Python
W5. Numerical Programming
W6. Functions and Functional Things
- Functions and Lambda Functions
- HTML Slides
- Activity 05: Introduction to Software Testing with pytest
- Lab 05: Taylor Series Programming For Approximation
W7. Function-based Programming
- Higher-Order Functions, Decorators & Simple Classes
- HTML Slides
- Activity 06: Introduction to the Sphinx Documentation Library
W8. Object-Oriented Programming and Exceptions
- Object-Oriented Programming and Exceptions
- HTML Slides
- Activity 07: Introduction to Game Development with Pygame
- Lab 06: Midterm Exam Preparation
- Activity 08: Socket Programming with Classes and Exceptions - Chat & Game App
W09. Spring Break
W10. Files, opening and closing files
- Reading & Writing Files
- HTML Slides
- Activity 09: Building Web-Based Data Applications
- Lab 07: Data Analysis and Visualization Programming
W11. Modules and Packages, and More on Python Libraries
W12. More on Complexity and Algorithmic Problem Solving
- Final Project-INDIVIDUAL: Python Application Development_Individual Project
- Final Project-GROUPS: Python Application Development_Group Project
- GitHub Classroom Link
- Note: If you are working in groups (as pairs), please click on the URL and first add your team name. Then have your partner click and select the team name. It is very hard to undo team paring setting and so please do not join the wrong group. If you have any questions about this, please let me know!
- Algorithm Complexity Demonstrations
- HTML Slides
W13. Applications and Development
- Building a File Search Application
- HTML Slides
- Activity 11: Talk It Out - Final Project Telephone Challenge
W14. Application Development and Final Project Presentations
- Building a QR Code Generator Application
- HTML Slides
- Course Learning Objectives Survey
- Worktime: Working on course evaluations, final projects and preparing for final project presentations.
- Final Project Presentations: Friday, 24th April 2026 during lab
Special Notes
Please plan accordingly for the following important deadlines:
- The final project will be due on April 30th, 2026 at 9:00am.
- Presentations will be held on Friday, 24th April 2026 during lab.
- These are hard deadlines and no late submissions can be accepted.