Online courses · XEducation

Programming for Engineers with C

Solve engineering problems with a computer — and write the solutions in C, the language of microcontrollers

Solve engineering problems with a computer — and write the solutions in C, the language of microcontrollers. Anis Koubaa. 14 modules · 40 lessons · 8h 35m · Beginner. Audio in English, Arabic, French.

The introductory programming course for electrical engineering students, and for engineering and computer science students in general, taught through a problem-solving approach. C is the language of microcontrollers and embedded systems, so the language you learn here is the one your hardware courses use. For every problem you first learn to solve it systematically — understand the problem, design the logic step by step in pseudocode and flowcharts — and then write the C code that runs it on the machine. Across fourteen modules you build a catalogue of eighteen named algorithmic patterns, practise tracing programs by hand, and close with a capstone that solves an unfamiliar problem end to end. No prior programming is needed: the course starts from zero.

What you will learn

  • Design a solution before writing code: inputs, process and outputs, expressed as pseudocode or a flowchart
  • Recognise which of the eighteen core algorithmic patterns an unfamiliar problem needs, and compose them
  • Implement a design in working C: variables, decisions, loops, functions, pointers and data structures
  • Verify a program by tracing it by hand, predicting its output and locating defects

Course content

  1. Module 0 — Start Here
  2. Module 1 — Algorithms and Problem Solving
  3. Module 2 — How Computers Work
  4. Setup — The C Toolchain
  5. Module 3 — C Basics
  6. Module 4 — Conditional Statements
  7. Module 5 — Loops I: for Loops
  8. Module 6 — Loops II: while Loops
  9. Module 7 — Functions
  10. Module 8 — Strings
  11. Module 9 — Data Structures
  12. Module 10 — Error Handling
  13. Module 11 — Files
  14. Module 12 — Capstone Project

Instructor: Anis Koubaa