Course Level
Data Structures
Knowledge Unit
Fundamental Programming Concepts
Collection Item Type
Project
Synopsis

In this project students explore the design and implementation of software for a highly simplified voting machine that allows users to cast votes for one race (say, Mayor of Simpleton) and counts the number of votes for each candidate. Additionally, students work in pairs to scan input from a file, maintain data in an array structure, and output data in a particular format. This activity is good for students that would benefit from practice with using basic data structures to keep track of information.

Recommendations

Collaborate with a professor from the Political Science department on the "real world" implications of such work to illustrate Interdisciplinary Connections between CS and politics.

Discuss the logistical challenges of voting machines and the increased burden being placed on computers of handling elections. Although computers are built to handle these logistics, discuss how automated solutions present their own problems when not designed and built carefully.

This is Project 1 in a Computer Science 2 course. Please see link to course schedule for sequencing. 

 

Engagement Highlights

This project employs meaningful and relevant content by framing concepts around current political issues (voting) which may be relevant to the life of college students in introductory computing. Additionally in this project, students use pair programming, a method of collaborative learning. Pair programming is explained in detail in the lab manual link within the project.

Materials and Links

Computer Science Details

Programming Language
Java

Material Format and Licensing Information

Creative Commons License
Unknown