CS1

POGIL: Internet I - Structure

This is a team-based classroom activity designed for Process-Oriented Guided Inquiry Learning (POGIL). Teams of 3-4 students work together to learn about the Internet’s structure by comparing it to a city and abstracting it to graphs, comparing highways and streets to demonstrate bandwidth, and explaining what ISPs are. This is part one of a three part series on POGIL Internet. The subsequent lessons can be found here: Internet II and Internet III.

The attached files are the student versions of Internet I. Please contact the author (Clif Kussmaul, clif@kussmaul.org) for the teacher versions with solutions and additional information.

Engagement Excellence

POGIL: Search I - Text Search

This is a team-based classroom activity designed for Process-Oriented Guided Inquiry Learning (POGIL). Teams of 3-4 students work together--and offline--to explore how text searches work using the classic poem, The Blind Men and the Elephant, as the search target. Groups work through different search approaches to better understand how computers search through text.

This is part one of a two part series on POGIL Search. Part II can be found here. The attached file is the student version of the activity. Please contact the author (Clif Kussmaul, clif@kussmaul.org) for the teacher versions with solutions and additional information.

Engagement Excellence

Console Game Application

In this assignment, students build a game where monsters are hidden in an array of cells and the player guesses which cell the monsters are in. It is a fun culminating project for a CS1 course that has students apply fundamental programming topics such as data types and variables, input/ output, classes, arrays, and others.

This simple console application employs all of the skills students should have at the completion of CSE 1301 (Programming and Problem Solving), and gives the instructor an idea if they are ready to move on to CSE 1302 (Programming and Problem Solving II). See attached course schedule and syllabus for more information about sequencing.

Weather Data Analysis

This assignment helps students gain experience and proficiency with the Python pandas package in order to learn how to visualize weather data.  Students use Python to get sample outputs and then graph weather data such as maximum and minimum temperatures as well as number of days with rain. 

Matching Game, a CS1 Project

In this project, students build a matching game in order to gain experience and proficiency with loops, control flow, two-dimensional arrays, writing functions from their specifications and making simple graphical interfaces. In addition, students will learn how to manipulate game state to represent a game board, use randomness to vary the game state, change game state in response to user clicks, and draw a graphical representation of that game state.

Computational Creativity Exercise (CCE): Storytelling

In this assignment students work as a team to develop chapters of a story where the first and last sentence of the chapter is prescribed. Students first work independently developing their own chapter and then work collaboratively to identify and resolve logical inconsistencies in the chapters in order to produce a final coherent story.  This exercise will allow students to practice problem decomposition, abstraction, and evaluation, and also debugging and testing.

This exercise was developed as part of the NSF-funded Computational Creativity project at the University of Nebraska-Lincoln.

Engagement Excellence

TEACHING PAPER: Process Oriented Guided Inquiry Learning (POGIL) in Computer Science

This Teaching Paper is an introduction to how to do POGIL in an introductory computing classroom. POGIL is an evidence-based instructional strategy that incorporates collaborative learning practices that can be useful for creating inclusive student community that can benefit students from traditionally underrepresented populations. In a POGIL classroom, student teams work on activities that are specifically designed to guide them to discover and understand core concepts (the guided inquiry) together.

File I/O - Name Redaction

This lab requires students to use file I/O methods to process a text file and make a new copy with some minor changes.  In particular, students must write code that looks for particular strings in the original file and then replaces them in the copy.  The real-world theme of the assignment is name redaction from sensitive documents.

Computational Creativity Exercise (CCE): Everyday Object

Students will be required to clearly describe the functions of an ordinary object they may use daily, as if they were the inventor of the object. This exercise will allow students to practice problem decomposition, abstraction, algorithmic thinking, and evaluation; as well as, modular programming and encapsulation. To encourage practice, this exercise fosters creativity; asking students to look at the objects in new ways, such as examining the object’s environment and considering its usage. Students work together to develop teamwork skills.

This exercise was developed as part of the NSF-funded Computational Creativity project at the University of Nebraska-Lincoln.

Voters Lab

This lab involves students coming up with a poll on a subject in which they are interested; administering the poll to students, faculty and staff on campus; and writing a program to calculate and manipulate poll results. The example provided uses a poll based upon the 2016 US presidential election, although any poll data will do. One goal of this lab is for students to learn how to use arrays of structures. Another is for students to create a program that uses most of the concepts covered in CS1 as a culminating project. Students may work individually or in pairs.

Subscribe to CS1