Overblog Suivre ce blog
Editer l'article Administration Créer mon blog
Vie d'un étudiant de 42

Présentation des modules du premier semestre

19 Mai 2014 , Rédigé par Guillaume Bersac

Le premier semestre s'étale entre le début de la scolarité de 42 en mi Novembre et mars. Il se compose de trois modules totalisant une vingtaine de projets que l'en doit réaliser en une semaine pour les projets solo et deux pour les projets en groupes. Les projets de chaque module sont en solo sauf le dernier qui se fait en groupe. Ces modules sont :

Algorithmie 1

Ce module commence par la création de notre propre librairie standard en c. En effet, le langage c est fourni avec un certain nombre de fonctions utiles au programmeur (pour gérer les chaînes de caractères, écrire et lire dans des fichiers). Bien que dans le monde de l'informatique, cette librairie de fonction est considérée comme minimaliste, à 42 nous n'y avons pas droit. Les seules fonctions auxquelles nous avons droit sont :
- read pour lire un fichier
- write pour écrire dans un fichier
- malloc et free pour la gestion de la mémoire
- ne rêvez pas, printf est interdit !
D'autres fonctions sont autorisées selon les projets pour interagir avec le système, mais encore une fois cela reste sommaire. Nous allons donc récrire certaines de ces fonctions pour les réutiliser dans les projets suivants. Les plus simples d'abord dans la libft puis printf et get_next_line plus tard.


C'est aussi un module un peu fourre tout où l'on aborde les algorithmes de base comme le tri (hot race, Push Swap), des algorithmes simples de pathfinding (lem-in) et autres (Core war, filler).

Unix 1

Module d'utilisation des systèmes unix (ici l'os Mac OSX). L'objet de ce projet est, globalement, la création d'un interpréteur de commande (aussi appelé terminal ou shell) simplifié. En gros on écrit des chaînes de caractères qui permettent de se balader dans les dossier de l'ordinateur et d'exécuter les programmes qu'ils contiennent. Cela implique une gestion fine des processus et fichiers (création de pipe, gestions des droits utilisateurs) ainsi que l'élaboration d'un interpréteur de commande avec sa grammaire propre et son arbre syntaxique afin de savoir comment interpréter les chaînes de caractères.

Infographie 1

Dans ce module nous allons apprendre à utiliser une fenêtre ultra basique. En gros nous avons des fonctions nous permettant de créer une fenêtre et d'attribuer une couleur à chacun des pixel de cette fenêtre et c'est tout.
Ce module est détesté par de nombreuses personnes parce qu'il contient beaucoup de maths. Il n'est pas nécessaire de comprendre en profondeur ces formules, c'est même inutile en théorie.


Sauf qu'il est très difficile de débbuger une application dont on ne comprend pas bien la structure. Comment savoir si le décalage de mon cylindre est dû à une erreur mathématique, une faute de frappe (un + qui devient un - et tout le programmes est mort) ou une erreur d'algorithmie ? Bonne chance.

Le débbugage est d'autant plus difficile qu'il est difficile de juger si le rendu est bien conforme aux coordonnées que l'on a transmises au programme. Est-il normal que le rayon de mon cercle fasse un quart de l'écran alors que son centre est (5, 7, 12) et que mon oeil est positionné en (22, 15, 44) et que son axes d'orientation est (78, 53, 62) ? Comme vous le voyez, ce n'est pas très intuitif.


C'est la raison pour laquelle je n'ai pas réussi à faire trois des quatre projets de ce module.

Je vous joins les sujets des projets de ces modules.

Partager cet article

Repost 0
Pour être informé des derniers articles, inscrivez vous :

Commenter cet article

Bagel 06/01/2017 05:26

Bonjour Guillaume. Merci pour les modules du premier semestre. Est-ce qu'il te serrait possible de poster ou de m'envoyer les modules des semestres suivants?

votrelibido 17/02/2016 23:08

Bonsoir,

Merci de faire partager ton expérience au sujet de 42. J'ai pu lire pas ma d'article du style qui en parle sans avoir de réels témoignages (ou alors très succins)... ce qui n'est pas très révélateur.
Qu'est ce que ça donne en 2015 :) ?

blaireau 30/01/2015 16:13

blaireau

Epitech Student 10/12/2014 17:17

Epitech > 42, Buddy.

Hacker to death 25/09/2014 18:29

Bonjour,

Les fichiers que tu as mis sur skydrive ne marche plutôt les sujets
Je veux integrer 42 mais je voudrais m'entrainer un peu si c'est possible que tu remet a jour le dossier zipper ça m'aiderai a continuer mon apprentissage.

Merci d'avance