EECS 373: Overview
Course Overview
We have a number of educational goals when teaching 373. The primary ones
are:
- Learning the basics of embedded systems including hardware/software
interfacing.
- Learning about computer architecture outside of the CPU core.
- Design and implementation of non-trivial projects involving both
hardware and software.
In the classroom, we will focus on generic principles and ideas. In the
lab, we will focus on the Motorola PowerPC 823 (MPC823) and the specific
support hardware and software found in the lab. When needed the lecture
will support the lab, and where possible, the lab will support the lecture.
You will find that you will need to spend large amounts of time in the
lab in order to complete your projects -- this is a lab intensive class.
Prerequisites
You must have taken EECS 270 and EECS 370 to take this course. This also
implies you have taken EECS 280. I will assume you are familiar with (on the
hardware side) Boolean algebra, gates, multiplexers, flip-flops, and
finite-state machines, (on the computer architecture side) assembly
language, pipelining, memory, and caching, and (on the software side)
program control structures (if/then/else, while and for loops), functions,
procedures, parameter passing, pointer-based data structures, and basic
structured programming techniques (information hiding, modular programming,
etc.).
General Policies
- The honor code is in force on all assignments and
exams. See the Engineering Honor Council web page at http://www.engin.umich.edu/org/ehc.
- All individual assignments (e.g., prelabs and exams) are to be
performed on your own. All group assignments (e.g., lab work,
lab reports, and postlabs) are to be performed only by members of the
group. Verbal collaboration between members of different groups
is permitted for the purpose of helping classmates to understand
concepts essential to the labs or providing one another with
insights into the best way to approach the in-lab assignments.
However, any non-verbal collaboration (e.g. drawing sample
schematics on paper or chalkboard, sharing schematics or code) is
forbidden. You may not help debug another group's hardware or
software without consent from the GSI/TAs or the instructor. You are
also not allowed to possess, look at, use, or in any way derive
advantage from the existence of code, lab reports, or other material
prepared in prior years.
It is my opinion that students who are
cheating are putting their peers at a disadvantage. As such I am
very agressive in dealing with this issue -- Mark
Lab policies
- Prelabs are due in lab during the week the lab is to
start. All prelabs must be turned in within the 20 minutes after
the offical start of lab (on the half hour)
(to allow for tardiness, printing problems, etc.) or
you will only get 50% of the credit otherwise earned. Prelabs more
than one week late will earn no credit. For labs which span
multiple weeks the prelab is due during the first week of that lab.
As described under General Policies, prelabs are to be done
individually unless otherwise specified in the lab itself!
- Postlabs are due in lab the week after the last
week of that lab. Again, they are due 20 minutes after the start of
that lab period.
Just like prelabs, late labs earn only 50% of the credit
otherwise earned and postlabs which are more than 1 week late get no
credit. Postlabs are to be done by the group unless otherwise
specified in the lab itself!
- In-labs are due by Friday of the last week of the lab in
open lab hours (you are welcome to turn it in before this and most
students do). One of the lab instructors must sign your in-lab form
by that time for the in-lab to be on time. You should hand in the
signed (and dated) in-lab form with your postlab. Late inlabs lose
10% of their value per bussiness day (Monday though Friday not
including holidays) they are late. As described under General
Policies, you should only be working with your lab group (generally
one other person.)
- You are expected to attend the lab section for which you are
registered. If you would like to switch lab sections, but
the section you want is full, you must find someone in
that lab section to switch with. Once you have agreed on
a switch, send email to the GSI/TA(s) responsible for
both of the affected sections (see above). All section
switches must be completed before the second week
of lab.
- If there are computers available, you may work in lab during
other lab sections. However the lab staff's first priority will be
the students who are actually enrolled in that lab. The one
execption is that inlab sign-offs will be given reasonable priority.
- Students doing tasks that
could be performed on a CAEN machine (code or schematic
entry or simple debugging that could be done on a
simulator) may be asked to leave to make room for other students who
need to be in the lab.
Grading
The following gives the approximate grade breakdown for labs and exams.
Overall breakdown:
Item Weight
====== =========
Labs (8) 41% (lab 1 2%, lab 2 3%, labs 4, 5, and 7: 5%, labs 3, 6, and 8: 7%)
Exams (2) 35% (15% for first exam, 20% for second exam)
Project 20%
Homework and misc. 4%
In spite of this breakdown, you will not earn a C in this course
unless you have a C average on the labs+project and on the exams!
Each lab grade will generally be broken down as follows:
Lab grade breakdown:
Item Weight
======= =======
Prelab 30%
Inlab 40%
Postlab 30%
Lecture and Lab Location
Lectures will be held in room 133 CHRYS , from 1:30-3:00 on Tuesdays
and Thursdays. Labs are held in rooms 2332 and 2334 EECS; see the lab
hours page for lab times. The wall phone in the lab is 936-0392.