Introduction à la programmation (Coursera)

Offered by University of Geneva,
Introduction à la programmation (Coursera)

Quel que soit votre domaine d’études, vos activités professionnelles futures vous confronteront régulièrement aux technologies numériques. Même si ces technologies sont rendues aussi intuitives que possible, il est souvent nécessaire de les configurer ou de les adapter pour pouvoir les exploiter de façon optimale. Des compétences de base de la pensée informatique et de la programmation vous permettront de franchir ces étapes de façon appropriée. L’initiation à la programmation permet concrètement de s’ouvrir à la pensée informatique et à la mettre en pratique.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Vous pouvez conduire une voiture sans avoir de connaissances mécaniques, mais des compétences de base vous permettront d’améliorer son usage. L’objectif de cours est de vous permettre d’améliorer votre approche des technologies numériques de façon à les adapter à vos besoins plutôt que de les subir et de vous adapter à elles.
Cette initiation à la programmation vous permettra de mieux appréhender et contrôler l’environnement numérique dans lequel vous serez immergé que ce soit pour vos activités personnelles et surtout, professionnelles.

Syllabus

WEEK 1
Comprendre l'activité de programmation
Dans ce module, vous allez pouvoir découvrir où et comment l’activité de programmation se situe par rapport aux équipements informatiques qu’elle permet de piloter. On va vous amener à mieux appréhender les notions de base que sont les variables et les instructions de contrôle, puisque ces principes constituent les fondements de la programmation étudiée dans ce cours. En plus d'aborder un certain nombre d'autres concepts de base, ce module se terminera par une leçon qui vous permettra d’installer sur votre ordinateur l’environnement logiciel nécessaire pour programmer. Cette étape est essentielle, car la programmation est une activité pratique qui nécessite une boîte à outil logicielle. Le cours vous amènera progressivement à utiliser cet environnement de développement, notamment au travers d'exercices de programmation. Nous avons fait ce choix pour vous mettre en situation réelle avec un véritable environnement de développement, même si vous n’en utiliserez pas toutes les fonctionnalités. Vous l'aurez compris. Ce module n'est pas une simple introduction. Il plante le décor et vous prépare à bien appréhender et maîtriser la suite du cours. Nous vous encourageons à y consacrer le temps nécessaire.

WEEK 2
Les Types
Ce module aborde la question de la représentation des données en informatique. Vous approfondirez les notions de types et de variables ainsi que leur mise en pratique dans un programme séquentiel simple. La notion de types de données permet d’aborder la question de la représentation des données et d’étudier des exemples concrets que sont les types prédéfinis. Dans un deuxième temps, nous verrons ensemble la structure de programme séquentiel simple, puis la notion de package permettant d’intégrer des fonctionnalités optionnelles ainsi que les fonctionnalités de saisie au clavier et d’affichage à la console pour permettre de réaliser des interactions de base avec l’utilisateur d’un programme.

WEEK 3
Les structures de contrôle : les instructions conditionnelles
Les structures de contrôle conditionnelles permettent de gérer les situations où il est nécessaire de définir plusieurs traitements alternatifs à choisir en fonction du contexte. Dans ce module, on insistera particulièrement sur la notion de condition qui permet de décrire le contexte en fonction duquel le choix du traitement sera réalisé.

WEEK 4
Les structures de contrôle : les instructions itératives
Les structures de contrôle itératives permettent de gérer des situations où il est nécessaire de répéter un certain nombre de fois le même traitement. Le nombre de fois à répéter le traitement est déterminé par une condition qui exprime le contexte de la problématique à représenter. Dans ce module, nous approfondirons ensemble les notions de conditions et de logique.

WEEK 5
Les collections : les tableaux et les listes
Pour ce module, nous nous concentrerons sur les collections les plus courantes que sont les listes et les tableaux. Les collections permettent de gérer de grandes quantités de données de même type. Elles permettent d’accéder à la fois à l'ensemble des données ou à chaque donnée individuellement. Elles proposent aussi un ensemble de fonctionnalités pour en faciliter l'exploitation, comme de retrouver une donnée précise dans la collection.

WEEK 6
Programmation procédurales : les méthodes
La notion de méthode permet d'introduire une démarche d'analyse pour la résolution de problèmes. Cela consiste à réduire successivement une problématique complexe en sous-problèmes plus simples. Chaque sous-problème sera ensuite résolu sous forme d’une méthode. L'ensemble des méthodes résultantes sera ensuite « orchestré » pour fournir une solution à la problématique initiale. C'est donc dans cette démarche de dissection de problèmes que nous nous lançons pour ce module!

WEEK 7
Les bases de la programmation orientée objet : classes et objets
La notion de classe et, plus largement, la programmation dite orientée objet, propose aussi une démarche d'analyse et de représentation d’un problème. Pour le présenter simplement, il s'agit de déterminer non plus simplement les sous-tâches d’un problème, mais d'identifier à un niveau plus abstrait des catégories d’intervenants du problème. Ces intervenants sont ensuite représentés sous forme de classes qui décrivent leurs caractéristiques et leur comportement communs. Le programme se présente alors comme un ensemble de classes qui interagissent et collaborent entre elles.
Dans ce module, nous verrons uniquement les quelques notions de bases suivantes sous une forme simple : attributs, méthodes et héritage. Cela devrait toutefois suffire à vous fournir les quelques bases de la programmation orientée objet.

