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.
Textbook: Programming Embedded Systems from Zyante.
- We are using Tophat as an
interactive classroom tool during the semester. This tool
interfaces to your laptop and your cell phone (smart or not).
All students are required to sign up for the Tophat service
($20 for the semester for all classes; or $38 for 5 years for all
Course web page:
- We will make heavy use of Desire to Learn
- Instructor: Dr. Andrew H. Fagg
- Teaching Assistant: TBA
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.
This is a very hands-on class: every student will
be involved in the design, implementation, and programming for the
projects. Note that this component of the class will
involve a non-trivial amount of time; students should plan their
Topics will include:
- 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,
- finite state machines, 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/quiz for the day will assume a working knowledge
of these materials.
- ZyBook Activities: Each section of our textbook contains a set of activities
that you will do on-line. These activities are due at 8:00am on the day that the reading is first assigned.
- ZyBook "Tries": Many textbook sections contain "Try"
exercises. These are optional. I encourage you to read
through them and think about possible solutions.
- 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 Friday, May 8th 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 Conduct:
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
You may make use of the net as a reference as you are working
on exercises and projects. However, downloading specific exercise or project
solutions from the net is considered cheating.
The projects will be performed in collaboration with 1-2
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 considered cheating.
Each individual is expected to contribute substantially to a
subset of the programming component of the projects. Everyone may receive help on the
programming from fellow group members, but each
individual must be at the keyboard during design, development
and debugging of at least three assignments. Misrepresenting one's contribution to the programming
assignments is considered misconduct.
Make sure that your computer account is properly protected. Use a good password, and do not
give your friends access to your account or your computer system. Do not leave printouts,
or thumb drives around a laboratory where others might access them.
Programming projects will be checked by software designed to detect collaboration. This software
is extremely effective and has withstood repeated reviews by the campus judicial processes.
Upon the first documented occurrence of inappropriate collaborative
work, I will report the academic misconduct to the Campus Judicial
Coordinator. The procedure to be followed is documented in the
University of Oklahoma Academic Misconduct Code (http://integrity.ou.edu).
- Tutors: Tutors can be an excellent source of
support for students who are having difficulty in the
class, but only if the tutor is aware of the distinction
between teaching students the material so that they can
do their own work, and doing work for students. Tutors
who do work for students are not only failing to help
the students learn, they are abetting academic
misconduct. Examples of misconduct include:
- If your tutor is sitting behind you while you are
typing and methodically telling you what to
enter, he or she is abetting academic
- If you tutor is emailing files containing partial
or complete programming projects to you, you will
commit academic misconduct if you use those lines
in your program.
A more effective use of tutoring services is to do problems that are similar to the assigned work,
instead of doing assigned work. For example, it would be fine to work unassigned problems from
the textbook with a tutor. This requires significant discipline, both on the part of the tutor and the
part of the student. Copying from a tutor is as unacceptable as copying from another student. If
your tutor doesn't know how to teach properly, please ask them to call or visit me and I will provide
training and guidance. If you are tutoring someone else in the class, you can be accused of
academic misconduct if this person copies your work.
- Incompletes: The grade of "I" is intended for the
rare circumstance when a student who has been successful in a
class has an unexpected event occur shortly before the end of
the class. I will not consider giving a student a grade of
"I" unless the following three
conditions have been met.
It is within two weeks of the end of the semester.
The student has a grade of C or better in the class.
The reason that the student cannot complete the class is properly
documented and compelling.
Accommodation of Disabilities: The University of Oklahoma is committed to providing
reasonable accommodation for all students with disabilities. Students with disabilities who
require accommodations in this course are requested to speak with the professor as early in the
semester as possible. Students with disabilities must be registered with the Office of Disability
Services prior to receiving accommodations in this course. The Office of Disability Services is
located in Goddard Health Center, Suite 166, phone 405/325-3852 or TDD only 405/325-4173.
- Classroom Conduct: Because cell phones and laptops can
distract substantially from the classroom experience, students
are asked not to use either during class (except where these are
required as part of a classroom exercise).
Disruptions of class will also not be
permitted. Examples of disruptive behavior include:
Allowing a cell phone or pager to repeatedly beep audibly.
- Playing music or computer games during class in such a way that they are visible or audible to other class members.
- Exhibiting erratic or irrational behavior.
- Behavior that distracts the class from the subject matter
- Making physical or verbal threats to a faculty member,
teaching assistant, or class member.
- Refusal to comply with faculty direction.
In the case of disruptive behavior, I may ask that you leave the classroom and may charge you
with a violation of the Student Code of Responsibilities and Conduct.
Grades will be computed according to the following distribution:
- Midterm exam: 10%
- Final exam: 20%
- Zyante exercises: 15% (drop lowest one)
- In class quizzes and activities: 20% (drop lowest one)
- Twelve Projects:
- 18%: group grades
- 17%: individual grades
- Final grades: the cut point between letter 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 (18% 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 (17% of total grade):
In order to receive full credit for the individual work
grade, a team member must demonstrate a significant
software contribution on three of the projects.
A significant contribution means that the
individual has taken primary responsibility for
at least 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: All grade questions should first be
brought to the indivudal who performed the assessment (the TA
or the instructor). Questions that are not resolved with the
TA may then be brought to the instructor.
All disagreements about
the grading of assignments must be brought to our
attention 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 question 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
- Due dates: Projects and Zyante exercises are due at
8:00am on the date that is listed on the schedule.
- Hand-in procedure:
- Zyante exercises are performed on the Zyante web site
(within the assigned chapter)
Project reports must be handed in using your group's subversion tree (more information to follow).
Associated C source files must be
handed in as they are (i.e., not as a MSword file).
In addition, individuals will be asked to fill out a group-work
survey in Catme. This must be completed before grades are given.
- Late policy: Because late assignments will
seriously impact your ability to follow the next section of the
course, you are required to complete the Zyante assignments on time.
No late assignments will be accepted.
Projects may be handed in late. If late by 0-24 hours, the
project grade will incur a 10% penalty; if late by 24-48 hours,
a 20% penalty will be imposed. Projects that have not been
handed in by 48 hours will receive no credit. Handing in a late
project should only be used in very dire circumstances (consider
the trade-off in the possible grades before you make this
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.
Adjustments for Pregnancy/Childbirth Related Issues
Should you need
modifications or adjustments to your course requirements
because of documented pregnancy-related or childbirth-related
issues, please contact me as soon as possible to
discuss. Generally, modifications will be made where medically
necessary and similar in scope to accommodations based on
temporary disability. Please see
for commonly asked
Title IX Resources
For any concerns regarding gender-based
discrimination, sexual harassment, sexual misconduct, stalking,
or intimate partner violence, the University offers a variety
of resources, including advocates on-call 24.7, counseling
services, mutual no contact orders, scheduling adjustments and
disciplinary sanctions against the perpetrator. Please contact
the Sexual Misconduct Office 405-325-2215 (8-5) or the Sexual
Assault Response Team 405-615-0013 (24.7) to learn more or to
report an incident.
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: Mon Jan 12 13:31:09 2015