Graduate Certificate Program in Real-Time Embedded System Design
The purpose of the proposed Graduate Certificate Program is to provide opportunities for students with various engineering backgrounds to gain knowledge and experience on design and implementation of real-time embedded systems. This Program will offer students systematic training in multiple engineering fields, including computer science and engineering, electrical engineering, and other engineering fields to which real-time embedded systems are applied.
Graduate students pursuing an M.S. or a Ph.D. degree in any engineering discipline may apply for the Real-Time Embedded System Graduate Certificate Program. Students may also apply for this program without linking it to a graduate degree program. Applications will be reviewed and approved by the Coordinating Committee of the Program.
A total of 18 credit hours are required to complete the Certificate Program. This includes 6-9 credit hours from the following Selected Course List and 9-12 credit hours from a four-semester course sequence in Real-Time Embedded System Design (Courses I, II, III, and IV).
- Selected Course List - a minimum of six credit hours must be selected from this list.
Architectural Engineering ARE 735 Electrical systems design (3) ARE 740 Environmental control systems in buildings (3) Biological and Agricultural Engineering BAE 640 Instrumentation and control for biological systems (3) BAE 840 Measurement systems (3) Computing and Information Sciences CIS 625 Parallel programming (3) CIS 720 Advanced operating systems (3) CIS 722 Operating systems practices (3) CIS 725 Advanced computer networks (3) CIS 726 Advanced world wide web technologies (3) CIS 825 Topics in distributed systems (3) CIS 826 Protocol engineering (3) Electrical and Computer Engineering EECE 628 Electronic instrumentation (3) EECE 631 Microcomputer system design (3) EECE 663 Digital error control coding (3) EECE 730 Control systems analysis and design (3) EECE 731 Advanced microcomputer system design (3) EECE 736 Discrete-time and computer control (3) EECE 845 Sequential machines (3) EECE 849 Topics in computer engineering (3) Industrial and Manufacturing Systems Engineering IMSE 671 Topics in automated factory concepts (3) IMSE 672 Robotic applications (3) IMSE 871 Advanced topics in computer integrated manufacturing (3) Mechanical and Nuclear Engineering ME 640 Automatic Controls (3) ME 670 Computer control of mechanical systems (3) ME 730 Control systems analysis and design (3) ME 732 Robotic system analysis (3) ME 738 Experimental stress analysis (3) NE 761 Radiation measurement systems (3) ME 830 Intermediate topics in automatic control (3)
- Four-Semester Course Sequence in Real-Time Embedded Systems - Course I is composed of three one credit-hour modules (CIS 522, CIS 523, and EECE 533). These modules may be replaced by any course listed in the Selected Course List, if the student has sufficient background in the subjects covered by these modules. Course II is composed of three one credit-hour modules (CIS 621, CIS 622, and EECE 633). Both course III (CIS 721) and course IV (EECE 733) are three credit-hour courses. Courses II, III, and IV are required for all students in the Certificate Program.
Course I: three modules
This course is designed to be a remedial course for students who do not have a proper background for the subsequent courses in the series.
- Module A – CIS 522 Introduction to data structures. (1) II. Introduction to basic data structures such as stacks, queues, lists, and priority queues, and algorithmic techniques for sorting, searching, and hashing. Emphasis on modularity and reuse. Introduction to the concept of object-oriented design and interface specifications. Not available to students with credit for CIS 300. Three hours rec. a week. Course meets in one contiguous block of five weeks. Pr. C or C++ programming.
- Module B – CIS 523 Introduction to concurrent programming. (1) II. Introduction to concurrent programming techniques based on message passing primitives (send/receive) and shared memory (semaphore based P/V operations and Monitor based wait/signal operations). Not available to students with credit for CIS 520. Three hours rec. a week. Course meets in one contiguous block of five weeks. Pr. C, or C++ programming and CIS 300 or CIS 522.
- Module C – EECE 533 Basic real-time electronics. (1) II. Introduction to number systems, Boolean algebra, logic gates, logic family characteristics, and Programmable Logic Devices. Introduction to finite state machines, memories, analog-to-digital converters and basic electrical circuit elements. This course is not available to students with credit in EECE 241. Two hours rec. and three hours lab a week. Course meets in one contiguous block of five weeks. Pr.: PHYS 113 or PHYS 213.
Course II: three modules
Implementation of simple but complete real-time embedded systems.
- Module A – CIS 621 Real-time programming fundamentals. (1) I. Relationship between C/C++ constructs and corresponding assembly code generated by compilers. Introduction to special techniques used to implement micro-controllers, such as initialization of programmable CPU modules/peripheral devices, techniques to link assembly and C/C++ codes, producing ROM-able code, and EPROM burning/Flash programming. Three hours rec. a week. Course meets in one contiguous block of five weeks. Pr.: C, or C++ programming and either CIS 300 or CIS 522.
- Module B – CIS 622 Real-Time operating systems. (1) I. Basic real-time operating systems concepts and services; interrupt processing; process and thread models; real-time software and architectures and development environments. Detailed study of the design and implementation of real-time applications using real-time operating systems. Three hours rec. a week. Course meets in one contiguous block of five weeks. Pr.: CIS 621.
- Module C – EECE 633 Real-time embedded systems. (1) I. Interconnection of peripherals, such as CAN networks, DA/AD converters, and Timers. Implementation of device drivers on top of micro-kernels. Build a simple real-time distributed embedded system. Two hours rec. and three hours lab a week. Course meets in one contiguous block of five weeks. Pr.: CIS 621 and CIS 622.
Course III: CIS 721 Real-time systems. (3) II. The design of hard real-time embedded systems, including language and operating system support, scheduling, schedulability analysis, faul tolerance, and design tools. Pr.: CIS 520 or (CIS 622 and EECE 633).
Course IV: EECE 733 Real-time embedded system design. (3) I. Design and implementation of a comprehensive team project of a complete embedded real-time system. Two hours rec. and three hours lab a week. Course meets in one contiguous block of five weeks. Pr.: CIS 721.
Design and implementation of embedded systems require a broad knowledge in areas traditionally not covered in any one discipline. These areas include (a) Computer Science, which deals mainly with high-level software, (b) Electrical and Computer Engineering, which deals mainly with hardware and low-level software, and (c) other engineering disciplines, which deal with application development and numerous other peripherals such as sensors and actuators. In order to train students with various engineering backgrounds to design and implement real-time embedded systems, an interdisciplinary curriculum is needed.
The course sequence described in this proposal is being developed based on an interdisciplinary research and curriculum-development project funded by the National Science Foundation (“Real-time embedded systems research and curriculum development” by M. Neilsen (CIS), D. Lenhert (EECE), M. Mizuno (CIS), G. Singh (CIS), and N. Zhang (BAE), 9/1/2000 – 8/31/2002). These courses concentrate on the elements required to master embedded system design. They cover contents of several existing courses and many new topics not covered by other courses. By taking this course sequence, students will receive a unique, highly concentrated training on real-time embedded system design without taking an excessive number of courses. The requirement for additional courses from the selected course list for the Certificate Program will provide students from different engineering disciplines with depth and breadth on applications of real-time embedded systems in various engineering fields.
The number of embedded electronic systems used in automobile, tractors, and other control systems continue to increase dramatically. The need for engineers well trained in this area is urgent. One of the goals of this Certificate Program is to provide opportunities for engineers working in industry to keep up with the state-of-arts of the real-time embedded system design. To accommodate this need, the real-time embedded system course sequence will be offered through concentrated short courses and workshops.
The Certificate Program will be administrated by a Coordinating Committee consisting of the following graduate faculty members:
- Dr. Mitchell L. Neilsen, Assistant Professor, Computing and Information Sciences.
- Dr. Donald H. Lenhert, Professor, Electrical and Computer Engineering.
- Dr. Masaaki Mizuno, Associate Professor, Computing and Information Sciences.
- Dr. Gurdip Singh, Associate Professor, Computing and Information Sciences.
- Dr. Naiqian Zhang, Associate Professor, Biological and Agricultural Engineering.
Dr. Mitchell L. Neilsen will serve as the coordinator of the certificate program.