EE 599-002: Real-Time and Embedded Computing Systems

Instructor Information

Professor:Dr. William R. Dieter
Email: dieter@engr.uky.edu
Office: 683 Anderson Hall
Office Phone:257-1768
Office Hours: MWF 2:00 PM - 4:00 PM

I am available for consultation outside of class during office hours. I am generally willing to consult with students any time my door is open regardless of whether it is office hours or not. If you would like to meet with me outside of office hours, it is a good idea to send email first to arrange a meeting time.

Course Information

Textbook:Jane W. S. Liu, Real-Time Systems, Prentice-Hall, Inc. 2000, ISBN: 0-13-099651-3
Supplementary Reading:Additional reading material may be assigned during the semester. The additional material will be supplied on the web site or put on reserve in the library.
Course URL:http://www.engr.uky.edu/~ee599
Prerequisites: Equivalent of two 400 level courses in Electrical Engineering, consent of instructor and engineering standing. EE 380 or equivalent and familiarity with C programming.
Location: RGAN 202
Time: MWF 1:00 PM - 1:50 PM

Outcomes

From systems as small as a power drill to those as sophisticated as a TiVo or a computer controlling heavy machinery in a factory, computer systems are everywhere. These embedded computer systems often have different constraints on their operation than do their desktop or mainframe counterparts. For example, a word processor on a desktop machine pauses while the user is typing, it is merely annoying. In the case of a heavy machine controller, it could be catastrophic. This class will cover features typically found in real-time and embedded systems with those found in more traditional computer systems. Topics will include scheduling, synchronization, memory management, and architectural features of real-time and embedded systems.

After successfully completing this course, students will be able to:

Topics

Below is a tentative list of topics I would like to cover during this semester. The actual topics covered may vary from what is listed below:

Grading

Grading will be based on homework assignments, projects, and exams. Assignments will be weighted as follows:

Exams 50 %
Homework and Projects 50 %

Points in each category will be totaled and weighted as described above to arrive at a final grade using the standard grading scale shown below.

Weighted Avg.Grade
90 - 100A
80 - 89B
70 - 79C
60 - 69D
0 - 59E

Though unlikely, a curve based on the distribution of final scores may be applied to adjust final grades. If used, the curve will be based on the statistical distribution of overall scores. Scores clumped near the top will get A's, the next major clump gets B's, etc. If anything the curve will only raise your grade. A curve will never lower a grade. That is, the lowest grade an 89 overall score can get is B, but if there is a curve it might be worth an A.

All students need to have good language skills. While proofs, mathematical equations, and source code do not follow the normal rules of English, written answers to questions and program documentation do. Students are expected to use English properly. Even though it may not be explicitly stated in any assignment poor use of language including misspellings, incorrect grammar, incomplete sentences, and poor organization may result in a lower grade.

Homework

Homework will be assigned as needed and collected at the start of class on the due date. Each assignment will be worth 10 to 30 points, depending on the length of the assignment. Depending on the material covered and length of the homework problems, homework assignments will be assigned roughly once a week or every two weeks.

Projects

There will be three to five programming projects during the semester. Point values of the projects will depend on the difficulty of the project. Source code and documentation will be submitted electronically (details will be given with the first project). In addition to code inspection and documentation, grading will be based on a short demonstration of the running program and explaination of the code.

Exams

There will be one midterm exam held in class on February 27, and a final exam, Wednesday, May 5 at 1:00 PM. The midterm will be worth 40% of the total exam grade. The final exam, which will be comprehensive, will be worth 60% of the exam grade.

Quizzes

Formative quizzes may be given throughout the semester to determine how well students are learning the material, but will not count towards the final grade.

Late Policy

Homework assignment due dates will be announced in class. All homework assignments are due at the start of class on the day they are due. No late homework assignments will be accepted.

Projects are due at the start of class on the day they are due. Late projects lose 3% for each day they are late up to three working days. Projects later than three working days late will not be accepted. For the purpose of late days, working days are Monday through Friday. Projects turned in late are not eligible for extra credit points if extra credit points are offered on a project.

Makeup Policy

Students who have excused absences on the day of exams, as described in Students Rights and Responsibilities, can take a makeup exam at a later scheduled time. Students with conflicts known prior to the exam must arrange for a makeup exam at least one week prior to the regularly scheduled exam in writing. Students who miss and exam due to circumstances not known at least one week before the exam, such as sudden serious illness, must notify me as soon as possible. The makeup exam may differ significantly from the exam given at the regularly scheduled time.

Re-grades

I make a significant effort to grade is fairly and uniformly on all assignments. Students should not be penalized, however, for occasional mistakes like incorrectly totaling the number of points on an exam or homework. You may submit and exam or assignment for a re-grade, if you feel a mistake has been made, by attaching a sheet of paper describing what you think the error is and returning it to me. The request must be submitted within two days of the class period in which it was returned (not necessarily the class period in which you pick it up). Once submitted for re-grade, the entire exam or assignment will be open for re-grading.

Undergraduate vs. Graduate Grading

As a 500 level class EE 599-002 is open to both graduate and undergraduate students. Graduate students will be assigned additional questions on some homework assignments, and will have to do additional work on the projects. Moreover, I expect the quality of graduate work to be better on the parts of assignments that are the same for graduate and undergraduate students.

Computer Accounts

Several of the projects, and possibly some of the homework assignments, will require accounts in a new lab we are setting up in the D. V. Terrell building. Accounts will be created for all students registered for the class. Details will be announced in class. You are welcome to develop and test your solutions on another system, but the final solution must compile and run correctly in the lab in D. V. Terrell.

Some of the projects we develop will use RTLinux, a real-time version of the Linux operating system. Some familiarity with Unix or Linux is assumed. Linux documentation covering subjects from introductory Linux commands to advanced networking and kernel hacking is available from the Linux Documentation Project at http://www.tldp.org.

The number of students EE 599 this semester may be larger than the number of available workstations in the lab. Be sure to start your assignments far enough in advance that you can finish even if other studentes are filling the lab. "The lab was full" will not be considered a valid excuse for a late programming assignment.

Academic Honesty

Academic honesty is very important to me. For this class, academic honesty applies mostly to plagiarism and computer use.

Plagiarism

To evaluate each student fairly, I need to know that the work each student submits for grading is their own. Copying verbatim from another student or some outside source on a homework, project, quiz, or exam is cheating. Students may consult with each other or outside references about homework assignments and projects, but each student must turn in their own work. In addition, the student must document which parts of what they have submitted is based on consultation with other students or outside references.

If you are uncertain whether a certain act may be construed as cheating ask me about it before you submit the assignment. If you ask before submitting an assignment, and it turns out that what you planned to do would be considered cheating you have lost nothing. You just need to do the assignment a different, acceptable way. If you do turn in something that is construed as cheating the minimum penalty proscribed by the university is failure of the course. Suspension and expulsion from the university are also possible punishments.

Computer Use

Use of computers is governed by the Policy Governing Access to and Use of University of Kentucky Computing Resources at http://ukcc.uky.edu/policy.html. You are responsible for reading the guidelines. Examples of activities that would considered violations include executing code that would allow your or someone else to gain root privilege beyond what you are given, intercepting email intended for other users, and accessing files owned by others without their permission.

You will be given permission to use certain facilities on the machines in the D. V. Terrell lab that would allow you to subvert normal system security. Anyone found bypassing system security will immediately fail the course and lose all lab privileges.

Attendance

I strongly encourage all students to attend class and participate. No attendance will be taken, but students are responsible for all material covered in class, which will include material not in the textbook. Students are also responsible for material in the assigned readings whether or not they are discussed in class.