North Carolina State University, Department of Electrical and Computer Eng.

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 Reading:  You will be required to read articles posted on the class website.

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:

  • Technical Content:  Technical Content refers to the answers you provide to questions asked during the experiment. Make sure you understand the material before leaving the laboratory because these questions will be graded for correctness. Students often lose points for not answering all of the questions, neglecting to answer each part of a multi-part question, or leaving out required figures or tables.
  • Presentation:  Presentation refers to the overall "look and feel" of the lab report, which includes such items as format and content. You shouldn't be embarrassed by your lab report.
  • “What if” Question: For certain labs, a portion of your grade may be determined by your answer to a question from the TA. The goal of this question is to test your understanding of the code. You are responsible for understanding the behavior of all the code in your system, even if your lab partner wrote it.

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 Student Health Center, Campus Box 7509, 515-7653.  http://www.ncsu.edu/provost/offices/affirm_action/dss/  

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 5:00pm on this day.) Last day for undergraduate students to drop below 12 hours.

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