Course Description (pdf ps)

EE 379K - Introduction to Computing
The FIRST Computing Course for EE and CE Majors
Unique Numbers 15366 to 15389

Yale Patt (
Office: 541a Engineering Sciences Building (ENS)
Phone: 512-471-4085 Fax: 512-471-5907 Email Address:
Office Hours: MW, 6:30 to 8pm
Course Title: Introduction to Computing.
Course Overview: This is the first course in computing for serious students of computer engineering and electrical engineering. The objective is to provide a strong foundation that the student can build on in later courses across the spectrum of computer science and engineering. The idea is that a more complete understanding of the fundamentals will help the student acquire a deeper understanding of more advnaced topics, whether that topic is in computer architecture, operating systems, data base, networks, algorithm design, or whatever. The approach is bottom-up; the intent is to tie each new concept to what the student already understands. Starting with the transistor as a switch, we build logic gates, then more complex logic structures, then gated latches, culminating in an implementation of memory. From there, we study the computer's instruction cycle, and then a particular computer, the LC-2 (for Little Computer 2). We got it wrong the first time! The LC-2 captures the important structures of a modern computer, while keeping it simple enough to allow full understanding. The first programming assignments are in the machine language of the LC-2. From there, we move up to Assembly Language, and learn how an assembler works. The remaining programming assignments are in LC-2 Assembly Language. We cover good programming style and practice, and teach debugging from the gitgo. An LC-2 Simulator allows the student to debug his/her own programs. Input (via the keyboard) and output (via the monitor) both use the physical device registers. System service routines, written in LC-2 Assembly Language are used to perform I/O functions. They are invoked by user programs by the TRAP instruction and corresponding trap vector. Subroutine calls and returns complete the LC-2 instruction set.
Course Description: The course will cover the material of Chapters 1 through 10 of the textbook. A detailed outline of the contents is contained in the textbook's Table of Contents
Meeting Info: The course consists of three hours of lecture + a 1 1/2 hour discussion section each week. Lectures will be given in WEL 2.224, MW 5:00p - 6:30p. Discussion sections will be scheduled at various times of day and evening on Thursday and Friday. The Course Schedule lists the meeting times and room numbers for each of the discussion sections. Note that each discussion section has its own unique id. Students are free to attend the discussion section of their choice.
Teaching Assistants: Katherine Buchheit, Laura Funderburg, Chandresh Jain, Onur Mutlu, Danny Nold, Kameswar Subramaniam, Francis Tseng, and Brian Ward,
Course Home Page:
Textbook: "Introduction to Computing Systems: from bits and gates to C and beyond"; Yale N. Patt and Sanjay J. Patel; Mc-Graw Hill, 2001, ISBN: 0-07-237690-2
Prerequisites: There are no formal pre-requisites. No programming experience is assumed. On the other hand, we do assume that the student is able and highly motivated to learn and has the energy to support that motivation. This course is intended for freshman, but is open to all students who want a serious introduction to computing in general and computer engineering in particular.
Additional course resources: Class handouts will be supplied when necessary to supplement the concepts discussed in lecture. Other information will be downloadable from the course home page.
Homework policy: Problem sets will be assigned periodically. Usually, students will have between one and two weeks to complete them. Students will be encouraged to form study groups to work homework problems. Only one copy of a problem set per group will be turned in. There will be approximately six programming assignments, two in machine language, four in assembly language. Students are encouraged to discuss the structure of the program with other members of their group. However, the detailed algorithm and actual coding must be done by the student working alone. Collaboration on the algorithm and/or giving or accepting actual code for a program constitutes cheating, and will be dealt with harshly.
Quiz and Exam policy: There will be two exams in class at approximately the 6th week and 11th week of the semester. There will be a final exam during the normal final exam period. All exams will be closed book, with two exceptions: (1) The student may bring into the exam three sheets of paper on which the student is free to write anything he/she wishes. All three sheets must be original sheets in the student's own handwriting. (2) The student may bring into the exam any handouts that have been expressly permitted by the instructor prior to the exam.
Final Exam: See above.
Grading policy Course Grade:
Problem sets (10%)
Programming Assignments (3% each, times 6 assignments = 18%)
Two in-class exams (20% each = 40%)
Final exam (25%)
Other (7%)

Policy: Problem sets and programming assignments due on the date and at the time specified.
No make-up exams will be given. Excused absence from an in-class exam must be obtained in advance.

MEC Common Evaluation form will be given.
Additional details

The deadline for dropping without possible academic penalty is

Allegations of Scholastic Dishonesty will be dealt with according to the procedures outlined in Appendix C, Chapter 11, of the General Information Bulletin,

The University of Texas at Austin provides, upon request, appropriate academic adjustments for qualified students with disabilities. For more information, contact the Office of the Dean of Students at 471-6259, 471-4241 TDD, or the College of Engineering Director of Students with Disabilities, 471-4321.