3 Part Calendar Assignment for Introductory Computer Science Courses - Building a meaningful, useful, long term project

Ryan Parsons, Whatcom Community College in collaboration with Brody Coleman, Whatcom Community College
,
Initial Publication Date: December 31, 2016

Summary

This 3 part assignment is designed to be worked on over the entire quarter for an introductory computer science course. The end result is to create a calendar program that has a visual display and several different functionalities. Students learn how to build on a project, starting from scratch and making this their own. They develop good program and iterative design skills.

Share your modifications and improvements to this activity through the Community Contribution Tool »

Learning Goals

Students should learn how to build a programming project from nothing into something useful and their own. They take ownership of the project. They learn good program and iterative design skills while practicing concepts and material learned in class. The skills and tools used in the assignment cover a majority of the material covered in the introductory programming course at Whatcom Community College (CS 140).

Context for Use

This 3 part assignment is designed for an introductory programming course where students have no prior programming experience. It is meant to be given in the 3 parts throughout the course of the quarter. Each part of the assignment focuses on different tools and skill learned up to that point in the quarter.

Description and Teaching Materials

The 3 assignment descriptions are attached. These are the specifications of what the students should be working on and turning in at each stage. Students are usually given two to three weeks for each part. Assignment Part 1 (Acrobat (PDF) 217kB Dec19 16)
Assignment Part 2 (Acrobat (PDF) 144kB Dec19 16)
Assignment Part 3 (Acrobat (PDF) 314kB Dec19 16)


Teaching Notes and Tips

These assignments should be introduced to the class and gone through very carefully. Demonstrating the functionality of each section or describing it in detail is very helpful. Also, it is helpful to release working code for each part after it has been turned in. This allows students to work from a functioning program for the next part.

Assessment

Grading rubrics are given in each part of the assignment specification. These grading rubrics focus on the learning goals for the assignments.

References and Resources