These POGIL activities are a mix of original activities and adapted Python or Java activities to C++. We are sharing our C++ POGIL activities following the example of Chris Mayfield.
POGIL activities for CS1, CS2, and Algorithms and Computation.
Many authors have contributed to these activities, including Jonathan Duncan, Preston Carman, and James Foster. Our ideas and many activities go back to the original others: Chris Mayfield, Helen Hu, Clif Kussmaul, and others. See individual source files for specific attribution.
The documents in this repository are written in LaTeX. Each source file contains a single model and its accompanying questions. Activities are composed by including (with \input) a sequence of models.
You can browse each of the models and activities separately.
The renderLatexFile.sh script compiles student and teacher PDFs for each LaTeX source file.
The diagrams and other figures were drawn using Dia, LibreOffice, and diagrams.net. For some diagrams, the source files are included, and for others, the source is embedded in the PDF itself.
Unless otherwise noted, this work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
For more information, see POGIL, CS POGIL, and Intro CS POGIL.
- Introduction to C++
- Arithmetic Operations and Assignment
- Algorithmic Thinking
- C++ Types and Typecasting
- Boolean Expressions
- If/Else Statements
- While Loops
- For Loops
- Nested Loops
- Vectors
- Void Functions
- Value Returning Functions
- Parameter Passing
- Variable Scope
- Coding Style
- Arrays
- Reading from Files
- Writing to Files
- A Programming Language Tour
- Introduction to Classes
- Constructors and Overloading
- Inheritance
- UML and Class Design
- Pointers
- Version Control
- Exception Handling
- Recursion
- Algorithm Analysis
- Sorting
- Linked List
- Stacks and Queues
- Hashing
- Graphs
- Binary Trees
- Binary Search Trees
These activities are based on the first chapters of Code: The Hidden Language of Computer Hardware and Software (1st ed.) by Charles Petzold, though the material largely corresponds to the structure of the 2nd edition.
- Communication
- Electricity
- Number Systems
- Logic and Gates
- Addition
- Subtraction
- Memory
- Automation (Part 1)
- Automation (Part 2)
- Characters
Thank you to all those who have shared their work with us.