CENG336 INTRO.TO EMBEDDED SYSTEMS DEVELOPMENT

Course Code:5710336
METU Credit (Theoretical-Laboratory hours/week):3 (2.00 - 2.00)
ECTS Credit:5.5
Department:Computer Engineering
Language of Instruction:English
Level of Study:Undergraduate
Course Coordinator:Prof.Dr. ULUÇ SARANLI
Offered Semester:Spring Semesters.

Course Objectives

CENG 336 is an intermediate course in the design and implementation of software for embedded systems, starting with assembly language and concluding with C. This course teaches the necessary concepts, tools and skills for students who plan on pursuing a career in designing and implementing embedded computing systems. These tools and skills include the design and implementation of low level software components in assembly languages, building small scale embedded software systems in C and working with Real-Time Operating Systems for larger systems with more complex structures.


Course Content

Assembly language and controller architecture. Peripheral interfaces: A/D and D/A conversion, parallel and serial ports, interrupts and timers/counters. I/O bus architectures. Sensors and actuators. Design and analysis techniques. Real time operating systems.
Prerequisite: CENG 232.


Course Learning Outcomes

 

  • Recognize, enumerate and classify different microprocessor architectures and platforms,
  • Remember differences in software development tools and processes for personal computing platforms and embedded systems,
  • Use a host-target model to develop software for embedded systems,
  • Analyze and debug correctness and timing behavior of embedded software systems,
  • Implement basic digital input/output tasks in embedded assembly language,
  • Explain how interrupts and timers operate and how they can be used to perform input/output and timing operations within an embedded system,
  • Implement real-time embedded software systems using interrupts and timers in a simple microcontroller using the C language,
  • Enumerate Analog to Digital conversion methods and describe how they can be used to interface microcontrollers with sensors,
  • Implement embedded software systems that interface with sensors through A/D conversion,
  • Explain how Real-Time Operating Systems (RTOS) operate and differ from General Purpose Operating Systems (GPOS),
  • Explain how schedulers, synchronization and communication tools offered by RTOS’s operate,
  • Use an RTOS to design and implement a medium-scale embedded software system for a small microcontroller, using digital I/O, serial communications, A/D, timers and interrupts.

 

 


Program Outcomes Matrix

Contribution
#Program OutcomesNoYes
1An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
2An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
3An ability to communicate effectively with a range of audiences
4An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
5An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
6An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
7An ability to acquire and apply new knowledge as needed, using appropriate learning strategies