Programming fundamentals
Think in objects: from analysis to classes
Move from analysis to object code: classes, relations, layered architecture and basic patterns.
- Duration
- 14 h · 2 days
- Level
- Beginner
- Format
- On site · Remote · Blended
- Max. group size
- 12 participants
Overview
This program explains how to design an object-oriented application and translate it into code. Participants identify classes from a need, understand encapsulation, inheritance and interfaces, then discover design principles (SOLID) and a few common patterns. They also see how a layered architecture and frameworks rely on these notions.
Who this program is for
- Procedural developers moving to objects
- Students and career changers
- Analysts who work with development teams
Prerequisites
- Basic programming knowledge
Learning objectives
- Identify a project's entities and turn them into classes
- Understand class, object, attributes and methods
- Use encapsulation, inheritance and interfaces
- Apply the SOLID principles
- Organize an application in layers
- Recognize a few common patterns: Repository, dependency injection, MVC, Observer
Detailed curriculum
4 modules · 14 h · 2 days
Day 1
From analysis to objects
30% theory · 70% practice
- Identifying entities and responsibilities
- Classes, objects, attributes and methods
- Encapsulation and visibility
- Relations: association, composition, inheritance
- UML and modern alternatives
🛠 Hands-on workshops
Identify the classes1.5 h
Go from a statement to a class diagram.
✅ Deliverable : A class diagram
Designing an object architecture
50% theory · 50% practice
- Layered architecture: data, business, presentation
- Interfaces and polymorphism
- SOLID principles
- Repository pattern
- Dependency injection
Day 2
Design patterns
30% theory · 70% practice
- MVC: roles and flows
- Observer
- Other useful patterns: factory, strategy
- When not to use a pattern
- Reading a framework's code
🛠 Hands-on workshops
Guided refactoring1.5 h
Refactor poorly structured code with patterns.
✅ Deliverable : Refactored code
Tools and frameworks
30% theory · 70% practice
- Code generators and IDEs
- Value and risks of frameworks
- Choosing a framework depending on context
- Unit tests and design
- Capstone mini-project
🛠 Hands-on workshops
Object application2 h
Design and program a small object-oriented application.
✅ Deliverable : A structured application
Tools and technologies
IntelliJ IDEAVisual 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 code editor or an IDE of your choice
Resources provided
- Course materials and repository of corrected exercises
Career outcomes
- A consistent class diagram
- A shared object vocabulary
- The criteria to judge a framework
Related video courses
My video courses that go with this program, to get ready for the training or to review afterwards. Free with an account.

JAVA OOP
Learn the main concepts of OBJECT-ORIENTED JAVA and build your first design patterns in no time!

PHPOO
Learn the main concepts of OBJECT-ORIENTED PHP and build your first design patterns in no time!

PYTHON OOP
Learn the main concepts of OBJECT-ORIENTED PYTHON and build your first design patterns!