Programming Fundamentals

Computer Science 1 courses vary widely, so it might also be useful to consider activities designed for Computer Science 0 and/or Computer Science 2.

Helen Hu - Computer Science 1 - Java

These activities were developed by Helen Hu for Computer Science 1 in Java. The activities are at: http://goo.gl/NtjyY4.

Stage Activity Name
4: Adopted A. Team Roles (Process Skills)
4: Adopted B. Providing Constructive Feedback (Process Skills)
  - - - - - - - - - -
4: Adopted 1. Operators (includes Team Roles Model)
4: Adopted 2. Declarations & Assignments
4: Adopted 3. Turtles
4: Adopted 4. Introduction to Strings
4: Adopted 5. Tracing
4: Adopted 6. Booleans
4: Adopted 7. Typecasting
4: Adopted 8. Intro to Loops (While-Loops)
4: Adopted 9. Loop Design
4: Adopted 10. Arrays and For-Loops
4: Adopted 11. Class Design
4: Adopted 12. Constructors (not recommended)
4: Adopted 13. Scope (not recommended)
4: Adopted 14. Inheritance
4: Adopted 15. Polymorphism
4: Adopted 16. Advanced Arrays
4: Adopted 17. Recursion
4: Adopted 18. Exceptions
4: Adopted 19. File I/O
4: Adopted 20. ArrayLists

Chris Mayfield - Computer Science 1 - Java

These activities were developed by Chris Mayfield and colleagues for Computer Science 1 in Java. The activities are at: https://github.com/ChrisMayfield/cspogil/tree/master/CS1.

Stage Activity Name Notes
4: Adopted 1. Introduction to Java EngageCSEdu
4: Adopted 2. Arithmetic Operators
4: Adopted 3. Data Types
4: Adopted 4. Multiple Methods
4: Adopted 5. Boolean Logic EngageCSEdu
4: Adopted 6. Loops & Iteration
4: Adopted 7. Arrays of Numbers
4: Adopted 8. Recursive Methods
4: Adopted 9. Object-Oriented
4: Adopted 10. Classes and UML
3: Revised 11. Designing Classes
4: Adopted 12. Arrays of Objects
4: Adopted 18. Linked Structures

Chris Mayfield - Computer Science 1 - Python

These activities were developed by Chris Mayfield, Tricia Shepherd, and Helen Hu for Computer Science 1 in Python. For full access, contact Chris Mayfield.

Stage Activity Name Notes
4: Adopted 1. Introduction to Python EngageCSEdu
4: Adopted 2. Arithmetic Expressions
4: Adopted 3. Basic Data Structures
4: Adopted 4. Conditions and Logic EngageCSEdu
4: Adopted 5. Loops and Iteration
4: Adopted 6. Defining Functions
4: Adopted 7. Lists and Strings
4: Adopted 8. Importing Modules
4: Adopted 9. Nested Structures
4: Adopted 10. File Input/Output
4: Adopted 11. Visualizing Data
4: Adopted 12. Defining Classes
4: Adopted 13. Extending Classes
4: Adopted 14. Recursive Functions
4: Adopted Meta Activities: Team Roles, Team Disruptions, What Employers Want, Group vs Team, POGIL Research
4: Adopted Case Studies: Academic Honesty

Lisa Olivieri - Computer Science 1 - Python

Lisa Olivieri (lolivier@chc.edu) is Associate Professor of Computer Science and Technology at Chestnut Hill College. These activities were developed for Computer Science 1 using Python. The activities are here.

Stage Activity Name
3: Refined 01. Intro to Python
3: Refined 02. Input & Variables
3: Refined 03. Arithmetic & Assignment
3: Refined 04. Formatting Statements
3: Refined 05. Boolean Expressions
3: Refined 06. If-Else
3: Refined 07. Nested If-Else
3: Refined 08. While Loops
3: Refined 09. For Loops
3: Refined 10. Nested Loops
3: Refined 11. Predefined Functions
3: Refined 12. Void Functions
3: Refined 13. Value Functions
3: Refined 14. Reading from Files
3: Refined 15. Writing to Files
3: Refined 16. Lists
3: Refined 17. List Functions
3: Refined 18. More Lists & Strings
3: Refined xx. Flowcharts & Python (old)

Clif Kussmaul - Computer Science 1 - Python

These activities were developed by Clif Kussmaul for Computer Science 1 in Python.
For sample versions, click here. For full access, contact Clif Kussmaul.

Stage Activity Name
3: Refined Code Reading I: Notice and Focus
3: Refined Code Reading II: Functions
2: Piloted Code Reading III: Files
3: Refined Python Types, Values, and Expressions
3: Refined Python Style
3: Refined Python Text Game I, II
3: Refined JES Audio Synthesis I, II, III
3: Refined Programming Language Tour (comparison of many languages)

Sofia Lemons - Computer Science 1 - Java

These activities were developed by Sofia Lemons for Computer Science 1 in Java. Most activities include a lesson plan with introductory discussion prompts and end-of-class assessment questions (implemented as Kahoot quizzes.)
For sample versions or full access, contact Sofia Lemons.

StageActivity Name
2: PilotedJAV_CODE - Code reading in Java
3: RefinedJAV_BRANCH_1 - Branching I
3: RefinedJAV_BRANCH_2 - If-Else Statements
3: RefinedJAV_ARR_2 - Arrays & Initialization
3: RefinedINTELLIJ_DEBUG_1 - Debugging Java in IntelliJ
3: RefinedINTELLIJ_DEBUG_2 - Debugging Java Methods in IntelliJ
2: PilotedALG_THINKING - Algorithmic Thinking
3: RefinedDECOMP - Decomposition
3: RefinedPROB_SOLVING - Problem Solving Strategies
2: PilotedJAV_DES - Iterative Design
3: RefinedJAV_BIN - Binary Numbers
3: RefinedJAV_METH_1 - Methods Introduction
3: RefinedJAV_METH_2 - Methods & Parameters
2: PilotedJAV_MOD - Modularity
2: PilotedJAV_MIS - Common Misconceptions

