Programming
Write software that solves problems — from first principles to Python, C, C++, Java, data structures and code that runs on real hardware.
Programming is the craft of giving a computer precise, step-by-step instructions. At UPEEC we treat it as a tool for engineers: the same ideas that power web apps also blink an LED on a microcontroller, read a sensor over I2C or control a motor.
This domain starts with fundamentals that apply to every language, then goes deep into Python, C, C++ and Java, followed by data structures and algorithms, embedded programming and hardware description languages (Verilog and VHDL).
Pick a subject below, or search for any concept.
Subjects (8)
Programming Fundamentals
The ideas every programming language shares: variables, types, control flow, functions and how code becomes a running program.
Python
A readable, batteries-included language used for automation, data science, web back-ends and even microcontrollers (MicroPython).
C
The language of embedded systems and operating systems — small, fast and close to the hardware.
C++
C with classes, templates and a rich standard library — used for games, high-performance software and modern embedded systems.
Java
A portable, object-oriented language running on the JVM — used for Android apps, enterprise back-ends and large systems.
Data Structures and Algorithms
How to organise data and design efficient algorithms — the core of computer science and coding interviews.
Embedded Programming
Writing software for microcontrollers: bare-metal code, interrupts, real-time operating systems and direct hardware access.
Hardware Description Languages
Describe digital circuits in code with Verilog and VHDL, then synthesise them onto FPGAs or ASICs.
Spotted a mistake or want to add detail? Suggest an improvement — Content Contributors' edits are reviewed by editors before they go live.
Discussion (0)
Sign in or join free to ask questions and discuss this topic.