Courses related to Embedded programming/development

In this course students will learn how to use C++ to create GUIs, how to create an original Windows application in Native mode, how manipulate Device Dependent and Device Independent bitmaps and how to take advantage of Microsoft Foundation Class (MFC) to do similar tasks more efficiently.

This is an advanced course that introduces advanced software engineering principles, techniques and algorithms. Students will learn to apply multiple design patterns with different intents to make their code more effective and reusable. Topics will include façade, flyweight, iterator, builder, bridge, composite and model view controller design patterns, graph processing and compression.


Programing effectively and in a way that the code can be reused is a major goal for every programmer. Once a person understands the programing and logic, they must start thinking about software engineering concepts that make the code faster, effective and reusable. In this course students will learn quite a few algorithms and software engineering tools plus two fundamental design patterns that are the base for understanding other design patterns. Students also will be introduced to the standard template library, abstract data types, trees and recursion as well as sort and search algorithms.

ANSI C and C++ are extensively used beside assembly language to program embedded systems. Any smart device which has the capability of being programmed has a chip in it that is programed by Assembly, C or C++. In this course students will learn how to program microcontrollers or other chips using C and C++ and taking advantage of Arduino development Environment.

Assembly language is the oldest programming language, and of all languages, bears the closest resemblance to native machine language. It provides direct access to computer hardware, requiring users to understand much about their computer’s architecture and operating system. This course focuses on programming microprocessors compatible with the Intel IA-32 and AMD x86 processors running under Microsoft Windows. The x86 processor type is appeared in the Intel 80386 processor, and continued with processors such as the Intel Pentium, Intel Pentium 4, Intel Pentium Core Duo, and the Advanced Micro Devices (AMD) Athlon.