Instructor: | Yale Patt |
Web: |
http://www.ece.utexas.edu/~patt |
Office: | 541a Engineering Sciences Building (ENS) |
Phone: | 512-471-4085 |
Email: | patt@ece.utexas.edu |
Office hours: | MW, 5:30pm to 6:30pm, in front of class or in office (ENS 541a) and by appointment |
Important information about EE 306 is also contained in a handout titled: Introduction to EE 306. Please be sure to read it. It expands on a number of items in this Course Descriptor. Also, the handout titled: Course Outline (aka, Syllabus) contains a lecture by lecture schedule of topics for the entire semester, along with the due dates of problem sets, programming assignments, and the dates of all examinations. |
|
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 advanaced 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 getgo. 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 see also the handout, Course Outline (aka Syllabus), available in hard
copy and on the class web site. |
Meeting Info: |
The course consists of three hours of lecture + a one hour discussion
section each week. Lectures will be in WEL 2.224, MW 4:00p - 5:30p.
Discussion sections will be scheduled at various times of day and
evening on Thursdays and Fridays. 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: |
Linda Bigelow, Mustafa Erwa, Lester Guillory, Kevin Major,
Abhay Pradhan, Moinuddin Qureshi, Paroma Sen, Santhosh Srinath,
Matt Starolis, David Thompson, Vikrant Venkateshwar
|
Course Home Page: |
http://www.ece.utexas.edu/courses/fall_02/ee306/ |
Textbook: |
Introduction to Computing Systems: from bits and gates to C and beyond; Yale N. Patt and Sanjay J. Patel; McGraw Hill, 2001, ISBN: 0-07-237690-2 |
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 homepage. |
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 five programming assignments, two in machine language,
three in assembly language. Dates and times when problem sets and
programming assignments are due are contained on the Course Outline.
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. See the handout:
Introduction to EE 306 for more information on what constitutes cheating. |
Quiz and Exam Policy: |
There will be two exams in class, one on October 9, the other on November 20.
There will be a final exam on December 13 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. There will be a final exam from 7 to 10pm on December 13
during the normal final exam period. |
Grading Mechanics: |
Course Grade: Problem sets (1.5% each, times 6 assignments = 9%) Programming Assignments (4% each, times 5 assignments = 20%) Two in-class exams (18% each = 36%) Final exam (27%) Other (8%) Policy: Problem sets and programming assignments are 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. |