ECE UNDERGRAD EMBEDDED CURRICULUM (18-348, 18-349 and 18-549)

There are three courses in the undergraduate ECE curriculum.
18-348: Embedded System Engineering (junior/senior-level), Prof. Phil Koopman
18-349: Embedded Real-Time Systems (junior/senior-level), Prof. Priya Narasimhan
18-549: Embedded Systems Design (senior-level capstone), Prof. Priya Narasimhan

When will the three courses be offered?
18-348: was offered by Prof. Koopman in Fall 2006 and Fall 2007.
18-349: has been offered by Prof. Narasimhan in Fall 2002, Fall 2003, Fall 2004, Fall 2005, Fall 2007 and Fall 2008.
Changes: As of Fall 2009, 18-349 and 18-348 will alternate, so that each course will be offered every other Fall. 18-349 will not be taught in Fall 2009.
18-549: has been offered by Prof. Narasimhan in Spring 2007, Spring 2008, and will be offered by her in Spring 2009.

What is the difference between 18-348 and 18-349?
18-348 will focus on 8-bit microcontrollers while 18-349 will focus on 16/32/64-bit high-end embedded processors. The current version of 18-349 will be using the ARM processor (that you find in your videogames, cell-phones, etc.) for the labs in the course. The course content in 18-349 will also expose students to real-time concepts.

What will the 18-349 labs involve?
18-349 will involve a sequence of labs exercises, with the high point being students building a realistic, real-time operating system running on an embedded processor. The remaining labs will involve interrupt-handling, concurrency, device drivers, handling I/O, flash memory. and building a Whack-A-Mole game to explore some of these issues.

What hardware will 18-349 use?
18-349 will use the ubiquituous ARM processor, which is found in iPods, GameBoys, PlayStation 3, GPS devices (e.g., Garmin StreetPilot), phones (e.g., Motorola A1200 Ming), etc. There are several ARM-powered products in the market. Learning to work with the ARM processor allows you to write programs for these sorts of devices. As of Fall 2007, we switched to using the Gumstix ARM processor.

Would I ever want to take both 18-348 and 18-349?
Both 8-bit microcontrollers and 16/32/64-bit high-end embedded processors have their place in the field of embedded systems. The 8-bit microcontrollers find their use in thermostats, elevators, etc. The 16/32/64-bit high-end processors find their use in portable gaming devices, PDAs, cell-phones, etc. In fact, automobiles contain both kinds of processors. So, students interested in both ends of the embedded-system spectrum are likely to find it worthwhile to take both courses.

Can I get into 18-549 through either 18-348 or 18-349?
Yes. Either 18-348 or 18-349 can serve as a pre-requisite for 18-549.

Is 18-549 different in content?
Yes, as of Spring 2007. The newly redesigned version of 18-549 involves a hands-on project using real hardware. Students are expected to come in having taken either 18-348 or 18-349. The capstone project involves the use of 8/16/32/64-bit embedded processors, based on your familiarity and previous experience with the specific embedded platform. Students are allowed to propose capstone projects of their own choice and design, in the form of teams. Thus, the project is not necessarily be identical across all teams. The entire semester is then spent on completing the 15-week project as an immersive industrial design project, with lecture content to help out with the project, as needed. There are no final or mid-term exams in this course. Examples of 18-549 projects are available on the course website.

Will 15-410 still be an alternative pre-requisite for 18-549?
For the Spring 2007 offering of 18-549, we allowed 15-410 as a pre-requisite. For future versions of 18-549 (starting Spring 2008), only one of the two (18-348 or 18-349) will be allowed as a pre-requisite. 15-410 will no longer be a pre-requisite for 18-549, as of Spring 2008.