Appendre les séries mathématiques numériques (lien sur Wikipédia) dans les premières années universitaires est un passage obligé pour les étudiants techniques en général et les étudiants en informatique en particulier. Ça permet spécifiquement aux informaticiens et aux machines informatiques d’utiliser les séries comme des fonctions génératrices, pour calculer les fonctions dites non numériques, comme par exemple le cosinus, le sinus, la tangente, le logarithme, l’exponentielle…etc, qui ne sont pas décrites numériquement en utilisant le plus, le moins, la multiplication, la division…etc, donc a priori la machine ne peut pas les calculer. C’est là que les séries numériques entrent en jeu, elles permettent de générer des fonctions pour le calcul des fonctions non numériques, on peut voir la formule en bas par exemple la fonction cosinus, sinus, cosinus hyperbolique et sinus hyperbolique sous format de série numérique.
La vidéo suivante montre un enseignant
entrain de faire en live sur une période de 6 heurs d’affilée la
solution de l’étude de la convergence de 100 séries à la suite et
sans s’arrêter. L’étude de la convergence d’une série est très
importante, ça permet de dire si la série est potentiellement une
fonction génératrice si elle converge. C’est bonne méthode
d’apprendre et de réviser pour les examens.
Réellement Arduino est un terme qui peut désigner plusieurs choses en même temps, ça peut désigner le hardware qui est une carte sous forme de Kit pour microcontrôleur, comme sur l’image en bas à gauche. Ça peut aussi désigner le software, c’est un IDE pour développer ce qu’on appel des Sketchs, ce sont des programmes à exécuter sur le microcontrôleur de la carte Arduino, c’est représenté sur la photo en bas à droite. Le terme peut aussi designer le projet open source qui englobe le hardware et le software et une communauté réputée très active avec énormément de projets utilisant Arduino (pour plus d’information vous pouvez voir le site web officiel d’Arduino, ou sa définition sur Wikipédia).
Autrement dit l’Arduino est un microcontrôleur 8 bits, initialement c’était le Atmega 328 de marque AVR, il est programmable avec l’IDE Arduino utilisant un langage spécifique sous forme d’un sous-ensemble du langage C/C++, Actuellement il existe des Arduino à base de microcontrôleur à plus grande puissance comme ceux d’ARM ou d’Intel. Mais pour bien comprendre Arduino il faut tout d’abord définir c’est quoi un microcontrôleur ? Le microcontrôleur est un processeur avec une RAM, une ROM/Mémoire Flash et beaucoup de connecteurs d’entrées/sorties, le tout est encapsulé sur une même puce (comme la puce sur la carte Arduino sur l’image en haut). Le microcontrôleur en soit est de très faible puissance, le processeur est de fréquence de 10 à 100 Mhz, la RAM est de quelques kilo-octets, de même pour la ROM et la mémoire flash. Le microcontrôleur et contrairement à un processeur normal, est destiné pour les systèmes embarqués, il est utilisé à l’intérieur des appareils électroniques pour les contrôler et potentiellement les programmer, on peut les trouver par exemple dans les machine à laver, les robots de cuisine, les imprimantes, les scanners, les voitures, les machines à distributions automatiques…etc, ce sont tous des appareils qui utilisent les microcontrôleurs pour contrôler leur fonctionnement interne, vous pouvez apercevoir quelques exemples sur l’image en bas.
Les microcontrôleurs ont toujours existé, pour plus de 20 ans au moins. À l’université par exemple, au département de l’électronique ont (avant la démocratisation d’Arduino) toujours été connu pour l’utilisation du microcontrôleur PIC, néanmoins ce dernier reste extrêmement difficile à programmer, les étudiants en général ne pouvaient l’utiliser qu’après 5 années d’études. L’Arduino au contraire est extrêmement accessible, pratiquement un étudiant de première année avec quelques connaissances en programmation en C/C++ comme les tests, les boucles et les fonctions, peut facilement programmer sur Arduino. La plate forme Arduino facilite grandement l’utilisation des microcontrôleurs pour les projets concernant des domaines comme les systèmes embarqués, le hardware, le hack, la robotique et l’électronique, vous pouvez voir quelques projets en Arduino sur les images en bas.
Il existe plusieurs variantes de l’Arduino actuellement disponibles, mais 3 d’entre elles sont plus connus parmi tous les autres, elles sont représentées sur l’image en bas de gauche à droite : l’Arduino uno, c’est l’Arduino standard, l’Arduino nano, c’est l’Arduino minimaliste, et l’Arduino mega, la version étoffée et complète d’Arduino. Tous les trois sont disponibles en Algérie avec des prix abordables pour l’étudiant, allant de 1200 DA à 4500 DA dans les vendeurs locaux d’électronique ou sur Ouedkniss. Plusieurs autres accessoires sont aussi disponibles pour réaliser différents types de projets, vous pouvez voir par exemple sur l’image tout en bas des accessoires comme, des capteurs de distance, des afficheurs, des LEDs, des moteurs, une télécommande, transmission sans fils…etc. L’Arduino reste à mon avis la meilleure porte pour l’étudiant lui permettant d’entrer dans le domaine des systèmes embarqués même pour les étudiants en première année.
La technologie dans le domaine de l’intelligence artificielle avance à grands pas, la tendance actuelle sur les réseaux sociaux est de trouver les vidéos dites Deepfake, ce sont des vidéos réalisées en utilisant un logiciel de Machine Learning (une branche de l’intelligence artificielle) pour créer de fausses vidéos de personnalités qui sont en réalité synthétisées et non réels, comme vous pouvez le voir sur les images des présidents en bas. Le terme Deepfake vient de Deep Learning fake, Deep Learning étant une technique très répondue dans le Machine Learning. Des applications grands publiques ont vu le jour sur internet en grande partie à l’aide d’une communauté sur Reddit actif sur ces technologies.
Ces techniques qui ne sont pas réservés qu’à la vidéo mais impliquent aussi la parole, sont potentiellement dangereux pour l’authenticité de l’information, dans un monde où les fake news font éloge il sera de plus en plus difficile de discerner la véracité dans l’information. Le département de la défonce américaine considère cette technologie comme potentiellement dangereuse et a produit des outils pour déceler les vidéos deepfake, d’autres instituts de recherche aussi songent à utiliser des techniques de Deep Learning pour détecter les deepfakes. Dire qu’au final le meilleur moyen de combattre une intelligence artificielle serait une autre intelligence artificielle.
Voici un poste que j’avais pu voir récemment sur Reddit publié par un étudiant :
Ça résume d’une manière exacte la façon dont je pense que l’apprentissage et l’éducation technique universitaire devrait être menée, autrement dit les projets. Moi j’en suis persuadé, un projet est 10 fois plus éducatif qu’un examen, sans dénigré l’importance des examens, mais le projet a cette particularité de poser l’étudiant sur des problèmes plus proche de la réalité, ça permet de projeter l’étudiant dans le monde du travail, ça lui permet aussi de construire un Portfolio (définition de Portfolio sur Wikipédia) qui est en égalité d’importance avec le C.V. Dernier mot, réalisez le maximum de projets possibles.
Le jeu Minecraft est un jeu vidéo très populaire, réellement il s’agit du jeu vidéo le plus vendu au monde à ce jour. C’est un jeu de type SandBox dans lesquel le gameplay est axé sur la modification, la création et la destruction de l’environnement dans lequel théoriquement le joueur peut modeler et construire n’importe quel maison, building, bâtiment, ou même des villes entières à base de petits cubes qu’il peut disposer à volonté dans le jeu. Le jeu aussi dispose d’un élément appelé Redstone qui permet au joueur de construire des circuits numérique à base de portes logiques et de cellules mémoires de type latch et flipflop, la communauté du jeu a réussi a construire de fabuleux machines numériques entières comme des calculatrices, des processeurs, des téléphones, des robots, des machine automatiques…etc.
La vidéo est une introduction d’une série de tutoriaux sur la chaîne youtube de Qubit, pour apprendre comment avec Minecraft pouvoir construire une calculatrice simple et fonctionnelle d’une manière bien détaillée en utilisant des portes logiques et des cellules mémoires.
Découvert par hasard, le site distrotest.net est le premier dans son genre pour ma part à pouvoir donner la possibilité de tester des systèmes d’exploitations online. Bien sur l’intérêt n’est pas de les utiliser quotidiennement mais de les tester pour une installation potentielle. Sachant que les systèmes d’exploitations sont largement variés, allant du Linux pour Bureau, aux serveurs web, aux stations multimédia, aux serveurs de stockage réseau, aux distributions de sécurité, aux images de boot et de récupération, aux systèmes embarqués…etc. En plus que l’installation d’une distribution reste toujours une opération périlleuse pour les novices risquant le plantage de leurs machines. Le site offre une bonne appréciation du système avant de l’installer, ou-bien simplement pour pouvoir explorer les différentes distributions Linux existantes en toute facilité et sans prise de risque.
Nul doute que le théorème de Pythagore est l’un des plus connu théorème en géométrie, On l’a tous pratiquement appris en CEM, à l’age de 13-14 ans, et quasiment tous le monde le connait. Mais qui peut démonter que le théorème est correct et frictionne correctement dans toutes circonstances. Moi personnellement j’ai essayé de chercher une démonstration à l’époque où j’étais lycien mais je n’ai pas réussi. Voici la vidéo d’un prof sympathique faisant la démonstration pour ses étudiants. Notez l’équation (A + B)^2 = A^2 + 2AB + B^2 comment c’est géométriquement représentée.
Exercices en Algorithmique et Structure de Données
Il est bien connu lors du processus d’apprentissage en informatique, que pour bien assimiler les deux modules fondamentaux; Algorithmique et Structure de Données, et Conception Hardware, qu’il faut bien s’exercer et résoudre différents types de problèmes. le site Techie Delight répertorie pas moins de 500 problèmes dans l’Algorithmique et Structure de Données couvrant différentes facettes du module, comme: les tableaux, les matrices, les chaînes de caractères, les listes chaînées, les files, les piles, les arbres, les arbres binaires, les tas, les graphes, la récursivité, les algorithmes de manipulation de bits, de tri, de hachage, la programmation dynamique…etc. Le site inclut des aspects avancés de la programmation, maîtrisant les 500+ exercices apporte une énorme expérience dans le domaine.