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

Labs

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

Staff

Name Email
Prof. Stephen A. Edwards sedwards@cs.columbia.edu
Nicole Lewis nml2141@columbia.edu
Kevin Roark ker2143@columbia.edu

Overview

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.

Lectures

Title Notes
A Shotgun Introduction to C pdf
Parsing pdf

Labs

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

Report

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

Groups

Name Report Presentation
AXAS PDF PDF Siddharth Ramakrishnan
Xiahui (Forrest) Huang
Alexander Kalicki
Andy Hadjigeorgiou
KAD PDF PDF Kenneth Hungria
Albert Cui
Daniel Schlosser
GKT PDF PDF Phillip Godzin
Ashley Kling
Joseph Thompson
EHH PDF PDF Daniel Estrada Taylor
Sekou Harris
Dev Harrington
KSG PDF PDF Jacob Edward Kazimir
Serena Shah-Simpson
Arushi Gupta
WPPR PDF Loren Weng
Ivy Pan
Gwendolyn Pfetsch
SSRL PDF PDF Noah Stebbins
Nicholas Sun
Luis Ramirez
Gayoung Lee
NFBS PDF PDF Marco Nedungadi
Jonathan Fletcher
Amir Budhai
Thomas Segarra

Resources

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)
A simulator for the HP-35 RPN calculator

Other

Valid HTML 4.01Valid CSS