Syllabus for ECE306: Introduction to Embedded Systems
Fall 2007 - http://courses.ncsu.edu/ece306
Lecture 2:20 – 3:35 PM Mondays and Wednesdays, 1021 Engineering Building 2
Laboratory: 1008 EB2
Instructor: Dr. Alexander G. Dean
Phone: (919) 513-4021
Campus Office: 2301 Partners 1
Office hours: Monday/Wednesday 3:35 – 4:15 in 1008 EB2.
Email: alex_dean@ncsu.edu
TAs: To be determined
TA Office Hours: To be determined and posted on website
The best way to get a question answered is to submit it to the message
board on WolfWare - the
instructor and all of the TAs will see it right away. This is the
preferred method for interaction, as it allows all other students to see the
question and answer. You can email the TAs questions if they are not suitable
for the message board. The TAs will be in the lab during their scheduled times
to answer questions in person. Finally,
if your question is not resolved with posting to the message board or asking a
TA, you can email the instructor.
Prerequisite
Grade of C or better in ECE 200, 206, 212. Lack of the prerequisite is grounds for cancellation of
enrollment in the course.
Textbook and Class Materials
Required: Each student is required to have a microcontroller evaluation board starter kit. Project assignments will be configured for the Renesas QSK62P. However, you can use a left-over QSK26A from previous semesters of 306 (see below).
The starter kit includes software tools which will be used in the laboratory and homework assignments. The kits can be kept after the class ends for use elsewhere (e.g. senior design). The kits are available online from www.digikey.com for about $70 each (part number QSK62P-ND or QSK26A-ND).
The main differences between the starter kits are RAM size (QSK26A: 2KB, QSK62P: 32 KB) and I/O capability (QSK26A: 48 pin package, QSK62P: 100 pin package). If you are considering taking ECE461/561 – Embedded System Design, please obtain the QSK62P, as the projects in that class will require the larger amount of RAM.
Most student assignments must be submitted through WebAssign (https://www.webassign.net/ncsu/login.html). You will need to purchase an access card at the bookstore to use this system.
Required Text: None.
Required
Optional Text: Yale N. Patt
and Sanjay J. Patel, Introduction To Computing Systems: From Bits &
Gates To C & Beyond. McGraw-Hill. ISBN 0-07-237690-2. This is the same textbook as is used in ECE
206, so you should already have it. Either the first or second edition can be
used as a reference for this class, but chapter and page numbers in the course
notes reference the second edition.
Optional Text: Brian Kernighan and Dennis Ritchie, The C Programming Language. ISBN:
0131103628. This is a useful reference for programming in C.
Catalog Description
Introduction to designing microcontroller-based embedded
computer systems using assembly and C programs to control input/output
peripherals. Use of embedded operating system.
Purpose of Course
In this course students will:
· Recognize and identify the constraints facing embedded system designers, and determine how to assess them.
· Program a modern microcontroller in assembly language and operate its peripheral devices.
· Interpret how the assembly code generated by a compiler relates to the original C code.
· Practice thread-based program design with a real-time operating system.
· Develop programs controlling embedded systems using quick and efficient methods.
· Predict, measure and manipulate a program's execution time.
Projects
The projects are an integral part of the course and are intended to provide experience in the application of the design techniques discussed in lecture. These projects will utilize the embedded systems board required for the class. There will be approximately three projects exercises assigned.
Projects can be completed in the Embedded Systems Teaching Lab (1008 EB2) or on your own home PC. The lab will be open only when a TA is present; these times will be listed below when finalized. When the TA leaves he will close the lab. This is to protect the PCs and equipment from vandalism, which has unfortunately occurred in the past, forcing this policy.
Note that the lab (1008 EB2) is shared with another class.
Each lab group will be expected to sign up for time to demonstrate their project software. The lab will be open during other times, but those who have a guaranteed time have first priority of lab machines. These lab times will be determined.
Please
note that the teaching assistants will be present in the lab at the times
listed above for office hours as well as lab demonstrations. You can meet them
to ask questions in person.
Because
almost all of us learn by doing, the laboratory will probably be the most
effective method for learning the material, and will help you on homework and
exams. Also, ask yourself questions
while preparing for the lab and during the lab. Do not just passively and
monotonously follow the lab write-up-- ask some of your own questions and then
find out the answers with your computer.
To learn, you need to do it and you need to creatively think about what
you are doing! Lab grades will be
based on lab write-ups and demonstrated functionality of problem
requirements. One lab report per lab
pair is due at the specified time.
The
lab report grade will be determined according to:
Late labs
demonstrations will be accepted up to a week after the due date. There is an
immediate 15% penalty for missing the deadline, and then an additional 5%
penalty per day late. For example, if you demo on Tuesday instead of the due
date of the previous Friday, the penalty will be 15% + 4*5% = 35%. You are
limited to demonstrating your code during times when the TAs are present in the
lab.
Homework
Homework is
another example of learning by doing. Although not as exciting as a lab,
homework is essential to learning the concepts in this course. Homework will be
in the form of reading assignments and problem sets, with a due date 1-2
lectures after it is assigned. We use WebAssign for online homework submission.
· No late homework will be accepted.
· No make-up homework will be provided.
·
Your homework
must be done individually (you will learn the most from this). Note that many
questions on WebAssign are randomized. Your answer to a question may not match
a friend’s answer.
If you have a dispute with how an
assignment is graded, you should follow this procedure:
1. Get the
solution to the assignment from WebAssign or the class web site and examine
it. You may have just worked the problem
incorrectly.
2. If you really
believe that your answer is correct (matches the answer given in the solution),
contact the TA and discuss it with him or her.
He/She will listen to your concern, and act on it, at his/her
discretion.
3.
If you are still not satisfied with the resolution, you may
bring the homework to me for review. I
will not review homework that has not been seen by the TA.
The
lowest homework score will be dropped, with no questions asked. This is to
accommodate illnesses, dead car batteries, missed buses, etc. Use this freedom
wisely – save it for when you will need it.
Tests
There
will be three tests throughout the semester and no final exam. Tests will be closed-book and
closed-notes. Tests will include
material from the lecture, reading material, homework, and projects.
Test dates:
·
Test 1: In class Monday 9/24
·
Test 2: In class Monday 10/29
·
Test 3: In class Wednesday 11/28
Missed exams: Attendance at
all tests is mandatory. Only legal or
debilitating medical excuses will be accepted, provided that they are
accompanied by the appropriate official documentation. Makeup tests are more
difficult than the tests they replace. Failure to satisfy these criteria will
result in a zero grade for the tests.
Missing Class/Assignments
Throughout
the semester, a student may miss classes/assignments/exams due to many
reasons. Most of the reasons will
not be accepted as an "excused" absence. That is why one of the homeworks is dropped
when determining your final grade. For
example:
·
ECE or other class test review sessions: All ECE 306 class
and test times take precedence over any review sessions.
·
University sponsored activity: All ECE 306 class and test times take
precedence over any University-sponsored activity.
·
Business trips: If
you miss an ECE 306 assignment because you were on a business trip, you miss
out on the assignment points.
·
Illness: If you miss
an ECE 306 assignment because were ill, you miss out on the assignment points.
Course Lectures
We
will use powerpoint slides to teach this class.
You can download PDF versions of them and print them from the web. See the web for the course lecture outline.
Grading Percentages and Grade distribution
25%
Homework assignments
25% Project assignments
15% Test 1
15% Test 2
20% Test 3
100% Total
There
is no promised formula for letter grade distribution for this class. As a guideline, you can use 90%, 80%, 70%,
and 60% for VERY APPROXIMATE estimations of an A, B, C, or D, respectively.
Note: The +/- system of grading will be used in this class. A +/- is usually used to reward students for
exceptional effort in the class (A+). A
+/- is not used in letter grade borderline cases.
In
order to get an “S” grade, students taking the course for credit only must do
all of the coursework (homework, labs, quizzes, tests) and make the equivalent
of a C-.
Auditing
ECE 306 is not allowed.
Students with Disabilities
Reasonable accommodations will be made for students with verifiable
disabilities. In order to take advantage of available accommodations, students
must register with Disability Services for Students at 1900
For more information on NC State's policy on working with students with disabilities, please see http://www.ncsu.edu/provost/hat/current/appendix/appen_k.html
Academic Dishonesty
All the provisions of the http://www.ncsu.edu/provost/academic_policies/integrity/reg.htm code of academic integrity apply to this course. In addition, it is my understanding and expectation that your signature on any test or assignment means that you neither gave nor received unauthorized aid.
Please read the discourse on cheating and ECE 306 on the web page. For homework and laboratory projects, while collaboration is allowed, direct copying is not and students must turn in individual submissions. Realize that mastery of the material in the homework and lab assignments will be essential for a good performance on the tests!
Important Semester Dates
See also http://www.ncsu.edu/registrar/calendars/academicfall.html.
August 28 Tuesday Last day to add a course without permission of instructor.
September 5 Wednesday Last day to register (includes payment of tuition and fees) or
to add a course. Last day to drop a
course, or change from credit to audit with tuition reduction. (Note; The tuition and fees charge is based
on the official number of hours and courses carried at
October 3 Wednesday Last day to withdraw or drop a course without a grade, change from credit to audit or credit only at the 400 level or below. Last day to submit Request for Course Repeat Without Penalty.
December 3-7 Mon - Fri "Dead Week" - Last week of classes. In order that students may complete semester projects, take lab tests, and prepare for final examinations, faculty members shall not give any test or quizzes or assign any additional papers or project during the final week of the semester. Exceptions to this policy must be approved in advance by the department head and the dean of the college involved.
December 7 Friday Last day of classes