Some Epitech school projects made in 2014/2015.
- CPool: Unix and C Basics
- The famous Epitech "Pool", 4 weeks of intense programming to learn all the basics of programmation.
- CProjects: Advanced C language
- A collection of projects written in C.
- CppPool: C++ Basics
- Second "Piscine" of Epitech, C++ programs to learn Object-oriented programming.
- CppProjects: Advanced C++ Language
- A collection of projects written in C++.
- Mathematics: Statistics and Probabilities
- A collection of mathematicals programs mainly written in python.
- SpaceBomber: First Deployable Video Game with AI
- Video Game Project written in C++, reproduction of the arcade game BomberMan but with space ships.
CPool: Unix and C Basics
-
Day01: Unix Environments
- linux files, scripts, git
-
Day02: Shell language
- linux bash commands: ls, cat, grep, cut, find, sed, wc
-
Day03: First C Programming
- my_aff_alpha.c : display alphabet.
- my_aff_chiffre.c : display digits.
- my_aff_comb.c : display in the ascending order all the combinations of three different digits in the ascending order.
- my_revalpha.c : display alphabet in the reverse order.
- my_isneg.c : check and display if the number in parameter is negative.
- my_put_nbr.c : display a number from a string given as parameter.
-
Day04: Pointers
- my_putstr.c : display string from a string given as parameter.
- my_sort_int_tab.c : sort an integer array.
- my_strlen.c : return lenght of a given string parameter.
- my_swap.c : swap two integer given as parameter.
- my_isneg.c : check and display if the number in parameter is negative.
- my_put_nbr.c : display a number from a given string parameter.
-
Day05: Recursivity
- my_factorielle_it.c : return the factoriel of an integer given in parameter in a iterative way.
- my_factorielle_rec.c : return the factoriel of an integer given in parameter in a recursive way.
- my_power_it.c : return the power of an integer given in parameter in a iterative way.
- my_power_rec.c : return the power of an integer given in parameter in a recursive way.
-
Day06: String Manipulation
- my_strcpy.c : copies a string into another.
- my_strncpy.c : copies n characters from a string into another.
- my_revstr.c : reverses a string.
- my_strstr.c : Reproduce the behavior of the strstr function.
- my_strcmp.c : Reproduce the behavior of the strcmp function.
- my_strncmp.c : Reproduce the behavior of the strncmp function.
- my_strupcase.c : puts every letter of every word in it in uppercase.
- my_strlowcase.c : puts every letter of every word in it in lowercase.
-
Day07: Libmy, Arguments
- my_strcat.c : copies a string after another.
- my_strncat.c : concatenates n characters of the src string to the end of the dest string.
- my_aff_params.c : displays its arguments.
- my_rev_params.c : displays all the arguments received on the command line in reverse order.
- lib : creation of a personal libmy.a
-
Day08: Compilation, Allocation
- my_strdup.c : allocates memory and copies the string given as argument in it.
-
Day09: Structures
- my_macroABS.h : Write a macro, named ABS, that replaces an argument with an absolute value.
- my.h : Write your my.h header file that contains the prototypes of all the functions exposed by your libmy.a.
-
Day10: Do-op and Makefile
- How to make a Makefile
- do-op.c : return the power of an integer given in parameter in a recursive way.
-
Day11: Linked List
- my_params_in_list.c : creates a new list from the command line arguments.
- my_list_size.c : returns the number of elements on the list.
- my_rev_list.c : reverses the order of the list’s elements.
-
Day12: File Descriptors
- cat.c : Reproduce the behavior of the cat bash command line.
-
- colle1-1.c : display a square with designated pattern.
- colle2.c : display a string given in parameters by adding spaces to it and then by removing them.
- colle3.c : displays the name of rush1, and the dimensions of his square.
- sapin.c : displays a fir tree, based on its given size.
- match.c : returns the number of combinations that match between two strings.
- eval_expr : function that takes a string as parameter, which represents a mathematical expression, evaluates this expression and returns the result as an integer.
-
Subjects: You will be able to find all the original subjects in the file Subjects
CProjects: Advanced C language
CppPool: C++ Basics
-
Day01: Storage Classes
- white_rabbit.c : function that follow Alice’s journey.
- menger : display a fractal curve based on squares, with the size and depth given in parameters.
- bitmap : build a .bmp file.
- drawing.c : draw square in a bmp file.
- pyramid.c : return the shortest path to the pyramid’s exit.
-
Day02m: Pointers and Memory
- mul_div.c : calculates the sum and product of the first and second parameters with pointers.
- mem_ptr.c : concatenates str1 and str2 in parameters. The resulting string is stored in the pointer pointed by res.
- tab_to_2dtab.c : takes an array of integers as its tab parameter, and uses it to create a bidimensional array of length lines and width columns.
- func_ptr.c : build a few function pointers.
- castmania.c : understanding and mastering casts.
-
Day02a: C Data Structures
- simple_list.c : build a simple linked list, with main manipulation functions.
- simple_btree.h : create a set of functions that will let you manipulate a binary tree.
- generic_list.c : create a generic list.
- stack.h : create a stack based on the previously created generic list.
- queue.h : create a queue based on the previously created generic list.
- map.h : create a map based on the previously created generic list.
- tree_traversal.h : iterate over a tree in a generic way, using containers.
-
Day03: Advanced String Manipulation
- ex00 : create a String module, init and destructor function.
- ex01 : sets the content of the current instance to the string parameters.
- ex02 : appends a parameter to the content of the current instance and the opposite function.
- ex03 : returns the char at the pos position of the current instance, or -1 if the position is invalid.
- ex04 : empties the content of the current instance.
- ex05 : returns the size of the string, or -1 if the string pointer is NULL.
- ex06 : compares the content of the current instance to that of str. Results are the same as the strcmp function.
- ex07 : copies n characters from the current instance’s content, starting from the pos position, into s. Returns the number of characters copied.
- ex08 : returns the buffer contained in the current instance..
- ex09 : returns 1 if the string is empty, -1 otherwise.
- ex10 : searches for the first occurence of str’s content in the current instance, starting from the pos position.
- ex11 : insert : copies str into the current instance, at the pos position.
- ex12 : returns the content of the current instance converted into an int. Behaves like the atoi(3) function.
- ex13 : returns an array of strings filled with the content of the current instance split using the separator delimiter.
- ex14 : displays the content of the current instance to the standard output.
-
Day06: IOStream, String and Objects
- my_cat.cpp : write a simplified cat(1) command.
- my_convert_temp.cpp : convert temperatures from the Celsius scale to the Fahrenheit scale, and vice-versa.
- sickkoala.cpp : simulation of your dear Koalas’ health, with the creation of a koala class.
- koalanurse.cpp : create the koalanurse class.
- koaladoctor.cpp : create a doctor class to give instructions to the nurses.
- ex05 : create lists for the classes created before.
-
Day07m: Creation of Starfleet, Polymorphism, Namespaces
- Federation.cpp : create a Federation namespace, which will contain all the elements that allow the Federation to exist.
- Borg.cpp : create a Borg namespace containing a Ship class.
- Destination.hh : Destination is an enumeration defined in the Destination.hh file.
-
Day07a: Skat, new, delete and Smart Pointers
- skat.cpp : inplement the skat class.
-
Day08: Droids, Coplien form and Default delete
- droid.cpp : creation of the droid class.
- droidmemory.cpp : add experienceacquired, and FingerPrint,theDroidMemory’sid,storedasasize_t.
-
Day09: Inheritance
- character.c : create a simple Character class, getLvl(), getPv(), getPower().
- warrior.cpp : create a warrior class.
- ex02 : create Mage, Priest class.
- ex03 : add Paladin class.
- ex04 : add Hunter class.
-
Day10: Override and final
- ex00 : Sorcerer, Peon, Victim classes.
- ex01 : Weapons classes.
- ex03 : omplete the definition of the following AMateria class, and implement the necessary member functions.
-
Day13: Encapsulation, Canonical form, Operators and Nested Classes
- ex00 : Picture and Toy class.
- ex01 : re-use the two classes from the previous exercise and make them comply with the canonical form.
- ex02 : add two values to the ToyType enumeration: BUZZ and WOODY, and create two new Buzz and Woody classes.
- ex03 : add a speak method to the Toy class, taking the statement to say as a parameter.
- ex04 : add operators to classes.
- ex05 : add a speak_es method to the Toy class, with the same signature as speak.
-
Day14m: Casting Spells
- ex00 : implement the Fruit, Lemon and Banana classes.
- ex01 : Sorting the FruitBoxes will be done by hand. It will be done by a LittleHand. Implement the LittleHand class.
-
Day14a: Errors, Units Tests
- ex00 : implement the error reporting system.
- ex01 : unit tests.
- ex02 : implement a CommunicationDevice : use the CommunicationAPI and handle all its errors.
- ex03 : design a generic class to ensure the release of dynamically allocated compo- nents of the rover.
- ex04 : Our ScopedPtr is nice, but we can’t copy it. Let’s implement a RefPtr that can be stored, copied, and still takes care of deleting the object!
-
Day15: Templates
- ex00 : create templates that should generate functions that can be called with any type of parameter, as long as they have the same type and support all comparison operators.
- ex01 : write the compare function template. It takes two parameters of the same type, and returns an int.
- ex02 : several function that returns min.
- ex03 : implement the foreach function template. It will let you walk over an array and call a function for each element in it.
- ex04 : write the equal function template that takes as parameters two constant references to a given type. It must return true if the two parameters are equal, and false otherwise.
- ex05 : write an array class template that contains elements of type T.
-
Day16: The StandarT Library
- ex00 : create a Parser class.
- ex01 : create a DomesticKoala class which will represent a Koala that can learn to do things. Everything a Koala can do will be a KoalaAction member function.
- ex02 : create an event handler using an std::list. This event handler will let you schedule actions at a T time, know the action scheduled at a given time, add T time units to the current time, and many other things.
-
Day17: Algorithms
- ex00 : create a do_find function template taking 2 parameters: reference to a templated type and an integer.
- ex01 : fill in the blanks using the appropriate STL algorithms in MyAlgorithms.hpp.
- ex02 : create a Cesar class implementing the IEncryptionMethod interface.
- ex03 : re-use all the files from the previous exercise and write the Encryption class.
-
- SKL : implement a program with the C language, in a an object-oriented way.
- Santa : create a program to help santa claus to systemize his gift wrapping chain in C++.
- GKrellm : vreate your own GNU Krell Monitor.
-
Subjects: You will be able to find all the original subjects in the file Subjects
CppProjects: Advanced C++ Language
- trade : build a trader bot.
- plazza : realize a scrapper, which is composed of a main program, with an user interface, that accepts new commands, of several process, themselves with several threads, themselves looking for mails inside several files.
Mathematics: Statistics and Probabilities
See this README.md to get more details.
SpaceBomber: First Deployable Video Game with AI
See this README.md to get more details.