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
- To be added
Thank you to all those who have shared their work with us.