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

Introduction to Software, Programming, and Databases (Coursera) Coursera
IBM

Introduction to Software, Programming, and Databases (Coursera)

There are many types of software and understanding software can be overwhelming. This course aims to help you understand more about the types of software and how to manage software from an information technology (IT) perspective. This course will help you understand the basics of software, cloud computing, web browsers, development and concepts of software, programming languages, and database basics.

Sep 14th 2026
5-12 Weeks
Videojuegos: ¿de qué hablamos? (Coursera) Coursera
Universitat Autònoma de Barcelona

Videojuegos: ¿de qué hablamos? (Coursera)

Probablemente, todos hemos jugado a algún videojuego, pero ¿qué hay detrás de él? Podemos decir que - con independencia del videojuego - hay un árduo trabajo multidisciplinar que incluye desde aspectos de diseño hasta la programación como tal del videojuego. Este curso pretende ser un curso introductorio que muestre qué aspectos hay que considerar en el videojuego, y que permita con posterioridad abordar individualmente los temas que se consideran nucleares: diseño, arte, motor del videojuego y 'game play'.

Sep 21st 2026
5-12 Weeks
Programming Languages, Part C (Coursera) Coursera
University of Washington

Programming Languages, Part C (Coursera)

This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Sep 21st 2026
3 Weeks
VLSI CAD Part I: Logic (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part I: Logic (Coursera)

A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc. How do we design these complex chips? Answer: CAD software tools. Learn how to build thesA modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design.

Sep 21st 2026
5-12 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Sep 14th 2026
5-12 Weeks
COBOL Programming with VSCode (Coursera) Coursera
IBM

COBOL Programming with VSCode (Coursera)

Professor Tak Auyeung of American River College, said it beautifully, “A programming language is not a fashion statement” it is used for a purpose. Whether it is to add new features, modify logic, create APIs to integrate it into other applications, or implement modern development practices, businesses around the world need application developers who know COBOL.

Sep 14th 2026
3 Weeks
Big Data Analysis with Scala and Spark (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Big Data Analysis with Scala and Spark (Coursera)

Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout.

Sep 14th 2026
4 Weeks