Computer Science 2 courses vary widely, so it might also be useful to consider activities designed for Computer Science 1 and/or Algorithms and Computation.

Clif Kussmaul - Computer Science 2 - Java

These activities were developed by Clif Kussmaul for Computer Science 2 in Java.
For sample versions, click here. For full access, contact Clif Kussmaul.

Stage Activity Name
3: Refined Code Reading I: Notice and Focus
3: Refined Code Reading II: Functions
2: Piloted Code Reading III: Files
3: Refined Java Style
3: Refined Java Types & References
3: Refined Java Unit Testing I: Concepts; II: JUnit & Strategies
3: Refined Java Inheritance I: Concepts; II: Details, III: Interfaces
3: Refined Java Error Handling I: Strategies; II: Exceptions
3: Refined Java Files I: Approaches; II: API Classes
3: Refined Java Generics & Collections
1: Drafted JDK Math
1: Drafted JDK Arrays
1: Drafted JDK ArrayList
1: Drafted JDK String

Clif Kussmaul - Algorithms and Computation - Java

These activities were developed by Clif Kussmaul for Computer Science 2 in Java.
For sample versions, click here. For full access, contact Clif Kussmaul.

Stage Activity Name
5: Endorsed Searching in Hi-Lo (listed in Computer Science 0)
3: Refined Hash Tables: I: Concepts; II: Collisions
3: Refined (Linked) Lists: I: Abstraction; II: Implementation
3: Refined Stacks & Queues I: Stacks; II: Queues
3: Refined Sorting I: Sort & Compare
(not yet written) Sorting II: Simple Sorts
3: Refined Sorting III: Merge Sort
3: Refined Sorting IV: Split Sort (Quicksort)

Tammy VanDeGrift - Computer Science 2 - C/C++

These activities were developed by Tammy VanDeGrift for Computer Science 2 using C/C++.
For full versions, click here.

Stage Activity Name
2: Piloted 01. C Syntax
2: Piloted 02. C Pointers
2: Piloted 03. C Arrays and Strings
2: Piloted 04. C Structs
2: Piloted 05. C Files

Tammy VanDeGrift - Algorithms and Computation - C/C++

These activities were developed by Tammy VanDeGrift for Computer Science 2 using C/C++.
For full versions, click here.

Stage Activity Name
2: Piloted 06. Binary Search & Complexity
2: Piloted 07. Complexity Practice
2: Piloted 08. Linked Lists
2: Piloted 09. Stacks
2: Piloted 10. Queues
2: Piloted 11. Binary Trees
2: Piloted 12. Binary Search Trees
2: Piloted 13. Selection and Insertion Sort
2: Piloted 14. Quicksort and Mergesort
2: Piloted 15. Graphs
2: Piloted 16. DFS and BFS
2: Piloted 17. Dijkstra
2: Piloted 18. Hashing
2: Piloted 19. Collisions

Peter Drake - Computer Science 2 - Java

Peter Drake (drake@lclark.edu) is Associate Professor of Computer Science at Lewis and Clark College. These activities were developed for Computer Science 2 as part of the project Learn Java in N Games, which includes other (non-POGIL) activities. The activities are at: http://ljing.org.

Stage Activity Name Notes
3: Refined 01. Shut The Box - arrays. loops, teamwork EngageCSEdu Engagement Excellence Award
3: Refined 04. Tic-Tac-Toe - Javadoc, 2D arrays, teamwork EngageCSEdu
3: Refined 07. Anagrams - trace calls, JUnit, info processing EngageCSEdu
3: Refined 10. Towers of Hanoi - recursion, critical thinking EngageCSEdu Engagement Excellence Award
3: Refined 13. Beetle - classes, problem solving EngageCSEdu Engagement Excellence Award
3: Refined 16. Pong - objects, UML, communication
3: Refined 19. High Scores I - insertion sort, merge sort
3: Refined 22. Railyard - stacks, queues, interfaces
3: Refined 25. High Scores II - binary search, collections, info processing
3: Refined 28. Hex - graphs, depth-first, critical thinking

Sofia Lemons - Computer Science 2 - Java

These activities were developed by Sofia Lemons for Computer Science 2 in Java. Most activities include a lesson plan with introductory discussion prompts and end-of-class assessment questions (implemented as Kahoot quizzes.)
For sample versions or full access, contact Sofia Lemons.

Stage Activity Name
3: Refined JAV_INT - Interfaces & Abstract Classes
3: Refined JAV_INH - Inheritance
3: Refined ALG_REC_2 - Control flow, tail recursion, & backtracking
3: Refined ALG_SEARCH - Sequential & binary search
3: Refined ALG_POST - Infix & postfix notation
3: Refined ALG_TREE_1 - Trees
3: Refined ALG_TREE_2 - Binary Search Trees
3: Refined ALG_TREE_3 - Expression Trees & Traversals
2: Piloted ALG_TREE_4 - State Trees
3: Refined ALG_TREE_5 - Game Trees
3: Refined ALG_SORT_2 - bubble, selection, & insertion sort

Contributors to this page: Clif Kussmaul .
Page last modified on Wed August 29, 2018 10:20:30 EDT by Clif Kussmaul. (Version 1)