theolepage / epita-spe-prog

EPITA SPE Prog Resources

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Programming resources

This document aims to provide a short list of resources for those of you who are willing to improve their programming skills and prepare for next year (ING1).

Lectures and practicals are available on http://www.debug-pro.com/epita/prog/s3/.

Tips for practicals

  • Always compile your program with the flags specified in the subject (usually -Werror -Wall -Wextra).
  • Make sure to test your code using given functions.
  • Create your own tests by using hazardous input values.
  • Pay attention to the submission architecture (do not forget the pw_03_arrays_sdl folder).

Workspace

Some of you are still working on your practicals on Windows or MacOS. We recommend you work on a system similar to what is using EPITA's computers (PIE).

Why you should work this way:

  1. Compiling successfully on your computer does not implies that it is going to compile elsewhere. You surely want to avoid compilation errors while you are being graded or during a defense.
  2. If you want to experiment and see how "low-level stuff" work. Linux provides you with little abstraction and allows you to understand how your computer is working.
  3. i3 and vim are powerful tools that will make you save time while programming in C.
  4. In ING1 you will have to work with Arch Linux and i3.

If you want to keep working on your laptop, you have several options:

  1. Installation: main OS (recommended), dual-boot or VM.
  2. Linux distribution: Arch Linux (recommended), Ubuntu, ....
  3. Desktop environment: i3 (recommended), Xfce, ....

You can find plenty of online tutorials to install these programs. Do not consider installing Arch Linux if you are not familiar with Linux. Nonetheless, you can rely on AnarchyLinux which makes its installation simpler.

Documents

Coding style

In ING1, all the coding assignments will have to follow a strict set of guidelines concerning the syntax and format of source files. You are recommended to follow this simplified version of EPITA's coding style. Its aim is to improve the readability and the quality of your code. Not applying these rules will not affect your grade.

Cheat sheets

Going further

Consider the resources below if you have extra time during this and the following semester.

Exercises

  • Implementing in C, algorithms made in Python during the Algo course.
  • Spend time on your OCR to make it well structured, flexible and stable.
  • Advanced practicals on https://wiki-prog.infoprepa.epita.fr/.
  • Take a deep dive into the C language by creating your own implementation of something you use everyday (printf or cat for instance).

Contact

If you feel lost on some basic but important concepts (Linux, i3, git), do not hesitate to come see us in class.

Furthermore, if you have any question, send us an email with the tag [PROG] in the subject.

About

EPITA SPE Prog Resources