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
- Module 0 — Start Here
- Module 1 — Algorithms and Problem Solving
- Module 2 — How Computers Work
- Setup — The C Toolchain
- Module 3 — C Basics
- Module 4 — Conditional Statements
- Module 5 — Loops I: for Loops
- Module 6 — Loops II: while Loops
- Module 7 — Functions
- Module 8 — Strings
- Module 9 — Data Structures
- Module 10 — Error Handling
- Module 11 — Files
- Module 12 — Capstone Project
Instructor: Anis Koubaa