Skip to content

C, C++, Python Projects made during my Computer Science studies at Epitech.

License

Notifications You must be signed in to change notification settings

GwendolineRodriguez/Epitech

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Epitech Computer Science School Projects


Some Epitech school projects made in 2014/2015.


Table of Contents

  • 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

Back to top

  • 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.
  • Rushs:

    • 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

Back to top

description in progress.

CppPool: C++ Basics

Back to top

  • 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.
  • Rushs:

    • 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

Back to top

  • 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

Back to top

See this README.md to get more details.

SpaceBomber: First Deployable Video Game with AI

Back to top

See this README.md to get more details.

About

C, C++, Python Projects made during my Computer Science studies at Epitech.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published