CS1

Conversions/Complex Tip Functions

In this assignment, students use Pair Programming to compose a collection of functions and a tip calculator. Using Python, students create three functions and a program that calculates the tip for a bill.

Python Functions with Calico Graphics

In this assignment, students compose functions and develop graphics. Using Python, students practice writing four various functions using a set of criteria, as well as create graphics using the Calico graphics library.

Stereo Sound Processing

In this 2012 Nifty assignment, students use fundamental CS topics to explore digital sound processing. Using variables, functions, conditionals, and assignment operators in conjunction with the Pygraphics library, students perform various manipulations on sound files. Vocals are removed from the wav files by using the vocal-removing algorithm to subtract channels and isolate the single vocal track along a particular frequency range. Additional manipulations on the sound files, such as fading in and out and panning, are covered so that students can examine the various capabilities of using Python to manipulate digital sound. This assignment is ideal for students with an understanding of implementing libraries and an interest in digital sound processing.

Engagement Excellence

Searching in Hi-Lo - CS1 First Day on Algorithm Design & Analysis

This is a team-based classroom activity using Process-Oriented Guided Inquiry Learning. I use this the first day of CS1, and sometimes the first week of CS2 (depending on students). Teams of 3-4 students work together to identify and evaluate several strategies (algorithms) to solve a Hi-Lo number guessing game. In doing so, they learn about tradeoffs between difficulty and efficiency, and are introduced to complexity analysis, although the activity does not use O() notation.

POGIL Activity on Recursion

This POGIL activity is intended as an in-class activity for a CS 1 course (Java), potentially replacing a lecture, lab, or recitation section. The activity introduces students to recursion. It also introduces students to the POGIL roles and requires students to reflect on their collaboration. Students should be familiar with writing methods, making method calls, and writing if-statements and loops. Students should understand factorials and summations. (If not, additional math explanations should replace the summation sign.)

POGIL Activity on Java Operators (% and /)

This POGIL activity is intended as an in-class activity for a CS 1 course (Java), potentially replacing a lecture, lab, or recitation section. The activity introduces students to the Java operators % and /, and the difference between integer and floating-point division. It also introduces students to the POGIL roles and requires students to reflect on their collaboration.  This activity may be given on the first day of class in CS 1 (no Java experience necessary).

Model 1 was authored by Mark Morehouse; Models 2, 3 and 4 was authored by Helen Hu.

Objects Lab

In this lab, students refactor their code from a previous Graphics Lab to make it more object-oriented. The refactored code draws multiple instances of a house or beach hut.

Loop Lab

In this lab, students use loops and the Java Graphics class to write a program that generates alternate versions of the U.S. flag for the United States Institute of Heraldry. Students also practice using variables to store data so that the flag image can be easily manipulated. A clear grading rubric is provided.

Graphics Lab

In this lab, students are asked to create a Java application that draws a simple house or beach hut. Students use the drawing methods from the Graphics class. A clear grading rubric is provided.

Writing Functions

In this assignment, students write four functions, each of which solve real-world problems such as converting inches to centimeters. Through this assignment students practice writing functions and passing and using parameters.

Subscribe to CS1