CS1

Final Project: Sketchy

In this project, students incorporate a variety of programming skills to write a program that allows a user to draw images in a Java graphics window. Students, in addition to practicing with graphics, GUI programming and file i/o, are introduced to the stack data structure used to implement an undo/redo functionality.

Addition Circuits

In this lab, students work individually or collaboratively to design several circuits. Using a digital circuit design tool called Logism, students will build an 'adder' - a key component of a modern digital computer. This lab covers three 'adder' subcircuits (MyXOR, full adder, 4-bit ripple carry adder).

Hmmm… Assembly!

In this lab, students learn about programming in assembly language. Using the IDLE programming environment and Python, students must run an assembler and simulator.

Chess Problems

In this activity, students exercise their understanding of file reading and graphics to display a chess problem as specified by data provided in a file. Students begin by reading a file containing positions of chess pieces, and then display pieces on a graphical board to represent the position encoded in the file.

Fantasy Game

In this activity, students build a simple graphical display for a role-playing game where a map with different terrain types is displayed on a screen, with small images for each character displayed over certain elements of the grid. Students are instructed to use constants for numbers, and are given opportunities to make new terrains and add extra customization features.

Card Object

In this lab, students demonstrate their understanding of objects and basic object oriented programming by implementing a class that represents a common playing card. The class contains many methods, such as functions to return the rank and suit of the card, functions to compare the rank of cards, and a constructor that returns a random card, among others. 

Rabbits & Foxes Ecosystem

In this lab, students demonstrate their understanding of while loops and computation by simulating populations of rabbits and foxes in an ecosystem. Students are provided with formulas to compute populations from one year to the next, using previous populations of rabbits and foxes for each. This activity is a good simulation for students beginning to learn about while loops.

Partners - loops

In this lab, students demonstrate their understanding of for loops and mathematical computation by printing out all pairs of people in a list of people. The program first asks for a list of names, and then prints out all possible pairs of distinct names among the ones provided.

Talking to Your Silicon Friend

In this lab, students work through an introductory problem to have a simple conversation with a computer program they have written. The computer prints a greeting message, and then asks the user five questions, and responds in an appropriate manner. This activity is good to get students familiarized with simple i/o.

Pretty Pictures

In this lab, students use a canvas provided to them to draw an image of their choice. The images students draw must satisfy certain basic requirements, to contain certain shapes, text, images, and custom colors.

Subscribe to CS1