This folder contains activities for CS 101 at James Madison University. 101 is a survey course that uses Python and aligns with AP CS Principles.
Course website: https://w3.cs.jmu.edu/mayfiecs/cs101/
Each subfolder contains the LaTeX source for the activity. Instructor's guides (content/process objectives, facilitation notes) are under development.
- Introduction -- hi-lo game, algorithms and complexity, fast vs easy
- Data Storage -- logic gates, digital circuits, binary and hexadecimal
- Program Execution -- computer architecture and machine instructions
- Operating Systems -- screenshots, interaction with apps and hardware
- Computer Networking -- IP, DNS, bandwidth and latency, speed tests
- Information Security -- basic encryption, Caesar cipher, Vigenère cipher
- Algorithms and Python -- using IDLE, print, raw_input, guessing game
- Programming Languages -- Y86-64 assembly vs Standard C vs Python
- Software Engineering -- software dev life cycle, waterfall vs iterative
- Data Structures -- contiguous arrays, indexes, linked lists, pointers, null
- Database Systems -- select and project, Cartesian product and theta join
- Artificial Intelligence -- 8-puzzle, tic-tac-toe, search trees, heuristics
Activity 9 has not yet been written; check back in Fall 2019. I'm currently using Clif Kussmaul's "Software Dev Life Cycles" activity (see cspogil.org).
The Meta folder contains additional models for team development.