Actions

Systèmes et programmation numérique (B3) : Différence entre versions

De erg

(B2)
(B2)
Ligne 4 : Ligne 4 :
  
 
Enseignant : [[Thy Nguyên Truong Minh]]
 
Enseignant : [[Thy Nguyên Truong Minh]]
 +
 +
Dans un monde où nous cohabitons avec des appareils numériques pilotés, il s’agit de pouvoir s’en approcher, de s’y confronter et de comprendre leur fonctionnement. Lorsque ces dispositifs tendent à être de plus en plus opaques, denses et implicites, il est urgent de prendre connaissance des outils qui vont servir à en dévoiler les rouages. Savoir lire et écrire un langage informatique, comprendre les algorithmes, constitue un de ces outils essentiels. 
 +
La capacité à ouvrir, désassembler, réparer et récupérer des machines est également un savoir qui tend d’une part à lutter contre la logique de surproduction de l’industrie et d’autre part à accorder une attention particulière à ses outils de création. 
 +
Le but est d’acquérir ces compétences, pour concevoir par la suite des projets numériques de manière autonome, avec un regard critique et conscient.
 +
 +
 +
Le cours traite des codes informatiques comme outils omniprésents, à comprendre, étudier, tordre, détourner, en tant qu’individu créateur, engagé. Il s’agit de favoriser l’émergence d’écritures singulières, de comprendre et de se confronter aux notions fondamentales de la programmation.
 +
Par “enseigner la programmation numérique”, je souhaite par étapes successives et entrelacées : 
 +
 +
- transmettre les syntaxes, les logiques, les structures communes aux langages de programmation, en abordant essentiellement les langages du web : HTML, CSS, Javascript 
 +
 +
- impliquer une certaine physicalité à la programmation, utiliser des composants d’entrée et de sortie alternatifs aux traditionnels clavier / souris / écran : capteurs, moteurs, enceintes, micros, smartphones
 +
 +
- faire correspondre ces fonctionnements à des exemples concrets, présents soit dans les projets personnels des étudiant·e·s, soit dans le quotidien numérique 
 +
 +
- créer une synergie avec le cursus de Design numérique, Arts numériques, et autres cours qui utilisent la programmation
 +
 +
- donner les clés suffisantes pour l’apprentissage d’autres langages de programmation et d’autres environnements, et déjà présenter des amorces (PHP, Node, HTML, CSS, SQL, Processing, Arduino ...) 
 +
 +
- insuffler une autonomie et une conscience des différentes possibilités techniques selon les moyens à disposition
  
 
===B3===
 
===B3===

Version du 14 septembre 2022 à 11:49

B2

Enseignant : Thy Nguyên Truong Minh

Dans un monde où nous cohabitons avec des appareils numériques pilotés, il s’agit de pouvoir s’en approcher, de s’y confronter et de comprendre leur fonctionnement. Lorsque ces dispositifs tendent à être de plus en plus opaques, denses et implicites, il est urgent de prendre connaissance des outils qui vont servir à en dévoiler les rouages. Savoir lire et écrire un langage informatique, comprendre les algorithmes, constitue un de ces outils essentiels. La capacité à ouvrir, désassembler, réparer et récupérer des machines est également un savoir qui tend d’une part à lutter contre la logique de surproduction de l’industrie et d’autre part à accorder une attention particulière à ses outils de création. Le but est d’acquérir ces compétences, pour concevoir par la suite des projets numériques de manière autonome, avec un regard critique et conscient.


Le cours traite des codes informatiques comme outils omniprésents, à comprendre, étudier, tordre, détourner, en tant qu’individu créateur, engagé. Il s’agit de favoriser l’émergence d’écritures singulières, de comprendre et de se confronter aux notions fondamentales de la programmation. Par “enseigner la programmation numérique”, je souhaite par étapes successives et entrelacées :

- transmettre les syntaxes, les logiques, les structures communes aux langages de programmation, en abordant essentiellement les langages du web : HTML, CSS, Javascript

- impliquer une certaine physicalité à la programmation, utiliser des composants d’entrée et de sortie alternatifs aux traditionnels clavier / souris / écran : capteurs, moteurs, enceintes, micros, smartphones

- faire correspondre ces fonctionnements à des exemples concrets, présents soit dans les projets personnels des étudiant·e·s, soit dans le quotidien numérique

- créer une synergie avec le cursus de Design numérique, Arts numériques, et autres cours qui utilisent la programmation

- donner les clés suffisantes pour l’apprentissage d’autres langages de programmation et d’autres environnements, et déjà présenter des amorces (PHP, Node, HTML, CSS, SQL, Processing, Arduino ...)

- insuffler une autonomie et une conscience des différentes possibilités techniques selon les moyens à disposition

B3

Enseignant : Julien Dutertre

À l’heure d’Internet et des nouvelles technologies, des réseaux de communication et d’information toujours plus rapides, présents et pourtant trop peu interrogés, ce cours essaiera de comprendre et de révéler l’envers du décor, de rentrer dans la boîte noire pour en analyser le fonctionnement. Dans un premier temps, cette analyse sera menée à travers le code et la programmation, véritables moteur et colonne vertébrale de toutes les infrastructures et systèmes. Nous entrerons dans cette analyse par le HTML et le CSS, qui permettront de styliser, de mettre en page et surtout de donner à voir textes, contenus, images, animations et pratiques génératives (imagemagik, processing, p5.js). Puis, la création d’une application web (via le framework flask) nous mènera à une meilleure compréhension des rouages derrière chaque clic et à une introduction au langage de programmation python. Par la suite, la mise en œuvre de cette application web se déroulera sur un serveur local configuré au sein du cours sur un Raspberry Pi, ce qui nous donnera l’occasion de mieux appréhender ce type d’outils. La maîtrise de ces outils sera par la suite le moyen d’explorer les possibilités liées à l’installation, l’automatisation et l’interaction dans le cadre d’une pratique expérimentale (system lecture vidéo / son multiple écran synchronisé, sculpture/installation réactive/participative, serveur de données, captation/diffusion). Ce cours proposera par ailleurs de créer un système de communication type chat room en python afin de comprendre la relation client/server et l’intrication des flux d’information. Toutes ces notions seront abordées à travers le prisme de l’Open Source, du partage et de la collaboration, avec en tête toujours une certaine sobriété numérique (adapter les outils aux besoins, faire un usage raisonnable des bandes passantes, des serveurs et des technologies). L’objectif de ce cours sera ainsi de vulgariser et de démystifier ces différentes technologies et langages afin de pouvoir les réinterpréter et les détourner, de manière à ce que chacun en tire profit selon sa pratique et ses questionnements. Notions et valeurs

-> sobriété numérique

. adapter les outils aux besoins, réflexion autour d’une pensée plus frugale de la technologie et de son utilisation

-> open source et open Hardware . partage et collaboration, invitation à la modification et au détournement -> expérimentation et curiosité Techniques et Pratiques

-> introduction au langage de markup

. html ( + css ) . markdown

-> découverte du flat file et noSql

-> manipulation numérique

. images -> [ processing , p5.js , imagemagik , … ]

. textes -> [ curl , regex , python , processing , … ]

. data -> [ base de donnees , csv , …. ]

. linux et ssh 1

-> internet et networks

. création d’une application web ou site personnel (projet personnel expérimental, blog de recherche, portfolio , … ) . découverte et expérimentation avec openWrt (création de réseaux locaux, dns, mesh, wifi et ssid … ) . développement d’un simple chatroom en python avec serveur et multiples clients

-> Langages

. python

. bash

. processing

. html / css /js

- ssh ↩