CS1

Beetle

In this lab, students dissect a working implementation of the Beetle (Cootie) game using process oriented guided inquiry learning (POGIL). Learning objectives include understanding class anatomy, using objects, and problem solving. This lab allows students to read an existing program rather than creating one from scratch.

The author of this material was awarded a 2017 NCWIT Engagement Excellence Award for this and two other of his POGIL assignments. Learn more about the award at https://www.ncwit.org/project/ncwit-engagecsedu-engagement-excellence-awards.

Engagement Excellence

Maze

In this project, a student (or a pair of students) completes a Java program that generates and then solves a maze. A skeleton file is provided so that the student need only complete several methods. JUnit tests provide instant feedback on whether each method has been implemented correctly. Learning objectives include sophisticated use of recursion and arrays (including three-dimensional arrays and fill pointers).

Conditional If Statements Assignment with the SpaceSmasher Game

The purpose of this assignment is to let students experiment with conditional “if” statements while building features of an actual game in Java.  The features explored in this assignment include collision detection, sprite manipulation, mouse and keyboard controls, as well as advanced game mechanics such as power-ups and multi-balls.  Students will practice branching and gain proficiency with Selection Control Structures (“if” and “switch” statements) while producing a customized version of their very own block-breaking real time simulation. 

Towers of Hanoi

In this lab, students using process oriented guided inquiry learning (POGIL) dissect a program that solves the Towers of Hanoi puzzle. Three increasingly sophisticated implementations are provided: one that hard-codes the solution, one where methods call other methods to solve simpler problem instances, and one using recursion. Learning objectives include understanding recursion and critical thinking. This lab allows students to read an existing program rather than creating one from scratch.

The author of this material was awarded a 2017 NCWIT Engagement Excellence Award for this and two other of his POGIL assignments. Learn more about the award at https://www.ncwit.org/project/ncwit-engagecsedu-engagement-excellence-awards.

Engagement Excellence

Anagrams

In this lab, students dissect a working implementation of an Anagrams game using process oriented guided inquiry learning (POGIL). Learning objectives include tracing through a sequence of method calls, JUnit testing, and information processing. This lab allows students to read an existing program rather than creating one from scratch.

Domineering

In this project, a student (or a pair of students) completes a Java implementation of the Domineering board game. Advice is provided on breaking this program down into methods and testing those methods. Learning objectives include using multidimensional arrays, developing a simple GUI and manually testing individual methods.

Tic-Tac-Toe

In this lab, students dissect a working implementation of the Tic-Tac-Toe game using process oriented guided inquiry learning (POGIL). Learning objectives include functional decomposition, using multidimensional arrays, and team management. This lab allows students to read an existing program rather than creating one from scratch.

Pig

In this project, a student (or a pair of students) builds from scratch a Java implementation of the Pig dice game. Advice is provided on breaking this task down into stages. Learning objectives include using Java data types, operators, and control structures.

Video Reflections

These reflective written exercises connect computer science class material to everyday life experience of the students, illustrate interdisciplinary applications of computing and technology, and highlight the new issues that computing technology brings. Each exercise consists of a video to view and discussion questions to answer in writing (e.g. "How would your day-to-day life change if you had access to an affordable 3D printer and raw materials?" or, "How do algorithms shape our world"?).  Students are allowed to work solo or in pairs, and to use any resources available to them (internet sites and forums, classmates, family members, friends outside of class, etc.) No prior experience with computer science is necessary to complete the exercises, and no programming is involved.

Shut the Box

In this lab, students dissect a working implementation of the Shut the Box dice game using process oriented guided inquiry learning (POGIL). Learning objectives include declaring and creating arrays and accessing their elements, using and explaining the parts of for loops, and working effectively as a team. This lab allows students to read an existing program rather than creating one from scratch.

The author of this material was awarded a 2017 NCWIT Engagement Excellence Award for this and two other of his POGIL assignments. Learn more about the award at https://www.ncwit.org/project/ncwit-engagecsedu-engagement-excellence-awards.

Engagement Excellence
Subscribe to CS1