POGIL Activities for CS 1 (Java)

Activities authored by Helen Hu at Westminster College hhu@westminstercollege.edu

With contributions from Greg Gagne and Tricia Shepherd

The first model from each activity is publicly available; email Maria with your preferred Google Drive account for full access to all activities. Please indicate in your email message that you are requesting access for Helen’s “plugged CS 1 activities in Java”.

Each activity may have multiple versions:

All versions include four options for instructor use in the classroom:

Those with full access can view this PDF file for the instructor guides to all activities.

Everyone will be able to view the supporting resource files.

These “plugged” activities assume your students have access to a Java compiler to type code into, as they complete the activities. If you're interested in a set of "unplugged" CS POGIL activities for Java, written by Chris Mayfield, please email Maria Torres-Demas for access at mtorres.demas@gmail.com.

The entire recursion activity (#14) is publicly available.

Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial 4.0 International License.

POGIL Activities for CS 1

1. Operators Activity (includes Team Roles Model)

2. Declarations & Assignments Activity

3. Turtles

4. Introduction to Strings

5. Tracing Activity

6. Boolean Activity

7. Typecasting Activity

8. Intro to Loops Activity (While Loops)

9. Loop Design Activity

10. Arrays and For-Loops Activity

11. Class Design Activity

12. Constructors Activity (not recommended)

13. Scope Activity (not recommended)

14. Inheritance Activity

15. Polymorphism Activity

16. Advanced Arrays

17. Recursion Activity

18. Exceptions Activity

19. File I/O Activity

20. ArrayList Activity

POGIL Activities on Process Skills

A. Team Roles Activity

B. Providing Constructive Feedback


1. Operators Activity (includes Team Roles Model)

Original Version (with Team Roles):

Shorter Version (without Team Roles):

Note: Standalone Team Roles Activity is here.

Team Roles Model (Model 1) authored by Mark Morehouse and uses these POGIL Role cards; Models 2 and 3 authored by Helen Hu.

The Process Analyst will need these "Evidence of Competencies" forms.

Content Learning Objectives

After completing this activity, students should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


2. Declarations & Assignments Activity

Original Activity (no other versions):

Content Learning Objectives

After completing this activity, students should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


3. Turtles

Original Activity (no other versions):

Resources:

Content Learning Objectives:

After completing this activity, learners should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


Activities 4 (Strings), 5 (Tracing), 6 (Booleans), and 7 (Type Casting) can be re-ordered to fit your syllabus.

For example, another order that has worked in the past is Activities 6 (Booleans), 4 (Strings), 7 (Type Casting), and 5 (Tracing)


4. Introduction to Strings

Original Version (with Team Roles):

First Half of Activity (Models on “Representation of a String” & “String Methods”):

Second Half of Activity (Model on “Common Errors Calling Messages”):

Resources:

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives:

During the activity, students should make progress toward:


5. Tracing Activity

Original Version (with Turtle Class):

Alternative Version (with Point Class):

Resources:

This activity could be given after the Activity 3 (on Turtles) by making minor edits to the tracing assignments at the end of the activity (specifically Team Trace 2). This activity is based on a 2013 SIGGRAPH paper by Matthew Hertz and Maria Jump, and inspired by a POGIL activity by David Walter.

Prerequisites:

  1. Students should be familiar with the primitive data types (int and double).
  2. Students should be familiar with class data types (Turtle, World, Scanner, and String).

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives:

During the activity, students should make progress toward:


6. Boolean Activity

Original Activity (no other versions):

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives:

During the activity, students should make progress toward:


7. Typecasting Activity

Original Activity (no other versions):

Resources:

Prerequisites:

  1. Students should understand the binary number system. I give this CS Unplugged Count-the-Dots lesson (10-15 minutes in a college class) on the same day as this Type Casting activity.
  2. Students should be familiar with the four types: boolean, char, int, and double. These types are currently introduced in the above activities 2, 4, and 5. (With minor edits to the activity, this activity could be given earlier.)

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives:

During the activity, students should make progress toward:


8. Intro to Loops Activity (While Loops)

Original Version (With Feedback Activity):

Shorter Version (Without Feedback Activity):

Resources:

Note: Standalone Feedback activity is here

Preparation:

Model 1 of this activity asks students to consider how to provide better feedback as Process Analyst. I bring copies of all the feedback turned in so far (with names blacked out).

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives:

During the activity, students should make progress toward:


9. Loop Design Activity 

Original Version (Full):

First Half of Activity (Model on “Building While-Loops from Pseduocode”):

Second Half of Activity (Models on “While Loops” & “Common Loop Errors”):

Resources:

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


10. Arrays and For-Loops Activity 

Original Version (Full):

First Half of Activity (Models on “Arrays” & “Arrays and For-Loops”):

Second Half of Activity (Model on “For-Loops”)

Resources:

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


11. Class Design Activity

Original Version (Full Activity with Turtle Class):

Alternative Version (Full Activity with Point Class):

Shorter Versions:

First Half of Original Activity (Models on “Class Definitions” & “Designing a Class”):

Second Half of Original Activity (Models on “Designing a Java Class” and “Printing a Java Class”):

First Half of Alternative Activity (Models on “Class Definitions” & “Designing a Class”):

Second Half of Alternative Activity (Models on “Designing a Java Class” and “Printing a Java Class”):

Resources:

a. Media Comp Class Design Activity - relies on Turtle class (Java code not needed, but found on Georgia Tech’s Media Computation Teachers Website)

b. Class Design Activity

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


12. Constructors Activity (not really POGIL)

This activity is in beta-form. It does not follow the Explore - Invent - Apply learning cycle that most POGIL activities should follow.  

Original Version (Full Activity):

First Half of Activity (Models on “Constructors” & “Writing Constructors”):

Second Half of Activity (Model on “Static Variables”):

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


13. Scope Activity

Original Activity (no other versions):

Resources:

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


14. Inheritance Activity

Original Version (Full Activity):

First Half of Activity (Models on ‘Is a’ versus ‘Has a’” & “Inheritance”):

Second Half of Activity (Model on “Super”):

Resources:

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


15. Polymorphism Activity 

Original Version (Full Activity):

First Half of Activity (Models on “Inheritance Review” & “Multiple Types”):

Second Half of Activity (Models on “Multiple Types” & “Polymorphism”):

Resources:

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives


16. Advanced Arrays

Original Version (Full Activity):

First Half of Activity (Model on “Arrays of Objects”):

Second Half of Activity (Models on “Two Dimensional Arrays” & “Ragged Arrays”):

Resources:

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


17. Recursion Activity 

Original Version (Full Activity):

First Half of Activity (Models on “Factorials” & “Recursion”):

Second Half of Activity (Models on “Recursion” & “Order of Execution”):

Resources:

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


18. Exceptions Activity

Original Activity (no other versions):

Resources:

Content Learning Objectives

Process Learning Objectives

 


19. File I/O Activity

Original Version (Full Activity):

First Half of Activity (Model on “Variable Names”):

Second Half of Activity (Model on“File Readability”):

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives

During the activity, students should make progress toward:

 


20. ArrayList Activity

Original Version (Full Activity):

First Half of Activity (Models on “Inserting Elements” & “Methods Similar to Array Functionality”):

Second Half of Activity (Models on “Programming with ArrayLists” & “ArrayList Extras”):

Resources:

Content Learning Objectives

After completing this activity, learners should be able to:

Process Learning Objectives

During the activity, students should make progress toward:


POGIL Activities on Process Skills

A. Team Roles Activity

Versions

Team Roles Model authored by Mark Morehouse and uses these POGIL Role cards; Models 2 and 3 authored by Helen Hu.

The Process Analyst will need these "Evidence of Competencies" forms.

B. Providing Constructive Feedback

Versions