Un petit mot de l’inventeur de l’un des plus célèbres langages de programmation qui est le C++. La vidéo suivante est une interview de Bjarne Stroustrup l’inventeur et le concepteur du C++. À travers les questions posées, Bjarne Stroustrup expose sa vision et les motifs qui l’ont poussé à créer le C++, il met aussi en évidence le point fort du langage par rapport aux autres, qui est sa robustesse par le fait qu’un programme écrit dans ce langage peut tenir des dizaines d’années sans anomalie ou avoir besoin de l’entretenir ou de le changer.
Étiquette : vidéo
La récursivité comme solution pour le jeu du Sudoku
Le jeu du Sudoku est un jeu de puzzle populaire sur certains journaux et magazines, il est représenté sur l’image en bas, globalement il se constitue d’une grille de 9×9 cases partiellement remplies par des chiffres de 1 à 9, la grille est aussi subdivisée en 3×3 carré de 3×3 chiffres, le joueur doit remplir le reste des cases vides restantes en respectant la règle qu’il ne doit pas y avoir de répétition d’un chiffre sur une colonne, sur une ligne ou sur le carré 3×3.

Les règles sont simples mais le casse-tête demande beaucoup de temps à l’humain pour le résoudre, et pourtant c’est déconcertant comment un programme d’une poignée de lignes de code arrive à résoudre le problème sur ordinateur en une fraction de seconde, dans la vidéo qui suit l’enseignant s’exulte de la magie de la récursivité, et c’est d’autant plus vrai que la récursivité est une technique de programmation réputée difficile à apprendre mais très efficace une fois maîtrisée. Il n’était par rare dans les examens d’algorithmique que j’ai eu à corriger de tomber sur des problèmes difficiles à résoudre par les méthodes conventionnelles (par boucles et tests) alors qu’ils devenaient très simples en récursivité.
Linus Torvalds
Linus Torvalds, un grand nom dans l’informatique moderne, l’inventeur du fameux Linux, l’un des softwares les plus utilisés actuellement dans le monde, quoiqu’il ne prédomine pas dans le secteur des PC, sa diffusion dans le secteur des serveurs est colossal, le marché des tablettes et smartphones est de même notamment en relation avec système Android construit sur une base Linux, sans oublier les différents systèmes embarqués à base de Linux comme les téléviseurs, les consoles de jeux, les routeurs, les DVR…etc. Il aussi peu connu que Linus Torvalds est l’initiateur du logiciel de gestion de versions Git utilisé pour le développement distribué de logiciels sur des dépôts comme GitHub par exemple.
Linus Torvalds a fait une interview sur la vidéo en bas, organisée au sein d’une conférence pour la fondation TED, la fondation est responsable de la mise en ligne gratuitement d’interventions (talks en Anglais) par différents acteurs dans des domaines divers comme la science, la technologie, l’éducation, la politique…etc. Dans l’interview Linus Torvalds revient sur le déroulement de la création de Linux et de Git, sur son implication dans le monde et la philosophie open source parce que à l’époque c’était un peu par hasard, il parle de sa manière de travailler, de sa vision concernant l’innovation et l’invention et de tout autres choses. C’est une vidéo très riche sur homme qui l’est d’autant plus.
Routeurs, switchs et hubs
Il est bien connu que d’un point de vue académique les réseaux informatiques sont représentés comme un graphe au sens mathématique, donc plusieurs nœuds interconnectés par des liaisons pour transmettre l’information d’un nœud à l’autre. Les nœuds globalement sont de deux types; les terminaux, comme les PCs, les serveurs, les tablettes ou smartphones, formellement ce sont la source de l’information (serveurs) ou consommateurs d’information (PCs, téléphones). Et le deuxième type sont les nœuds internes de transmission et irrigation de l’information qui sont les routeurs, les switchs, et les hubs. Probablement un informaticien aura un jour ou l’autre à manipuler et utiliser ces dispositifs, il est important de bien saisir leurs manières de fonctionner, la vidéo suivante démontre en illustration la différence entre les trois dispositifs, avec les points forts et faibles de chacun. Cette vidéo est de l’excellente chaîne éducatif sur les technologies en informatique PowerCert.
Calcul géométrique de la multiplication et la racine carré
Il est étonnant aujourd’hui que la racine carrée est facilement calculée en utilisant la calculatrice ou d’autres appareils électroniques sophistiqués, mais serait-il possible pour quelqu’un de la calculer manuellement sans utiliser de machine, pour les informaticiens il existe les méthodes dites numériques permettant de la calculer avec des opérations simples comme l’addition, la soustraction, la multiplication, et la division. Il existe aussi d’autres méthodes mathématiques pour approximer sa valeur (voir wikipédia), néanmoins j’ai été étonné par la simplicité de la méthode géométrique démontrée dans la vidéo suivante, datant de l’époque de la Grèce antique la méthode est extrêmement facile ainsi que sa démonstration géométrique. La vidéo aussi présente une autre méthode aussi géométrique et simple pour calculer la multiplication.
État de l’art sur les processeurs
La vidéo suivante est produite par la chaîne Youtube Computerphile, une excellente chaîne de se spécialisant sur diverses technologies en informatique. La vidéo est animé par le Docteur Steve Bagley (le lien de son site personnel) de l’université de Nottingham en Angleterre, il fait la présentation d’un état de l’art sur le fonctionnement externe et interne des processeurs (CPU). La présentation touche des concepts importants dans l’Architecture des Ordinateurs comme l’architecture de Von neumann, l’interaction CPU-RAM, l’exécution des instructions à travers les compartiments internes du CPU, dont Fetch, Decode, Execute, l’exécution en pipeline et le phénomène du pipeline hazard (ou risques du pipeline), qui exige un traitement spécifique pour certaines instructions.
L’introduction du cours deep-learning de MIT
Une introduction en vidéo fracassante et spectaculaire du cours de deep-learning de l’université de MIT pour cette année, l’enseignant a eu avec cette introduction de bien faire comprendre aux étudiants de quoi s’agit-il et les projections effectifs des connaissances de ce cours.
Pour rappel, le deep-learning est une branche du machine-learning elle-même une sous-classe du domaine de l’inintelligence artificielle. On peut facilement observer que de nos jours c’est l’intelligence la plus avancée et la prometteuse en comparaison aux autres intelligences.
Le compilateur online OnlineGDB.com
Le site web OnlineGDB.com, est l’un des plus connu service sur le cloud qui permet d’offrir un compilateur et un environnement de développement (IDE) aux programmeurs pour une vaste gamme de langage de programmation dont: C, C++, Java, Python, C#, PHP, Ruby, VB, Perl, Swift, Prolog, Javascript, Pascal, HTML, CSS,…etc. il permet de faire l’édition de texte, la compilation, l’édition de liens, l’exécution, le débogage,…etc. Ainsi que la sauvegarde online, le partage de code source, le téléchargement des sources…etc.
Au final, on peut dire que ce service online permet d’offrir un environnement de développement simpliste pour un énorme éventail de langages de programmation, c’est pratique pour faire des tests de langages ou faire des programmes de taille réduite pour les étudiants, mais ne peut en aucun cas rivaliser avec un vrai environnement de développement qui est généralement beaucoup plus riche et adapté pour les gros projets.
État de l’art sur les mémoires RAM
La vidéo suivante est excellente pour avoir une compréhension et un aperçu sur la technologie de mémoire qui prime sur nos machines actuelles, c’est très pédagogique et très bien illustré.
Le contenu de 3dbuzz libre d’accès
Le site 3d buzz (https://www.3dbuzz.com/) a été un excellent site web bien connu dans le domaine de la création vidéoludique, il représentait principalement une collection de vidéos sous format de tutoriels payants touchant les principaux logiciels et langages de programmation pour le développement des jeux vidéo, néanmoins une importante partie des tutoriels, comme vous pouvez le voir sur la liste en bas, n’est pas réservée que pour le domaine vidéoludique mais touche l’informatique en général. Le site malheureusement vient de fermer ses portes en cause de la mort du principal créateur du site, et la famille du défunt a voulu lui rendre hommage en libérant et mettant en accès gratuit le contenu de son site.
Le contenu du site n’est resté que quelques jours librement disponible après la fermeture du site, mais des sites miroirs comme le site miroir (https://mirror.rikuwu.com/3dbuzz/) sont actuellement disponibles répliquant les ressources du site, il existe aussi deux liens torrent (lien1 , lien2) pour télécharger tous les 205 Go du site aspiré. Il existe aussi un post reddit dédié pour la collection des différentes ressources, à consulter pour plus d’informations ou si les liens ci-dessous venaient à disparaître.
La liste de quelques outils et langages de programmation disponible sur le site est comme suite :
- 2D Artwork
- 2D Game Art
- 3Ds Max
- After Effects
- AI Programming
- ASP.net
- C#
- C# and XNA
- Blender
- C++
- Building 2D games in C++
- Building iPhone Applications
- Unity 4.5
- CryEngine 3
- Developing Unity Games for the iPhone
- Doom 3 Modding
- Drawing
- Game Assets in 3DS Max
- Far Cry Level Development
- SOLIDWORKS
- GIMP
- Half Life 2 Level Development
- Objective-C
- Android Development
- Delphi
- F#
- Windows Phone 8 Development
- Maya
- Basic Mathmatics
- MMO Development
- MOBA MMO
- Modern HTML and CSS
- Modern JavaScript
- OpenGL
- Photoshop CS5
- Python
- Quixel Suite
- React.js
- UDK
- Web Design
- XNA
- Zbrush
- et plusieurs autres…