Programming fundamentals

Think in objects: from analysis to classes

Move from analysis to object code: classes, relations, layered architecture and basic patterns.

Request this program
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 objects3.5 h🛠 1 workshop
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 architecture3.5 h
50% theory · 50% practice
  • Layered architecture: data, business, presentation
  • Interfaces and polymorphism
  • SOLID principles
  • Repository pattern
  • Dependency injection
Day 2
Design patterns3.5 h🛠 1 workshop
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 frameworks3.5 h🛠 1 workshop
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.