Syllabus: AME 3623: Embedded Real-Time Systems
- Meeting time: Tu/Th 9:00-10:15
- Location: Devon Energy Hall 130
- Lab location: Felgar Hall 300
- Prerequisites: AME 2623 or equivalent, and CS 1313 or equivalent. Note that we will be doing
programming in C.
Textbooks: as there is not an appropriate, comprehensive textbook available, we will
be drawing our readings from the net and from part of one textbook.
This textbook and several optional supplementary textbooks
are listed below:
- Real-Time Systems Development, Rob Williams (2006),
Elsevier Ltd. Real-time systems introduction.
Electronic copy (must login with OU ID)
Embedded C Programming and the Atmel AVR, Richard
H. Barnett, Sarah Cox, Larry O'Cull (2003), Thomson/Delmar
Learning, ISBN: 1401812066. The first half of the book is a good review
of C (the latter half discusses a compiler that we are not using).
Available at Bizzell Library. Some excerpts available on D2L.
Arduino microcontroller processing for everyone!
Steven F. Barrett (2010), Morgan and Claypool. General overview (and some examples) of the
Arduino platform. Electronic copies: part 1 and part 2
(must login with OU ID)
- (reference) Designing Embedded Hardware, John Catsoulis,
O'Reilly, 2005, 2nd Edition, ISBN: 0-596-00755-8. General hardware tutorials.
Course web page:
- We will make heavy use of Desire to Learn
- Instructor: Dr. Andrew H. Fagg
- Teaching Assistant: Andrew Kooiman
Course Goals and Topics
By the end of this course, you should be able to:
- design and implement embedded circuits involving
microcontrollers, sensors, and actuators,
- use code and circuit design tools,
- design, program and debug embedded sensing and control software,
- work in collaborative teams to solve system design and
implementation problems, and
- communicate in both oral and written forms with team members.
This is a very hands-on class: every student will
be involved in the design, implementation, and programming for the
laboratory exercises. Note that this component of the class will
involve a non-trivial amount of time; students should plan their
Topics will include:
- digital logic and Boolean Algebra,
- sequential logic,
- number representations and arithmetic,
- basic microprocessor design,
- embedded system development environments,
- processor input/output implementations and electronic
interfaces (including analog-to-digital translation),
- serial protocols and implementation,
- controller design and implementation,
- basics of operating systems (including concurrency and
real-time issues), and
- issues in embedded hardware design and debugging.
- Attendance: We will discuss concepts and examples in
class that are not in the assigned readings. Another student's notes
are an inadequate substitute for class attendance. You are
responsible for everything that is announced in class.
- Readings and Pencasts: You are responsible for the
material contained within the readings and pencasts on the day
that they are indicated on the class
schedule. I will typically address questions about these
at the beginning of the lecture. The lecture material and/or
in-class assignment for the day will assume a working knowledge
of these materials.
- Class Web Page: Most of the material that you will need
can be found on the class web page located at:
- Desire to Learn: This class will also use D2L, located at:
Login with your 4+4 (typically the first four letters of
your last name followed by the last four digits of your student
number), using your standard OU password. If you have difficulty
logging in, call 325-HELP. This software provides a number of useful
features, including a list of assignments and announcements, an
electronic mailing list, newsgroups, and a grade book.
I will update the main web site and the D2L page several
times a week. When I update the site in any significant way, I will
post an announcement on D2L telling you what has been added
and where it is located. You are responsible for things posted on the
site within 48 hours of the post.
- Class Email Alias: Urgent announcements will be sent through email. It is your responsibility to:
- Have your university supplied email account properly forwarded to the location where you
- Make sure that your email address in D2L is correct, and forwards email to the place
where you read it. I'll send out a test message during the first week of class. If you do not
receive this message, it is your responsibility to get the problem resolved immediately.
- Have your email program set up properly so that replying to your email will work correctly the
first time. You can send email to yourself and reply to yourself to test this. I will not make any
attempt to get bounced email messages delivered.
If you need assistance in accomplishing any of these tasks, contact 325-HELP.
- Examinations: There will be a midterm and a final
examination. The dates are given in the
class schedule. During examinations, students are expected to
sit in assigned seats. Missing an examination without a
previously approved excuse will result in a grade of zero for
- Final Examination: The final examination is Monday, May 6th from 8:00 to 10:00. The
final is comprehensive, as required by College of Engineering policy. No final examinations can
be given early, except as required by University policy.
- Newsgroups and Email: The newsgroup on D2L should
be the primary method of communication (outside of class). This
allows everyone in the class to benefit from the answers to your
questions, and provides students with more timely answers since both the TA and I check D2L
at least once a day. Matters of personal interest should be directed to email instead of to the
newsgroup, e.g. informing me of an extended personal illness. Posting guidelines for the newsgroup
are available on D2L.
- Academic Misconduct:
Feel free to discuss assignments and labs with the instructor or the TA.
Unless collaboration is explicitly allowed, do not discuss, look at, or copy another
student's solution to an assignment, as this is considered
The projects will be performed in collaboration with 2-3
other people. Within groups, you are expected to discuss and share
solutions. Discussion between groups about general issues is fine, but
the sharing of project-specific solutions, circuit diagrams or code is
Grades will be computed according to the following distribution:
- Midterm exam: 10%
- Final exam: 20%
- In class assignments: 25%
- Four projects: 40%
- In-class participation: 5%
- Final grades: the cut points between grades will be
decided at the end of the semester. Cut points will not be any
higher than the traditional 90/80/70 scheme.
- Project grades: Project grading is performed as two pieces:
- Group Work (20% of total grade):
A group is first given a grade as a function of the quality
of their work (factors include: correctness of the code, readability of the code,
documentation, presentation by the group and the demonstration
of the working code). If all group members contribute equally to
the project (assessed in part by the group members), then all
will receive the group grade. If there is a serious imbalance in the
contributions, then the grades will be scaled accordingly
(higher contributors will receive a higher grade and lower
contributors will receive a lower grade).
- Individual Work (20% of total grade):
In order to receive full credit for the individual work
grade, a team member must demonstrate a significant
software contribution on two of the projects.
A significant contribution means that the
individual has taken primary responsibility for
approximately half of the code for that project. This
does not necessarily mean that the individual has worked alone on
the code. However, this individual has been the one at
the keyboard during the writing and debugging of the
- Grade questions: Grade disputes
should first be brought to the TA. If this does not resolve
your question, please see me during office hours. Please note
that I will examine the entire assignment in question
and your final grade may end up lower. All disagreements about
the grading of assignments be brought to the
attention of the teaching assistant within one week of when the
item was returned.
- Desire to Learn Grade Summary: D2L has a grade book
that is used to store the raw data that is used to calculate your
course grade. It is the responsibility of each student in this class
to check their grades on D2L after each assignment
is returned. If an error is found, bring the graded document to me
or the TA, and we will correct D2L.
- Examination Grading Questions: If there is a dispute about the grading of an examination problem,
you may stay after class the day the tests are returned to discuss
it. If you cannot stay at this time, return the paper to me and
stop by during my office hours. Once a test has been removed
from the classroom after it has been returned, the grade is
final and will not be changed, even if it is found to be in
Projects and Homework
"The College of Engineering utilizes student ratings as one of the
bases for evaluating the teaching effectiveness of each of its faculty
members. The results of these forms are important data used in the
process of awarding tenure, making promotions, and giving salary
increases. In addition, the faculty uses these forms to improve their
own teaching effectiveness. The original request for the use of these
forms came from students, and it is students who eventually benefit
most from their use. Please take this task seriously and respond as
honestly and precisely as possible, both to the machine-scored items
and to the open-ended questions." --- Dean Simin Pulat
Many of the materials created for this course are the intellectual
property of Andrew H. Fagg.
This includes, but is not limited to, the
syllabus, lectures and course notes. Except to the extent not protected
by copyright law, any use, distribution or sale of such materials
requires the permission of the instructor.
This page is online at http://www.cs.ou.edu/~fagg/classes/ame3623/syllabus.html
Andrew H. Fagg
Last modified: Fri Dec 28 12:30:34 2012