Skip to main content.

eVoting Curriculum

Summary

The CyberCivics eVoting curriculum was originally developed as a four-week (20 class meetings of 40 minutes each) program for a high school AP Government and Politics class. It provides an overview of many of the issues related to electronic voting, with a special emphasis on Direct Recording Electronic (DRE) voting systems. After gaining an appreciation of the issues involved, students learn the basics of programming in Python, which should help them to understand some of the ways in which the computer software used in DRE systems may be vulnerable to programming errors or exploitation. During the final unit, students participate in an obviously rigged election, using a DRE simulation program written in Python. Their task is to review the programming source code with the aim of finding the code that causes the software to produce faulty results.

Unit 1: Overview of CyberCivics

Unit plan
Accuvote TSX Demo
Python downloads
Start Programming with Python tutorial

Unit 2: Introduction to Programming with Python

Unit plan
Sample programming exercises

Unit 3: Simulation of a DRE Voting System

Unit plan
Hacking Democracy
Hacking Democracy discussion questions
Python DRE simulation
Bureau of Labor Statistics Occupational Outlook Handbook

Student evaluation form

Other Materials and Equipment

  • Computers for student programming activities
  • Television and DVD player