Stephen A. Edwards Columbia University Crown
ENGI E1112
Gateway Lab for Computer Science and Computer Engineering
Spring 2012


We meet Thursdays 1:10 - 3:55 PM 1220B Mudd.

Final presentations will take place in 1220B Mudd on Friday, May 4th from 1:10 to approximately 4:00.

Final reports are due (email reports and presentations as PDF attachments to sedwards) at 11:59 PM, Thursday, May 10th.


Name Email Office hours Location
Prof. Stephen A. Edwards 3-4 Monday, 11-12 Thursday 462 CSB
Yoonji Shin


In this project, you will write new firmware for an HP 20b calculator. This is an example of embedded programming: coding software for something that does not, and should not, appear to be a computer in the traditional sense, yet is one at its core. The plummeting cost of integrated circuits has made such embedded systems ubiquitous, and this trend promises to continue. The challenges of designing such systems run the gamut from traditional electrical issues such as sensor noise and power consumption all the way to high-level computer science problems such as efficient algorithm design to human factors engineering. You will experience all of these, and learn some standard solutions, while performing this project.


Title Notes
A Shotgun Introduction to C pdf
Parsing pdf


Title Instructions Files Code Review
1: Getting Started: Hello World pdf pdf
2: Listening to the Keyboard pdf pdf
3: Entering and Displaying Numbers pdf pdf
4: An RPN Calculator pdf pdf


Here is a pdf report template and the .tar.gz file source files to build it.
pdfFormatting Information: A Beginner's Introduction to Typesetting with LaTeX
pdfThe Not So Short Introduction to LaTeX 2e


Name Report Presentation
ai PDF PDF Aaron Stefan Burger
Isabel Esther Baransky
mc PDF PDF Michael Yang
Charlie Wu
rr PDF PDF Ross Silver Basri
Ruchir Khaitan
sj PDF PDF Shensi Ding
Joshua Jackson Boggs
dj PDF PDF David Figueroa
Justin Xu Zhao
pe PDF PDF Phoenetia Maiya Lureen Browne
Eileen Xinhui Li
David Boucard
ss PDF PDF SonYon Song
Jay Jayne Shim
LibHP20b PDFPDF JeanHeyd Meneide


pdf Installing a C development environment on a virtual machine
pdf HP 20b schematics
HP's HP 20b Developer Kit
Atmel's SAM7L Series of Chips
AT91SAM7L128 Datasheet (The chip)
ARM7TDMI technical reference manual (the processor on the chip)


Valid HTML 4.01Valid CSS