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

Distributed Programming in Java (Coursera) Coursera
Rice University

Distributed Programming in Java (Coursera)

This course teaches learners (industry professionals and students) the fundamental concepts of Distributed Programming in the context of Java 8. Distributed programming enables developers to use multiple nodes in a data center to increase throughput and/or reduce latency of selected applications. By the end of this course, you will learn how to use popular distributed programming frameworks for Java programs, including Hadoop, Spark, Sockets, Remote Method Invocation (RMI), Multicast Sockets, Kafka, Message Passing Interface (MPI), as well as different approaches to combine distribution with multithreading.

Jun 22nd 2026
4 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.

Jun 22nd 2026
5-12 Weeks
Python for Data Science, AI & Development (Coursera) Coursera
IBM

Python for Data Science, AI & Development (Coursera)

Kickstart your learning of Python for data science, as well as programming in general, with this beginner-friendly introduction to Python. Python is one of the world’s most popular programming languages, and there has never been greater demand for professionals with the ability to apply Python fundamentals to drive business solutions across industries.

Jun 23rd 2026
5-12 Weeks
Functional Program Design in Scala (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Functional Program Design in Scala (Coursera)

In this course you will learn how to apply the functional programming style in the design of larger applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world.

Jun 22nd 2026
5-12 Weeks
Basic Modeling for Discrete Optimization (Coursera) Coursera
University of Melbourne,The Chinese University of Hong Kong

Basic Modeling for Discrete Optimization (Coursera)

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars.

Jun 22nd 2026
4 Weeks
Introduction to CSS3 (Coursera) Coursera
University of Michigan

Introduction to CSS3 (Coursera)

The web today is almost unrecognizable from the early days of white pages with lists of blue links. Now, sites are designed with complex layouts, unique fonts, and customized color schemes. This course will show you the basics of Cascading Style Sheets (CSS3). The emphasis will be on learning how to write CSS rules, how to test code, and how to establish good programming habits.

Jun 22nd 2026
4 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.

Jun 22nd 2026
4 Weeks
Introduction to HTML5 (Coursera) Coursera
University of Michigan

Introduction to HTML5 (Coursera)

Thanks to a growing number of software programs, it seems as if anyone can make a webpage. But what if you actually want to understand how the page was created? There are great textbooks and online resources for learning web design, but most of those resources require some background knowledge. This course is designed to help the novice who wants to gain confidence and knowledge. We will explore the theory (what actually happens when you click on a link on a webpage?), the practical (what do I need to know to make my own page?), and the overlooked (I have a page, what do I do now?).

Jun 22nd 2026
3 Weeks
Java Programming: Principles of Software Design (Coursera) Coursera
Duke University

Java Programming: Principles of Software Design (Coursera)

Solve real world problems with Java using multiple classes. Learn how to create programming solutions that scale using Java interfaces. Recognize that software engineering is more than writing code - it also involves logical thinking and design. By the end of this course you will have written a program that analyzes and sorts earthquake data, and developed a predictive text generator.

Jun 22nd 2026
4 Weeks