Main / CoursesESS10

ENGR 844 - Embedded Systems - Spring 2010

Instructor: Seapahn Megerian, Ph.D.
San Francisco State University
School of Engineering

ENGR 844 course bulletin

Contact Info and Office Hours:

Email:engr844 at seapahn.us
Office:SCI 170A
Office hours:Tuesdays after lecture and by appointment.

Time and Place

Lecture, Tuesday, 18:10-20:55, Hensill Hall 201

Textbook

none

Capsule Statement of Course Content:

  • Comprehensive study of embedded systems starting from their classification, applications, and standards, to architectures, components, and design practices.
  • Some special focus on examples from cellular phone and networked embedded systems domains.
  • Project driven course to encourage hands-on experimentation with real embedded systems to gain first-hand insights into design and implementation challenges.

Course Description:

This course is designed to present a broad overview of the vast field of embedded systems to an audience with familiarity with computer engineering principles. The preliminary topics covered will include introduction and classification of embedded systems, the application domains, their components, and design cycles. Some coverage of existing standards will be followed by in-depth looks into several real examples, with more focus on examples from cellular phone domains, digital tv, and emerging networked embedded systems. The course will primarily be project driven to encourage a hands-on approach to the topics discussed in class. Although the topics of this class by their nature are broad, no specific prior knowledge will be assumed and the class will be fairly self contained. Thus, the exact coverage of the material and their related background will depend on the backgrounds of the students attending the lectures (i.e. class participation is strongly encouraged!).

Prerequisites

Recommend students to have taken at least undergraduate level courses in digital design (combinational and sequential circuits), system architecture, computer systems fundamentals, and operating systems. Specific algorithms, computer networking, and distributed system knowledge is not required as the course is designed to be self contained in those domains. Background and relevant material will be reviewed as deemed necessary by the instructor.

Grading

5% - Class participation
5% - Preliminary project proposal
40% - Midterm
20% - Final project presentation and demos
30% - Final project report (website)

Tentative Course Schedule:

  1. 01-26: Introductions and course overview
  2. 02-02: Background review (basic concepts, digital design, architecture, ...); Course project assignment
  3. 02-09: Embedded system classifications, applications, and the design cycle
  4. 02-16: Hardware platforms (uC, uP, DSP, FPGA, custom ASIC, ...); Form project groups
  5. 02-23: Memory and storage; Finalize project groups
  6. 03-02: Student presentations - Preliminary (short) project proposals
  7. 03-09: Finish presentations; Networked embedded systems (networking stacks)
  8. 03-16: Distributed and collaborative algorithms (example: distance-vector routing)
  9. 03-23: Communication technologies (Bluetooth, Zigbee, Ethernet, WiFi ...)
  10. 03-30: Spring Recess - No class
  11. 04-06: Midterm review, sample problems, homework solutions
  12. 04-13: Midterm (probably take-home)
  13. 04-20: Sensors, sensor networks, and surveillance
  14. 04-27: Topic TBD
  15. 05-04: Project presentations, demos, and discussions
  16. 05-11: Project presentations, demos, and discussions

The sections below will be regularly updated throughout the course so check back often!


Recommended reading list and links

Announcements

  1. Background topics that should already be familiar to you.
  2. Course Project
  3. Project team selections due before lecture on 2/23/2010 (email instructor).
  4. Some course project ideas
  5. Homework 1
  6. Homework 2
  7. Homework 3
  8. Midterm on 4-13-2010: Take home. There will not be class that day. As discussed in class, check your email for instructions and email me with questions.
  9. Class notes 1-26 and 2-09-2010. Thanks to Lea!
  10. Class notes 2-16-2010. Thanks to Mojan.
  11. Class notes 2-23-2010. Thanks to Lea.
  12. Class notes 3-09-2010. Thanks to Mehdi..
  13. Class notes 3-16-2010. Thanks to Geethanjali.
  14. Class notes 3-23-2010. Thanks to Sheetal.
  15. Class notes 4-06-2010. Thanks to Sajna.
  16. PPT slides on routing (zip file)
  17. Project Reports Due 11:59pm Tuesday May 18, 2010
    • You are submitting 3 things:
      1. Link to your project website (which should have pictures, possibly video, audio, etc).
      2. Project report in PDF format (with a list of team members and contributions on each part of the project).
      3. Your source code, hardware design (if applicable), and other source materials you have created for the project, data you have collected, etc as discussed in class. You should send your files in a compressed archive (such as zip, rar, gzipped tar, or 7z)
    • If the files are large, email a link to where they can be downloaded from (strongly encouraged to prevent email problems). If the file gets really large (e.g. over 10MB), email me and we can discuss what to do (send the report separately in that case).
    • Make sure you receive an email acknowledgment from me that I got your submission.
    • One submission per group
    • Include (in your report), the list of team members and contributions (who worked on what parts and how much (%)). This should be something all team members agree on. If there are disagreements, feel free to send me separate lists and describe why you disagree.