Materials

CS101::Spring 2026

Here you will find a listing of lesson materials for the course such as slides, assignments, and similar.

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

W3. More on Python

W4. Continuing on with Python

W5. Numerical Programming

W6. Functions and Functional Things

W7. Function-based Programming

  • Higher-Order Functions, Decorators & Simple Classes
  • Activity 06: Introduction to the Sphinx Documentation Library

W8. Object-Oriented Programming and Exceptions

W09. Spring Break

W10. Files, opening and closing files

W11. Modules and Packages, and More on Python Libraries

  • Creating Your Own Python Modules
  • Algorithm Complexity
  • Activity 10: Algorithm Performance Analysis: Doubling Experiments

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

W13. Applications and Development

  • Building a File Search Application
  • Activity 11: Talk It Out - Final Project Telephone Challenge

W14. Application Development and Final Project Presentations

  • Building a QR Code Generator Application
  • 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.