Programmation fonctionnelleLa programmation fonctionnelle est un paradigme de programmation de type déclaratif qui considère le calcul en tant qu'évaluation de fonctions mathématiques. Comme le changement d'état et la mutation des données ne peuvent pas être représentés par des évaluations de fonctions la programmation fonctionnelle ne les admet pas, au contraire elle met en avant l'application des fonctions, contrairement au modèle de programmation impérative qui met en avant les changements d'état.
Programmation déclarativevignette|Binario cropped. La programmation déclarative est un paradigme de programmation qui consiste à créer des applications sur la base de composants logiciels indépendants du contexte et ne comportant aucun état interne. Autrement dit, l'appel d'un de ces composants avec les mêmes arguments produit exactement le même résultat, quel que soit le moment et le contexte de l'appel. En programmation déclarative, on décrit le quoi, c'est-à-dire le problème.
Programmation informatiquevignette|Liste d'instructions sur le Commodore 64 La programmation, appelée aussi codage dans le domaine informatique, désigne l'ensemble des activités qui permettent l'écriture des programmes informatiques. C'est une étape importante du développement de logiciels (voire de matériel). L'écriture d'un programme se fait dans un langage de programmation. Un logiciel est un ensemble de programmes (qui peuvent être écrits dans des langages de programmation différents) destiné à la réalisation de certaines tâches par un (ou plusieurs) utilisateurs du logiciel.
Langage de programmationthumb|Fragment de code écrit dans le langage de programmation JavaScript. Un langage de programmation est un langage informatique destiné à formuler des algorithmes et produire des programmes informatiques qui les appliquent. D'une manière similaire à une langue naturelle, un langage de programmation est composé d'un alphabet, d'un vocabulaire, de règles de grammaire, de significations, mais aussi d'un environnement de traduction censé rendre sa syntaxe compréhensible par la machine.
Programmation logiqueLa programmation logique est une forme de programmation qui définit les applications à l'aide : d'une base de faits : ensemble de faits élémentaires concernant le domaine visé par l'application, d'une base de règles : règles de logique associant des conséquences plus ou moins directes à ces faits, d'un moteur d'inférence (ou démonstrateur de théorème ) : exploite ces faits et ces règles en réaction à une question ou requête. Cette approche se révèle beaucoup plus souple que la définition d'une succession d'instructions que l'ordinateur exécuterait.
Programmation procéduraleEn informatique, la programmation procédurale est un paradigme qui se fonde sur le concept d'appel procédural. Une procédure, aussi appelée routine, sous-routine ou fonction (à ne pas confondre avec les fonctions de la programmation fonctionnelle reposant sur des fonctions mathématiques), contient simplement une série d'étapes à réaliser. N'importe quelle procédure peut être appelée à n'importe quelle étape de l'exécution du programme, y compris à l'intérieur d'autres procédures, voire dans la procédure elle-même (récursivité).
Robotiquethumb|upright=1.5|Nao, un robot humanoïde. thumb|upright=1.5|Des robots industriels au travail dans une usine. La robotique est l'ensemble des techniques permettant la conception et la réalisation de machines automatiques ou de robots. L'ATILF donne la définition suivante du robot : « il effectue, grâce à un système de commande automatique à base de microprocesseur, une tâche précise pour laquelle il a été conçu dans le domaine industriel, scientifique, militaire ou domestique ».
Robotique molleLa robotique molle () est un domaine de la robotique. Ce domaine traite des « robots mous » incluant certains types de drones, et construits en matériaux ou structures souples, élastiques ou déformables tels que le silicone, le plastique, le caoutchouc et autres polymères, les tissus, etc., ou des pièces mécaniques déformables utilisées en robotique, par exemple les ressorts, les élastiques ou les absorbeurs de chocs ou de vibrations.
Robotvignette|Atlas (2013), robot androïde de Boston Dynamics vignette|Bras manipulateurs dans un laboratoire (2009) vignette|NAO (2006), robot humanoïde éducatif d'Aldebaran Robotics vignette|DER1 (2005), un actroïde d'accueil vignette|Roomba (2002), un robot ménager Un robot est un dispositif mécatronique (alliant mécanique, électronique et informatique) conçu pour accomplir automatiquement des tâches imitant ou reproduisant, dans un domaine précis, des actions humaines.
Programmation par contraintesLa programmation par contraintes (PPC, ou CP pour constraint programming en anglais) est un paradigme de programmation apparu dans les années 1970 et 1980 permettant de résoudre des problèmes combinatoires de grande taille tels que les problèmes de planification et d'ordonnancement. En programmation par contraintes, on sépare la partie modélisation à l'aide de problèmes de satisfaction de contraintes (ou CSP pour Constraint Satisfaction Problem), de la partie résolution dont la particularité réside dans l'utilisation active des contraintes du problème pour réduire la taille de l'espace des solutions à parcourir (on parle de propagation de contraintes).
Intelligence artificiellevignette|redresse=0.8|Les assistants personnels intelligents sont l'une des applications concrètes de l'intelligence artificielle dans les années 2010. L'intelligence artificielle (IA) est un ensemble de théories et de techniques visant à réaliser des machines capables de simuler l'intelligence humaine. Souvent classée dans le groupe des mathématiques et des sciences cognitives, elle fait appel à la neurobiologie computationnelle (particulièrement aux réseaux neuronaux) et à la logique mathématique (partie des mathématiques et de la philosophie).
AutomationL'automation consiste à utiliser les services d'un logiciel dans une application informatique. L'automation peut donc être considérée comme une procédure d'automatisation. En informatique musicale, dans un séquenceur, l'automation consiste à programmer des changements de réglages pendant la lecture d'un morceau, comme la variation de volume d'une piste audio. Cette mise en place peut se faire par mimétisme : le logiciel enregistre en temps réel des mouvements venant de l'utilisateur pour les reproduire lors des prochaines exécutions du morceau.
Applications de l'intelligence artificielleL'intelligence artificielle, définie comme intelligence présentée par les machines, a de nombreuses applications dans la société actuelle. Plus précisément, c'est l'IA faible, la forme d'IA avec laquelle les programmes sont développés pour effectuer des tâches spécifiques, qui est utilisée pour un large éventail d'activités, y compris le diagnostic médical, le commerce électronique, le contrôle des robots et la télédétection. L'IA a été utilisée pour développer et faire progresser de nombreux domaines et industries, y compris la finance, la santé, l'éducation, le transport, et plus encore.
Intelligence artificielle généralevignette|Image générée en juin 2022 par le modèle de génération d'images DALL-E-mini, à partir de la consigne « Intelligence artificielle ». Une intelligence artificielle générale (IAG) est une intelligence artificielle capable d'effectuer ou d'apprendre pratiquement n'importe quelle tâche cognitive propre aux humains ou autres animaux. La création d'intelligences artificielles générales est un des principaux objectifs de certaines entreprises comme OpenAI, DeepMind et Anthropic.
Capteurvignette|Le système informatique d'un avion de ligne gère en une fraction de seconde les données issues de nombreux capteurs (vitesse, direction, contrôle des réacteurs). vignette|Capteur infrarouge. Un capteur est un dispositif transformant l'état d'une grandeur physique observée en une grandeur utilisable, telle qu'une tension électrique, une hauteur de mercure, un courant électrique ou la déviation d'une aiguille. Le capteur se distingue de l'instrument de mesure par le fait qu'il ne s'agit que d'une interface entre un processus physique et une information manipulable.
Laboratory automationLaboratory automation is a multi-disciplinary strategy to research, develop, optimize and capitalize on technologies in the laboratory that enable new and improved processes. Laboratory automation professionals are academic, commercial and government researchers, scientists and engineers who conduct research and develop new technologies to increase productivity, elevate experimental data quality, reduce lab process cycle times, or enable experimentation that otherwise would be impossible.
Trois lois de la robotiquevignette|upright=1|Réplique de Robby le robot du film Planète interdite, un robot de fiction régi lui aussi par les Trois lois de la robotique. Les Trois lois de la robotique, formulées en 1942 par les écrivains de science-fiction Isaac Asimov et John W. Campbell, sont des règles auxquelles tous les robots positroniques qui apparaissent dans leurs romans doivent obéir.
Codage de HuffmanLe codage de Huffman est un algorithme de compression de données sans perte. Le codage de Huffman utilise un code à longueur variable pour représenter un symbole de la source (par exemple un caractère dans un fichier). Le code est déterminé à partir d'une estimation des probabilités d'apparition des symboles de source, un code court étant associé aux symboles de source les plus fréquents. Un code de Huffman est optimal au sens de la plus courte longueur pour un codage par symbole, et une distribution de probabilité connue.
Capteur photographiqueUn capteur photographique est un composant électronique photosensible servant à convertir un rayonnement électromagnétique (UV, visible ou IR) en un signal électrique analogique. Ce signal est ensuite amplifié, puis numérisé par un convertisseur analogique-numérique et enfin traité pour obtenir une . Le capteur est donc le composant de base des appareils photo et des caméras numériques, l'équivalent du film (ou pellicule) en photographie argentique.
Codage entropiqueLe codage entropique (ou codage statistique à longueur variable) est une méthode de codage de source sans pertes, dont le but est de transformer la représentation d'une source de données pour sa compression ou sa transmission sur un canal de communication. Les principaux types de codage entropique sont le codage de Huffman et le codage arithmétique. Le codage entropique utilise des statistiques sur la source pour construire un code, c'est-à-dire une application qui associe à une partie de la source un mot de code, dont la longueur dépend des propriétés statistiques de la source.