|
About The CourseYou should look at the catalog description for information about academic credit and prerequisites.Our objective in this course is to familiarize you with the way a computer interacts with its environment, so that you can design systems using an appropriate mix of hardware and software. We can only reach this objective by teaching you general principles; the intricate details of the latest processor will be rendered obsolete by technical innovation before you graduate! Although the course stresses general principles, those principles must be practiced with a specific processor. We have chosen the Motorola 68000 for this role. The 68000 and later members of its family are commonly used in a wide range of embedded systems. It illustrates all of the basic ideas, and the architecture is relatively free of odd quirks.
You will learn the material through a combination of reading,
discussion, and assignments.
Your mastery will be assessed via three examinations.
Harman and Hein provide an encyclopedic treatment of the 68000 and discuss how it fits into the family of related processors. They explain all of the central processor instructions, and the assembly language in which algorithms can be constructed using those instructions. Important I/O interfaces are described in detail, giving sample programs to manipulate them. General principles of programming methodology are also mentioned and illustrated. Unfortunately, an encyclopedic treatment of a single computer usually does not provide the best explanation of basic principles because the presentation order and attention to detail obscures important points. Nevertheless, the attention to detail is vital if one actually wants to test one's understanding by building working systems. We believe that this text represents the best compromise available, and that it meets the needs of the course. Because the text is focused on the MC68000, it does not cover the higher-level aspects of controlling external devices and concurrent processes. For this material, we turn to the second edition of Operating Systems, by Andrew Tanenbaum and Albert S. Woodhull. It was published in 1997 by Prentice-Hall, and its ISBN is 0-13-638677-6. A reference to the relevant material from this book is found on the Supporting Materials page. Each of the classroom sessions has an associated set of required reading from the text, manuals, or other documents. We have put PDF or HTML files of the material not found in the text but, that constitute required reading on the Supporting Materials page. Thus you will not need to copy those sections or contend with your classmates for access to the physical material.
Do the required reading before you come to class.
Be prepared to ask questions and discuss the material with your classmates
and the professor during the class and laboratory periods.
You are responsible for all of the material covered by the
required reading, whether or not it is discussed in class.
Assignments are required each week, and involve both written work to be handed in and practical work to be demonstrated in the laboratory. Written work is due at the beginning of your second assigned laboratory period each week; demonstrations of practical work must be given no later than your first assigned laboratory period the following week. Late written work and demonstrations will not be accepted under any circumstances. By prior arrangement, with sufficient justification, you may be excused from an assignment. You may also be excused after the fact due to a serious personal emergency, but such an excuse will require copious documentation.
If you don't have an account on the ECE server, you must create one before your first laboratory session. Instructions for account creation are available at http://eces.colorado.edu. You must use a public terminal (i.e. not a machine in an ECE Laboratory) to create your account. Your account on the ECE server will be your home directory for any work you do in this course. That is, once you have established an account you will be able to log onto the ECEN 2120 machines in the lab and you will be able to access files stored on the server via the Z: drive. When you are in the laboratory, you should always work from (a descendant of) your home directory on the Z: drive. Written MaterialEach assignment requires you to answer a set of questions, prepare a design document, or prepare a test plan. These documents should help you to organize your attack on the problem, forcing you to think about the basic principles on which your solution must be based. They will prepare you for class discussion of any sticky points, and allow you to use the lab period and the presence of your TA to best advantage.It is important to note that there is no one ``right'' answer to many of the assignments. A solution requires you to weigh a number of viable alternatives, and make a consistent set of choices. This means that you must think about your approach, identify decision points, and develop appropriate strategies. Answering the questions associated with early assignments allows you to practice these skills within a given framework. As the semester progresses, and you gain experience, the burden of creating this framework is shifted to you. DemonstrationsYou are responsible for preparing appropriate demonstrations of your practical work. For each assignment, prepare a demonstration lasting no more than five minutes
Each demonstration is worth some number of points, and will be graded on the basis of clarity (50%) and demonstrated understanding (50%). You will not be able to demonstrate everything you have done in five minutes, so you must be selective. For example, if being able to do A depends upon being able to do B, then demonstrating that you can do A also demonstrates that B has been done. The ability to effectively present your work is vital to success in engineering, or in any other creative career. You will almost invariably be making such presentations under a time constraint, and therefore they will have to be carefully planned. ExaminationsThe dates and times of the examinations are:
Examinations are intended to measure your individual mastery of the material. They concentrate on your understanding of the important concepts, rather than your ability to memorize details. (Look at some previous examinations to get an idea of the kinds of questions you might expect.) Group discussions, in which you try to explain course material to your peers, are a good way to study for these examinations: The best way to learn something is to try to explain it to someone else. However, it is important that you limit your frustration! If the group has a question that baffles all of its members, it's time to see the instructor or one of the TA's. The University's final examination policy states that when a student has three or more examinations on the same day, they are entitled to arrange an alternative examination for the last exam or exams scheduled on that day. Such arrangements must be made no later than the end of the sixth week of the semester. Students are expected to provide evidence that they have three or more examinations to qualify for the exemption. Since our final exam is the second one of the day, the policy does not apply to this course. Grading PolicyThe primary assessment vehicle in this course is the examinations. Each hour exam will provide 15% of your total points and the final exam will provide 35%. Assignments are responsible for the remaining 35%.Grades will be assigned according to the University's standardized grading system (see the University of Colorado Catalog):
Periodically, grades will be posted for this course. You are responsible for verifying that the individual grades reported for you are correct. If there are any problems with the grades, they must be reported to the instructor before 5pm on the last day of classes. Because of federal privacy regulations, we are not allowed to use any part of your student ID to identify you, nor are we allowed to present grades for individual students in alphabetical order. At the time of the first exam, you will be asked to provide an identifier that will be used as a ``Grade ID'' for reporting grades. You will also have the option not to have your grade posted.
|