CS1

Mad Lib Haiku Lab

This resource is a lab assignment that creates a “Mad Lib™” haiku based on user input. It requires the use of strings and string manipulation functions. The lab can be assigned to individual students or to pairs. The outcome is for students to be able to manipulate strings. In order to make real world connections, students are also asked to list at least one program that uses the strings of data such as finding strings, replacing strings, etc.

Virtual Pets and ADTs

In this lab students are to create a program in which the user interacts with virtual pets with different needs. Students are first asked to plan and design classes in the form of ADT's with their fellow classmates. Once they are designed, students are asked to work individually to implement the classes.

Embedding Messages in Images

In this laboratory, students are asked to embed a message within an image in order to send an email to a friend through an unsecured site. Students will design an algorithm for encryption/ decryption and compute Big-O for each.

Lightboard Lab

Lightboard Lab is a loops/lists/tuples lab assignment for a CS0/CS1 course. For this lab, students program 8x8 matrices of LED lights via a Fadecandy microcontroller. Students are encouraged to work in pairs and/or individually for this lab.

Engagement Excellence

Game of Student's Choice

Game of Student's Choice is a loops/file I/O/strings/lists/dictionaries/classes programming assignment for a CS0/CS1 course. For this assignment, students have the option of either implementing an object-oriented Tic Tac Toe game (for which the requirements are rigorously specified) or a game of their choice (for which the requirements are loosely specified). The purpose of providing the option is to support students who are not comfortable yet with classes to get started with scaffolding (Tic Tac Toe) and to support those who are comfortable with classes to get started on a project of their own imagination.

ASCII Text Art

ASCII Text Art is a loops/file I/O/strings/lists/dictionaries programming assignment for a CS0/CS1 course. For this assignment, students read in 26 text files, where each files stores ASCII art for a letter of the upper case alphabet. For example, A.txt stores ASCII art for the letter A, B.txt stores ASCII art for the letter B, and so on. The ASCII art for each letter is represented in the program as a list of strings, one string per line in the file. Collectively, all 26 lists are stored in a dictionary as letter (key) and list (value) pairs. Once loaded into the dictionary, the assignment requires students to modify the ASCII art by replacing characters. Lastly, the program prompts the user for a string of letters and the program writes the string to a file using the modified ASCII art.

PPM Image Modifier

PPM Image Modifier is a loops/file I/O/strings programming assignment for a CS0/CS1 course. For this assignment, students open a PPM image file, apply a modification to the image, and write the modified image to an output image file. The modifications for the students to perform include: negate, high contrast, gray scale, remove red, remove green, and remove blue. Students are to work individually on the assignment.

A Game of Craps

Craps is a functions/conditionals/loops programming assignment for a CS0/CS1 course. To do this assignment, students implement the game and add personality output by including "chatter" messages.

Students are to work individually on the assignment.

"Are You a Fan?" Quiz

Are You a Fan Quiz is a functions/conditionals programming assignment for a CS0/CS1 course. Students are to work individually on the assignment. To do this assignment, students select a topic of their choosing and construct a quiz of multiple choice, T/F, and free response questions. The user's responses to each question are scored and the final score is displayed to the user, along with a message about how well they know the topic.

Engagement Excellence

Google Maps Pairwise Distances

Google Maps Pairwise Distances is a functions programming assignment for a CS0/CS1 course. It uses the Google Maps API in order to determine distances between pairs of US cities. Students are to work individually on the assignment.

Subscribe to CS1