Programming fundamentals
Algorithms: learn to reason before you code
Learn to reason like a developer: variables, conditions, loops, arrays, functions and sorting.
- Duration
- 21 h · 3 days
- Level
- Beginner
- Format
- On site · Remote · Blended
- Max. group size
- 12 participants
Overview
This program gives the foundations common to all languages: breaking down a problem, expressing it as an algorithm, using variables, conditions, loops, arrays and functions, then tackling sorting, recursion and traversal of structures. Exercises are independent of any specific language to develop logic before syntax.
Who this program is for
- Future developers and career changers
- Computer science students
- Professionals who want to understand programming
Prerequisites
- Rigor and a taste for logic
- Good command of computer tools
Learning objectives
- Break a problem down into steps
- Write algorithms with variables, expressions and operators
- Use conditions and loops, including nested ones
- Work with one- or multi-dimensional arrays
- Write functions and procedures
- Compare sorting and search algorithms
- Understand recursion
Detailed curriculum
6 modules · 21 h · 3 days
Day 1
Thinking in algorithms
30% theory · 70% practice
- What is an algorithm
- Variables, constants and types
- Expressions and operators
- Input, output and display
- Pseudocode and flowcharts
🛠 Hands-on workshops
First algorithms1.5 h
Solve simple calculation and conversion problems.
✅ Deliverable : A collection of algorithms
Conditions and logic
50% theory · 50% practice
- Conditional statements
- Logical operators and truth tables
- Multiple cases
- Simplifying conditions
- Tests and test cases
Day 2
Loops
30% theory · 70% practice
- Counter loops, while, repeat
- Nested loops
- Accumulators and counters
- Sentinels and stops
- Classic mistakes: infinite loops
🛠 Hands-on workshops
Drawings and sequences1.5 h
Produce patterns and number sequences with loops.
✅ Deliverable : A series of loop algorithms
Data, arrays and functions
30% theory · 70% practice
- Strings and booleans
- One-, two- and three-dimensional arrays
- Lists and linked structures
- Functions and procedures
- Parameters and scope
🛠 Hands-on workshops
Grade management2 h
Manage and analyze a table of grades.
✅ Deliverable : A statistics program
Day 3
Sorting and searching
30% theory · 70% practice
- Selection, bubble and insertion sort
- Sequential and binary search
- Comparing costs
- Choosing an algorithm
- Practical cases
🛠 Hands-on workshops
Sorting contest1.5 h
Implement and time several sorts.
✅ Deliverable : A quantified comparison
Recursion, traversal and documentation
50% theory · 50% practice
- Recursive functions
- Stacks and queues: LIFO and FIFO traversal
- Tree traversal: notions
- Documenting and testing your algorithms
- From pseudocode to a language: first translations
Tools and technologies
Visual Studio Code
Teaching methods
- Alternating short lectures and hands-on work
- Live demonstrations by the trainer
- Capstone project built throughout the modules
- Group corrections and discussion of best practices
Assessment
- Hands-on exercises corrected in each module
- Mini-project completed at the end of the course
- Knowledge-check quiz
Required equipment
- A computer with an internet connection
- A text editor or an online algorithm tool
Resources provided
- Course materials and repository of corrected exercises
- Collection of solved exercises
- Summary sheets on data structures
Career outcomes
- An ability to analyze and break down problems
- A solid foundation to learn any language
- A collection of personal algorithms