Object Oriented Programming

Goals


- Understand the challenges of object-oriented design

- Master general concepts and be able to apply them to the main object languages

Program

History and comparison
Impossibilities and challenges: moving from procedural to object
Quick generalist syntax of several languages ​​hosting the object

Instances of
Staticity and Dynamicity objects : correspondence with real life

Classes, attributes and methods: fundamental elements
Code inheritance and reuse
Visibility: how, why
Interfaces and abstraction: reasoned preparation of an architecture

The components, the packages, elements of programming by components
Essential concepts of UML
Some Design Patterns of current use
Differences between languages

Practical comparison: the object in the languages ​​Java / C # / PHP 5.0

Duration

2 days

Price

£ 1090

Audience

All

Prerequisites

Knowledge of programming

Reference

PRO69-F

Sessions

Contact us for more informations about session date

Algorithmic

Goals


- Master the algorithmic part of programming

- Know the essential issues and the entourage of this discipline

- Know how to search for data and carry out an operation of any complexity in a predictable and optimized way

Program

General principles, history
Algorithmics in the project, in the development team, in the program
Environment of any development language (Java, C ++, C #, Python, Visual Basic or PHP)

Principle of a state machine and Turing universality
Variables: definition, life cycle, types and issues
Control structures: conditions
Control structures: loops
Error mechanisms; exceptions
Procedures (parameters, return values)
Callbacks, function pointers, delegates …
Closings, lambda programming summary
Introduction to Object Oriented Programming

Manual examples – multiplication and Towers of Hanoi
Graphical representation solutions, thinking aid
Condition
sets and expert systems Predictable length
loops – multiple examples Unpredictable length loops – multiple examples and dangers
Recursion – recursion suppression

Type and choice of structures
Use the structure from the algorithm
Good practices for algorithms and for structures

What optimization is, what to optimize: best practices
Performance and complexity
Heuristics – numerous examples and research
Other non-algorithmic solutions

Duration

2 days

Price

£ 1090

Audience

Application developers

Prerequisites

No

Reference

PRO188-F

 

Sessions

Contact us for more informations about session date

The essentials

MSI package

Functional and logic programming

Functional and logic programming training distributed the following training:

  • Prolog : Prolog is a language of logic programming . The name Prolog is an acronym for PROgrammation in LOGic. It was created by Alain Colmerauer and Philippe Roussel around 1972 in Luminy, Marseille. The goal was to create a programming language in which the logical rules expected of a solution would be defined and to let the compiler transform it into a sequence of instructions. One of the expected gains was an increased ease of maintenance of the applications, the addition or the deletion of rules over time not requiring to re-examine all the others.
  • Caml : Caml (pronounced camel , stands for Categorical Abstract Machine Language ) is a general purpose programming language designed for program security and reliability. It lends itself to functional , imperative, and object-oriented programming styles . It is also a strongly typed language.
  • Kotlin : Kotlin is an object-oriented and functional programming language , with static typing that allows compiling for the Java virtual machine, JavaScript, and to multiple platforms natively (thanks to LLVM ). Its development comes mainly from a team of programmers at JetBrains based in St. Petersburg, Russia.
  • Scala : Scala is a multi-paradigm programming language designed at the Swiss Federal Institute of Technology Lausanne (EPFL) to express common programming models in a concise and elegant form. Its name comes from the English Scalable language which roughly means « adaptable language » or « language which can be scaled ». It can indeed be seen as a metalanguage.

 

WinDev

Ruby

Delphi

COBOL

Cobol is a programming language created in 1959 (officially September 18, 1959). Its name is the acronym for COmmon Business Oriented Language which reveals its original vocation: to be a common language for programming business applications. Today, it is mainly used in the banking, insurance and large government sectors

Connected objects : Initiation

Goals


- Understanding the Internet of Things

- Understanding the architecture of a connected object

- Programming a connected object, microcontroller side

- Programming a connected object, Internet side

Program

Remote control, IR and radio
Bluetooth
Wireless

Practice: implementation of a WiFi module

Web server (HTTP)
Interface with hardware

Practical: control of a robot via WiFi

Use of cloud services


Practical: data acquisition system

Duration

3 days

Price

£ 1945

Audience

C programmer

Prerequisites

Have followed the Microcontrollers Initiation + Deepening course (or have equivalent knowledge)

Reference

PRO100331-F

Sessions

Contact us for more informations about session date

Programmable Logics and VHDL Initiation

Goals


- Review the basics of logic systems

- Understand the architecture of programmable logic

- Learn the VHDL description and synthesis language

- Know how to program FPGAs (practice on Cyclone 4)

Program

Combinatorial logic systems
Synchronous sequential systems

Practice on a logic simulator

FPGAs
FPGA programming
FPGA Development Tools

Practice on Altera Quartus and FPGA Cyclone 4

Presentation of the VHDL language
Combinatorial logic systems in VHDL
Sequential logic systems in VHDL

Practice in VHDL on Altera Quartus and FPGA Cyclone 4

7-segment counter and display
Control of an LED matrix
Control of a brushless motor

Duration

3 days

Price

£ 1945

Audience

C programmer

Prerequisites

Have followed the Microcontrollers Initiation + Deepening course (or have equivalent knowledge)

Reference

PRO100329-F

Sessions

Contact us for more informations about session date

Microcontroller : Real time programming

Goals


- Understanding the requirements of real-time programming

- Knowing how to use state machines and Grafcets

- Knowing the basics of real-time kernels

- Programming a real-time application with and without a real-time kernel

Program

Problem of real-time programming
Recalls of synchronous sequential logic systems

Grafcet programmed in C
Interruptions
Timers

Real-time practice without Real Time OS

Real Time Operating System
Predictable reaction
Synchronization of tasks
Communication between tasks

Practice with a Real Time OS

Duration

3 days

Price

£ 1945

Audience

C programmer

Prerequisites

Have followed the Microcontrollers Initiation + Deepening course (or have equivalent knowledge)

Reference

PRO100329-F

Sessions

Contact us for more informations about session date

32-bit ARM microcontrollers

Goals


- Know the different families of ARM microcontrollers (practice on MSP432 and STM32)

- Implement an ARM with an initialization code generator and an IDE

- Know the hardware abstraction libraries

- Program real-time applications

Program

Architectures and history of ARM processors
Initialization code generator


Practice with Cube MX and SW4STM32

Interruptions
Timers
Material abstraction libraries
DMA


Practical: control of an LED matrix with timer and DMA

Real-time kernels


Practice with RTOS on MSP432 development

Duration

3 days

Price

£ 1945

Audience

C programmer

Prerequisites

Have followed the Microcontrollers Initiation + Deepening course (or have equivalent knowledge)

Reference

PRO100328-F

Sessions

Contact us for more informations about session date

Microcontroller : Initiation + Advanced

Goals


- Understand what microcontrollers are

- Learn to program a microcontroller in C

- Know the peripherals of microcontrollers

- Communicate with a microcontroller (with practice on Arduino and MSP430) the assembler for the use of microcontrollers

Program

Basic in electricity and electronics
Computer architectures, microprocessors and microcontrollers
History, manufacturers and families of microcontrollers
The Arduino: card, software and language


Practice on Arduino in C-Arduino language

Modular binary and arithmetic
Reminders of C for microcontroller
Inputs-outputs and bit fields
Time management
PWM: Amplitude width modulation

Practice in C, time management

The stages and tools of microcontroller development
IDE: example with Code Composer Studio and MSP430
Permanent memories
Assembler: generalities, its current place in microcontroller development

Practice on Code Composer Studio (MSP430, Launchpad board, C and assembler)

Extension of inputs-outputs
Serial links: asynchronous, SPI and I2C
Detailed study of interruptions, examples on MSP430
Detailed study of timers, example on MSP430
Real-time clocks
Direct Memory Access
Introduction to 32-bit ARM microcontrollers

Practice interrupts and timers

Remote control
Introduction to the Internet of Things

Practice: implementation of a connected object

Duration

5 days

Price

£ 3025

Audience

C programmer

Prerequisites

Knowledge of C programming

Reference

PRO362-F

Sessions

Contact us for more informations about session date

Microcontroller : Advanced

Goals


- Deepen your knowledge of microcontrollers

- Master interruptions and timers (practice on MSP430)

- Discover 32-bit microcontrollers

- Learn about connected objects

Program

Basic in electricity and electronics
Computer architectures, microprocessors and microcontrollers
History, manufacturers and families of microcontrollers
The Arduino: card, software and language


Practice on Arduino in C-Arduino language

Modular binary and arithmetic
Reminders of C for microcontroller
Inputs-outputs and bit fields
Time management
PWM: Amplitude width modulation

Practice in C, time management

Remote control
Introduction to the Internet of Things

Practice: connected object implementation

Duration

2 days

Price

£ 1295

Audience

C programmer

Prerequisites

Have followed the Microcontrollers training, initiation (or equivalent knowledge)

Reference

PRO100327-F

Sessions

Contact us for more informations about session date

Microcontroller : Initiation

Goals


- Understanding what a microcontroller is

- Implementing an Arduino board with the Arduino environment and the Arduino library

- Programming a microcontroller in C with an IDE

- Mastering the inputs-outputs

Program

Basic in electricity and electronics
Computer architectures, microprocessors and microcontrollers
History, manufacturers and families of microcontrollers
The Arduino: card, software and language

Practice on Arduino in C-Arduino language

Modular binary and arithmetic
Reminders of C for microcontroller
Inputs-outputs and bit fields
Time management
PWM: Amplitude width modulation

Practice in C, time management

The stages and tools of microcontroller development
IDE: example with Code Composer Studio and MSP430G

Practice on Code Composer Studio (MSP430G, Launchpad and C board)

Serial links: asynchronous, SPI and I2C
Introduction to interrupts
Introduction to timers

Convenient, basic use of interrupts and timers

Duration

3 days

Price

£ 1945

Audience

C programmer

Prerequisites

Basic knowledge of electronics, knowledge of programming (if possible in C language)

Reference

PRO100326-F

Sessions

Contact us for more informations about session date

Microcontrollers

A microcontroller is a compact integrated circuit designed to govern a specific operation in an embedded system. A typical microcontroller includes a processor, memory and input/output (I/O) peripherals on a single chip.

Sometimes referred to as an embedded controller or microcontroller unit (MCU), microcontrollers are found in vehicles, robots, office machines, medical devices, mobile radio transceivers, vending machines and home appliances, among other devices. They are essentially simple miniature personal computers (PCs) designed to control small features of a larger component, without a complex front-end operating system (OS).

Java EE, web components

The Java EE Platform (Java Enterprise Edition) provides a robust solution for the development of distributed applications (http://www.oracle.com/technetwork/java/javaee/tech/index.html).

Based on the Java language, the Java EE platform provides a set of specifications for the development of standard components to build robust and secure web applications.

Building a Java EE application is supported primarily on two components that are Servlets and JSPs; built to complement each other, his last used to intercept an HTTP request and generate a web response that will be sent to the customer.
They offer advanced management contexts: page, request, session cookies, etc. and are independent of the web container on which they are running. All JEE application server is capable of hosting this type of component.

MVC frameworks can come from the nest over for architecting large applications.

Basic components (Servlet / JSP), use of advanced components (EJB, WebServices), recognized MVC frameworks (Struts, JSF, Spring MVC) and administration of Java EE application servers will no longer have secrets for you after enjoying the expertise of our trainers.

Java Advanced

Java technology defines both an object oriented programming language and a computing platform. Created by the company Sun Microsystems (often just called « Sun ») in 1995, and since taken over by the company Oracle in 2009, Java technology is inseparable from the field of computing and the Web. It is therefore found on computers, but also on mobile phones, game consoles, etc. The advent of the smartphone and the growing power of computers have led to a renewed interest in this programming language.

Java

The world’s most widely used language for developing business and mobile applications, Java is an advanced, object-oriented programming language. Its portability allows it to support disparate platforms (PCs, video players, smart cards, mobiles / tablets, etc.).

Created by James Gosling and Patrick Naughton (1995 – Sun Microsystems), it is today managed by Oracle Corporation (http://www.oracle.com/technetwork/java/index.html) and offers open source development platforms (GNU / GPL license) very rich: Java SE, Java EE, Java ME

We offer a wide range of training courses to help you improve your skills.

The training: Java Initiation + Deepening represents the starting point of your learning. It is aimed at developers who already have basic algorithms and knowledge of a programming language.

Focused on pedagogy and practical workshops, this training will
will allow you to quickly learn the syntax, the fundamental concepts of object-oriented programming and the different API’s:

  • Handling of flows / files,
  • Use of collections,
  • Access to databases using JDBC,
  • Sending emails,
  • Use of external libraries,
  • Creation of graphical interfaces (Swing),
  • Sending emails,
  • Packaging and deployment of a Java application

C/C++

C and C++

C is a general-purpose, low-level imperative programming language. Invented in the early 1970s to rewrite UNIX, C has become one of the most widely used languages, even today. Many more modern languages like C ++, C #, Java and PHP or Javascript have taken a syntax similar to C and partly take back its logic. C offers the developer a significant margin of control over the machine (especially over memory management) and is therefore used to build the “foundations” (compilers, interpreters, etc.) of these more modern languages.

C ++ is a compiled programming language allowing programming under multiple paradigms (such as procedural, object-oriented or generic programming). Its good performance, and its compatibility with C make it one of the most widely used programming languages in applications where performance is critical. Originally created by Bjarne Stroustrup in the 1980s, the C ++ language is now standardized by ISO.

Development

webdevelopment
webdevelopment
Programming

11 themes

  • The essentials
  • XML
  • C / C ++
  • Microcontrollers
  • COBOL
  • Delphi
  • Ruby
  • WinDev
  • Functional and logic programming
  • Application tests
  • Application packaging 
webdevelopment
Software engineering

2 themes

  • UML
  • Analysis and modeling
Java Logo
Java SE / Java EE

16 themes

  • Java
  • Java Advanced
  • Java EE, web components
  • Java EE, Spring Frameworks
  • Java EE, MVC web frameworks
  • Java EE, data persistence
  • Java EE, web services
  • Java SE / Java EE, Tests
  • Java SE / Java EE, Build tools
  • Java EE, Rich Applications
  • Java EE administration
  • Other Java courses
  • Java EE, Development environments
  • Java SE / Java EE, Reporting
  • CMS – Portals
  • Java SE / Java EE certifications
webdevelopment
Mobile development

5 themes

  • Android
  • Mobile Web Frameworks
  • iPhone
  • Windows Mobile
  • Google Accelerated Mobile Pages (AMP)
Microsoft.NET
.NET

6 themes

  • C # with Visual Studio
  • Visual Basic
  • Building .NET applications
  • ASP.NET
  • .NET advanced
  • Sharepoint
  • Microsoft certifications
  • C # Intermediate: Optimizing the object model and using design patterns
Python logo
Python

16 themes

  • Python: First steps for beginners
  • Python for Insiders or Java / C ++ Developers
  • Web development in Python
  • Python: other courses
webdevelopment
Blockchain

3 themes

  • Blockchain training: Initiation
  • Crypto currency training
  • Blockchain training: Smart-contract programming