CS 8803 ACT: Alternative Computing Technologies (Spring 2014)

Instructor: Hadi Esmaeilzadeh

Email: hadi [AT] cc [DOT] gatech [DOT] edu
Phone: (404) 385-1731
Office: KACB 2336
Office hours: by appointment

TA: Jongse Park (jspark [AT] gatech [DOT] edu)

Location: Ford Environmental Science & Technology (ES&T) building, L1205
Time: MW 3:05 - 4:25pm

Course Description

As improvements in per-transistor speed and energy efficiency diminish, radical departures from conventional approaches are needed to continue improvements in the performance and energy efficiency of general-purpose processors. This course will examine, explore, and develop the cutting-edge research on such radical directions. The course will cover material from VLSI circuits, architecture design, programming languages, and machine learning.

The course will start by exploring approximate computing where error in computation is acceptable and the traditional robust digital abstraction of near-perfect accuracy is relaxed. Then, the course examines neuromorphic computing that takes inspiration from brain, the ultimate mobile computer. In this part, we will also explore memristive technologies and deep belief networks. The course will briefly explore stochastic computing in which continuous values are represented by streams of random bits. The representation allows complex procedures to be computed by simple bit-wise operations on the streams. The course will also explore using biological and physical and analog properties of devices for computation. Then, the course will study near-threshold and zero-energy paradigms of computing. We will study how a computing device can operate on harvested energy. We will conclude by exploring how humans can be part of the computing systems.


Approximate computing, neuromorphic computing, stochastic computing, biological computing, analog computing, near-threshold computing, perpetual computing, human-based computing.


The course will be a combination of lectures, student presentation, and separate brainstorming sessions in which we will collectively explore and develop new ideas on each topic. The students will do a project based on one of these ideas.


There are no pre-requisites for the course but students will be expected to be comfortable with a) basic computer organization, and b) programming in a language such as Python or C/C++. The course is open to both PhD and MS students. Undergraduate students require permission from the instructor. Both CoC and ECE students can register for the course and the course is approved as a CS minor for the ECE students.


Students will be evaluated based on the following rubric. For the details on each item please refer to its corresponding page.

Class Participation 10%
Critiques 25%
Class Presentations 30%
Final Project 35%

Course Material

There is no required textbook. All relevant materials will be made available online.

Academic Honesty

Students are expected to abide by the Georgia Tech Honor Code. Honest and ethical behavior is expected at all times. All incidents of suspected dishonesty will be reported to and handled by the office of student affairs. You will have to do all assignments individually unless explicitly told otherwise. You may discuss it with classmates but you may not copy any solution (or any part of a solution).