Information Package

Program of Artificial Intelligence Engineering (English)

AI322

EMBEDDED COMPUTER PROGRAMMING

Course Code
AI322
Semester
Sixth Term (Spring)
Theory+Practice
3 + 1
ECTS
5
Course TypeCompulsory Course
Course LevelBachelor's Degree
Year of Study3
SemesterSixth Term (Spring)
ECTS5
Name of Lecturer(s) -
Learning Outcomes

At the end of this course, the students;

  1. Knowledge about the real-time and embedded systems.
  2. Learn to design methods for real-time operating systems.
  3. Knowledge about the real-time operating systems cores.
  4. Will have information about the development of peripheral drivers.
  5. Learn embedded system software development tools to develop an application.
  6. Learn methods of debugging embedded system software.
Mode of DeliveryFace to face
PrerequisitesYes(CENG103)
Recommended Optional Programme Components
Course DescriptionIntroduction to embedded Linux systems, single-board computers (SBCs), Linux terminal, file system, and basic shell scripting, GPIO, I2C, SPI, UART interfaces, Python and C/C++ programming for hardware interaction, Sensor and actuator integration, Real-time data acquisition and control, Networking, wireless communication, and IoT basics, Multi-threading and process management, Working with camera modules, displays, and peripherals, Project-based system design and deployment.
Course Contents
WEEK TOPICS
1st Week Introduction to real-time and embedded systems.
2nd Week Introduction to real-time and embedded systems.
3rd Week Introduction to real-time and embedded systems.
4th Week Hardware fundamentals.
5th Week Hardware fundamentals.
6th Week Hardware fundamentals.
7th Week Hardware fundamentals.
8th Week Mid-term
9th Week Real-time operating systems: Basic designs using real-time operating systems, operating system services, real-time kernels.
10th Week Real-time operating systems: Basic designs using real-time operating systems, operating system services, real-time kernels.
11th Week Device driver development.
12th Week Device driver development.
13th Week Embedded software development tools and debugging techniques.
14th Week Embedded software development tools and debugging techniques.
Recommended or Required Reading* Exploring Raspberry Pi: Interfacing to the Real World with Embedded Linux, Derek Molloy
* Programming the Raspberry Pi: Getting Started with Python, Simon Monk
* Linux for Embedded and Real-Time Applications, Doug Abbott
* The Linux Command Line: A Complete Introduction, William E. Shotts, Jr.
* Internet of Things with Raspberry Pi 4, John Mueller
Planned Learning Activities and Teaching Methods
  • Lecture
  • Questions/Answers
  • Presentation
  • Practice
  • Problem Solving
  • Project
  • Report Preparation
Assessment Methods and Criteria
Quantity Percentage (%)
Mid-term 1 30
Assignment 1 15
Project 1 15
Total(%) 60
Contribution of In-term Studies to Overall Grade(%) 60
Contribution of Final Examination to Overall Grade(%) 40
Total(%) 100
Language of Instruction-
Work Placement(s)No
LO1 LO2 LO3 LO4 LO5 LO6
K1
K2
K3
K4
K5
K6
K7
K8
K9
K10
K11
K12