WEEK 8
Les fichiers & la gestion d'exception
La notion de fichier permet de traiter les questions de stockage pérenne de l’information. Ces questions ne se résument pas à la seule question de l'enregistrement et de la conservation de l’information. Elles nécessitent aussi de se poser la question de l'organisation et de la structuration de l'information pour pouvoir ensuite l'exploiter efficacement. Ces questions seront abordées dans ce module dans le cadre des fichiers textes en incluant la gestion d'exception qui permet de gérer les conditions exceptionnelles pendant l'exécution du programme

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

IBM z/OS Rexx Programming (Coursera) Coursera
IBM

IBM z/OS Rexx Programming (Coursera)

This course is designed to teach you the basic skills required to write programs using the REXX language in z/OS. The course covers the TSO extensions to REXX and interaction with other environments such as the MVS console, running REXX in batch jobs, and compiling REXX. A total of 11 hands-on labs on an IBM Z server (via remote Skytap access) are part of this course.

Nov 2nd 2026
5-12 Weeks
Creative Programming for Digital Media & Mobile Apps (Coursera) Coursera
University of London,Goldsmiths, University of London

Creative Programming for Digital Media & Mobile Apps (Coursera)

This course is for anyone who would like to apply their technical skills to creative work ranging from video games to art installations to interactive music, and also for artists who would like to use programming in their artistic practice. This course will teach you how to develop and apply programming skills to creative work. This is an important skill within the development of creative mobile applications, digital music and video games. It will teach the technical skills needed to write software that make use of images, audio and graphics, and will concentrate on the application of these skills to creative projects. Additional resources will be provided for students with no programming background.

Nov 9th 2026
5-12 Weeks
Foundations of Data Science: K-Means Clustering in Python (Coursera) Coursera
University of London,Goldsmiths, University of London

Foundations of Data Science: K-Means Clustering in Python (Coursera)

This MOOC, designed by an academic team from Goldsmiths, University of London, will quickly introduce you to the core concepts of Data Science to prepare you for intermediate and advanced Data Science courses. It focuses on the basic mathematics, statistics and programming skills that are necessary for typical data analysis tasks.

Nov 2nd 2026
5-12 Weeks
Programming Reactive Systems (Scala 2 version) (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Programming Reactive Systems (Scala 2 version) (Coursera)

Reactive programming is a set of techniques for implementing scalable, resilient and responsive systems as per the Reactive Manifesto. Such systems are based on asynchronous message-passing, and their basic building-blocks are event handlers. This course teaches how to implement reactive systems in Scala and Akka by using high-level abstractions, such as actors, asynchronous computations, and reactive streams.

Nov 2nd 2026
5-12 Weeks
Learn Imba (Coursera) Coursera
Scrimba

Learn Imba (Coursera)

In this class, you'll dive into Imba, the programming language used to build scrimba.com. Imba, a compile-to-JavaScript language, packs a punch with nifty features for whipping up web apps, including built-in tags and styles. We'll cover the ABCs of Imba syntax and work on creating a Dopamine Box app. By the finish line, you'll be armed with the skills to construct your very own web app UI using Imba.

Nov 9th 2026
1 Week
Applied Text Mining in Python (Coursera) Coursera
University of Michigan

Applied Text Mining in Python (Coursera)

This course will introduce the learner to text mining and text manipulation basics. The course begins with an understanding of how text is handled by python, the structure of text both to the machine and to humans, and an overview of the nltk framework for manipulating text. The second week focuses on common manipulation needs, including regular expressions (searching for text), cleaning text, and preparing text for use by machine learning processes. The third week will apply basic natural language processing methods to text, and demonstrate how text classification is accomplished. The final week will explore more advanced methods for detecting the topics in documents and grouping them by similarity (topic modelling).

Nov 9th 2026
4 Weeks
Principles of Computing (Part 2) (Coursera) Coursera
Rice University

Principles of Computing (Part 2) (Coursera)

This two-part course introduces the basic mathematical and programming principles that underlie much of Computer Science. Understanding these principles is crucial to the process of creating efficient and well-structured solutions for computational problems. To get hands-on experience working with these concepts, we will use the Python programming language. The main focus of the class will be weekly mini-projects that build upon the mathematical and programming principles that are taught in the class.

Nov 2nd 2026
4 Weeks
Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera) Coursera
Pontificia Universidad Católica de Chile

Introducción a la programación en Python I: Aprendiendo a programar con Python (Coursera)

Decía Steve Jobs que “todo el mundo debería aprender a programar un ordenador porque esto te ayuda a pensar”. Hoy en día la programación es una herramienta fundamental para el desarrollo de la tecnología moderna. Este curso te introduce en el mundo de la programación en el lenguaje Python.

Nov 2nd 2026
5-12 Weeks
Laboratório de Programação Orientada a Objetos - Parte 2 (Coursera) Coursera
Universidade de São Paulo, Brasil

Laboratório de Programação Orientada a Objetos - Parte 2 (Coursera)

Esta é a segunda parte do curso avançado de Programação Orientada a Objetos oferecido pelo Departamento de Ciência da Computação do IME-USP. O curso é voltado para profissionais ou estudantes interessados em Desenvolvimento de Software Avançado e que já dominam uma linguagem de programação e já conhecem os fundamentos básicos da orientação a objetos.

Nov 9th 2026
5-12 Weeks