| Instructor: | Jacob A. Abraham |
|
Web: |
http://www.cerc.utexas.edu/~jaa |
| Office: | ACES 6.124 |
| Phone: | 512-471-8983 |
| Email: | |
| Office hours: | MW, 4:30pm to 6:00pm, in the office (ACES 6.124), or by appointment |
|
Important information about EE 306 is also contained in a handout titled: Overview of 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, the major emphasis of each discussion session, the due dates of problem sets and programming assignments, and the dates of all examinations. |
|
| Course Overview: |
This is the first course in computing
for students of computer engineering and electrical engineering. The
objective is to provide a strong foundation that a serious 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 a student acquire a deeper understanding of
more advanced topics, whether that topic is in computer architecture,
operating systems, data base, networks, algorithm design, software
engineering, or whatever. The approach is "motivated" bottom-up.
That is, after providing some overview of why a new concept is
important, we attempt to tie that 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-3 (for Little Computer 3). The LC-3 captures the
important structures of a modern computer, while keeping it simple
enough to allow full understanding. The first programming assignment
is in the machine language of the LC-3. From there, we move up to
Assembly Language, and learn how an assembler works. The remaining
programming assignments are in LC-3 Assembly Language. We cover good
programming style and practice, and teach debugging principles. An
LC-3 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-3
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-3 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 GAR 0.102
MW 3:00p - 4:30p. Discussion sections will be scheduled at various times
of the day on 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. However, the homework
assignments and graded homeworks can only be collected from the
discussion sessions for this class (i.e., from the teaching
assistants for this class) |
| Teaching Assistants: | Sumedha Bhangale |
| Bhavatharini Sridharan | |
| Course Home Page: |
http://www.cerc.utexas.edu/~jaa/ee306 |
| Textbook: |
Introduction to Computing Systems: from bits and gates to C and
beyond; Yale N. Patt and Sanjay J. Patel; Mc-Graw Hill, 2004,
2nd edition. You will need the 2nd edition. There have been many
substantial changes since the first edition. The ISBN for the 2nd
edition is: 0-07-246750-9 |
| 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. |
| 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. We
also assume that your mathematics background is at least at the level
where you are enrolled in the serious calculus sequence. EE 306 is
intended for freshmen, but is open to all students who want a serious
introduction to computing in general and computer engineering in
particular. |
| 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 need be
turned in. There will be five programming assignments, one in machine
language, four 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.
Please see the handout: Overview of EE 306 for more
information on what constitutes cheating. |
| Quiz and Exam Policy: | There will be two exams in class,
one on October 15, the other on November 19. There will be a final
exam on December 18, 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. The student may not have in his or her possession
during any exam a calculator, a mobile phone, or any other mechanism
that in the view of the instructor can distract from a fair and
balanced examination. |
| Final Exam: |
See above. There will be a final exam
from 2 to 5pm on December 18 during the normal final exam
period. |
| Grading Mechanics: |
Course Grade:   Problem sets (2% each, times 6 assignments = 12%)   Programming Assignments (4% each, times 5 assignments = 20%)   Two in-class exams (18% each = 36%)   Final exam (25%)   Other (7%) Policy: Problem sets and programming assignments are due on the date and at the time specified. Make-up exams will not be given, except under very rare circumstances. Excused absence from an in-class exam must be obtained in advance, except in very rare circumstances. |
The MEC Common Evaluation form (or an Online Evaluation) will be used to
evaluate the instructor in this course.
Students with disabilities may request appropriate academic accommodations from the Division of Diversity and Community Engagement, Services for Students with Disabilities, 512-471-6259, http://www.utexas.edu/diversity/ddce/ssd/
Allegations of Scholastic Dishonesty will be dealt with according to university procedures, and students are expected to adhere to the UT Honore Code http://catalog.utexas.edu/general-information/the-university/#honorcode.
By UT Austin policy, you must notify me of your pending absence at least fourteen days prior to the date of observance of a religious holy day. If you must miss a class, an examination, a work assignment, or a project in order to observe a religious holy day, you will be given an opportunity to complete the missed work within a reasonable time after the absence.
The following recommendations regarding emergency evacuation are from the Office of Campus Safety and Security, 512-471-5767, http://www.utexas.edu/safety/: