Jun 14, 2024  
2019-2020 Undergraduate Academic Catalog 
2019-2020 Undergraduate Academic Catalog [ARCHIVED CATALOG]

Add to Portfolio (opens a new window)

EE 1910 - Introduction to Embedded Systems Programming

3 lecture hours 2 lab hours 4 credits
Course Description
This course introduces concepts that are required to solve engineering problems using embedded systems. Students will develop a working knowledge of structured programming, basic microcontroller architecture and terminology, and the tools used in developing and designing embedded systems. In addition to implementing lecture topics, laboratory sessions include practical considerations for physical interfacing of basic analog and digital electronic devices. A course project emphasizes the interaction between physical processes, peripherals, and the computation/control capabilities of the microcontroller. A high-level programming language is used and all programs are executed on an embedded system. (prereq: MA 125 )
Course Learning Outcomes
Upon successful completion of this course, the student will be able to:
  • Design and document algorithmic solutions for engineering problems
  • Understand variables, expressions, and operations in C
  • Use structured programming techniques in C
  • Design and write functions in C
  • Design and write embedded systems software to solve engineering problems
  • Use various subsystems of a microcontroller in practical applications
  • Use datasheets in support of device interfacing and software development
  • Understand concepts and terminology related to microcontroller architecture
  • Use embedded systems tools for software development and debugging
  • Recognize and employ good software practices as they relate to embedded systems

Prerequisites by Topic
  • College Algebra I

Course Topics
  • Introduction to the course (1 class)
  • Problem solving, algorithm, flow-chart, and pseudo-code development (2 classes)
  • Number systems and data types (2 classes)
  • Variables, expressions, and operators (5 classes)
  • Control constructs, and looping techniques (4 classes)
  • User-defined functions, parameters, returns, and function prototypes (2 classes)
  • Subscripted variables, arrays (3 classes)
  • Pointers and function parameter passing by pointers (2 classes)
  • Basic microcontroller architecture, subsystems, and memories (2 class)
  • Tool chain and device programming (1 class)
  • Software libraries, header files, and coding conventions (1 class)
  • State machines (2 classes)
  • Examinations (3 classes)

Laboratory Topics
  • Introduction to IDE and embedded hardware platform (1 session)
  • Data types, serial console (1 session)
  • Blinking/Fading LEDs (1 session)
  • Digital I/O (2 sessions)
  • Analog I/O (2 sessions)
  • Design Project (2 sessions)
  • Interfacing considerations, debugging techniques, professional software practices, and use of datasheets (distributed)

Dr. Sheila Ross

Add to Portfolio (opens a new window)