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

Fundamental Skills in Bioinformatics (Coursera) Coursera
King Abdullah University of Science and Technology (KAUST)

Fundamental Skills in Bioinformatics (Coursera)

The course provides a broad and mainly practical overview of fundamental skills for bioinformatics (and, in general, data analysis). The aim is to support the simultaneous development of quantitative and programming skills for biological and biomedical students with little or no background in programming or quantitative analysis.

Nov 16th 2026
4 Weeks
Developing Android Apps with App Inventor (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Developing Android Apps with App Inventor (Coursera)

The course will give students hands-on experience in developing interesting Android applications. No previous experience in programming is needed, and the course is suitable for students with any level of computing experience. MIT App Inventor will be used in the course. It is a blocks-based programming tool that allows everyone, even novices, to start programming and build fully functional apps for Android devices. Students are encouraged to use their own Android devices for hands-on testing and exploitation.

Nov 16th 2026
5-12 Weeks
Algorithms, Part I (Coursera) Coursera
Princeton University

Algorithms, Part I (Coursera)

This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers elementary data structures, sorting, and searching algorithms. Part II focuses on graph- and string-processing algorithms.

Nov 16th 2026
5-12 Weeks
The Unix Workbench (Coursera) Coursera
Johns Hopkins University

The Unix Workbench (Coursera)

Unix forms a foundation that is often very helpful for accomplishing other goals you might have for you and your computer, whether that goal is running a business, writing a book, curing disease, or creating the next great app. The means to these goals are sometimes carried out by writing software. Software can’t be mined out of the ground, nor can software seeds be planted in spring to harvest by autumn. Software isn’t produced in factories on an assembly line. Software is a hand-made, often bespoke good. If a software developer is an artisan, then Unix is their workbench.

Nov 23rd 2026
4 Weeks
VLSI CAD Part II: Layout (Coursera) Coursera
University of Illinois at Urbana-Champaign

VLSI CAD Part II: Layout (Coursera)

A 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.

Nov 16th 2026
5-12 Weeks
Learn CSS Flexbox (Coursera) Coursera
Scrimba

Learn CSS Flexbox (Coursera)

Mastering CSS Flexbox: Unlock the Power of Flexible Web Layouts. Discover the indispensable art of CSS Flexbox and elevate your web development prowess to new heights. In this comprehensive course, you'll gain proficiency in harnessing the unparalleled capabilities of Flexbox, revolutionizing the way you construct websites.

Nov 23rd 2026
1 Week
Open Source Programming - Bachelor's (Coursera) Coursera
Illinois Tech

Open Source Programming - Bachelor's (Coursera)

Contemporary open-source programming languages and frameworks are presented in this course. Students will consider design and development topics in system, graphical user interface, network, and web programming. Dynamic scripting languages are covered using object-oriented, concurrent, and functional programming paradigms. Concepts gained throughout the course are reinforced with numerous exercises which will culminate in an open-source programming project.

Nov 23rd 2026
5-12 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.

Nov 16th 2026
5-12 Weeks
Open Source Programming - Master's (Coursera) Coursera
Illinois Tech

Open Source Programming - Master's (Coursera)

Contemporary open-source programming languages and frameworks are presented in this course. Students will consider design and development topics in system, graphical user interface, network, and web programming. Dynamic scripting languages are covered using object-oriented, concurrent, and functional programming paradigms. Concepts gained throughout the course are reinforced with numerous exercises which will culminate in an open-source programming project.

Nov 23rd 2026
5-12 Weeks
Code Yourself! An Introduction to Programming (Coursera) Coursera
University of Edinburgh,Universidad ORT Uruguay

Code Yourself! An Introduction to Programming (Coursera)

Have you ever wished you knew how to program, but had no idea where to start from? This course will teach you how to program in Scratch, an easy to use visual programming language. More importantly, it will introduce you to the fundamental principles of computing and it will help you think like a software engineer.

Nov 23rd 2026
5-12 Weeks
Effective Programming in Scala (Coursera) Coursera
École Polytechnique Fédérale de Lausanne

Effective Programming in Scala (Coursera)

Scala is an expressive, versatile, and safe programming language. In this course, you will learn how to get the most out of Scala to solve common programming tasks such as modeling business domains, breaking down complex problems into simpler problems, manipulating data, or running parallel tasks. Along the journey, you will also learn the best practices for writing high-quality code that scales to large applications, how to handle errors, how to write tests, and how to leverage a productive development environment.

Nov 23rd 2026
5-12 Weeks