Introduction

This repository is an empty 'shell'. You can fork it to commit your answers. It also contains references to the main repo, that has the content, tasks and projects of the program.

Projects and assignments will allow you to independently develop your programming skills, and the practical experience and knowledge gained while completing assignments and projects of School 2A will give you the necessary basis for professional integration, helping you to get a demanded profession from scratch.

By sequentially moving through the directions, languages ​​and educational projects of School 2A, using the Holy Graph projects map, you will develop fundamental technical skills:

  • System programming skills.
  • Knowing and understanding the essence of operating systems, networks, clouds and the services they contain.
  • Systems and network administration skills.
  • Information security skills.
  • AI skills.
  • Mobile Dev skills.
  • Graphics skills.
  • WEB development skills.
  • Network skills.
  • DB and Data.
  • etc.

School 2A's curriculum is individualized. Here, everyone progresses on their own, at their own pace, and not in accordance with the entire class of students (where the latest element slows down the work of the entire group), thus gaining their own understanding of programming paradigms.

0. SCHOOL DOCUMENTATION

Here you can familiarize yourself with the rules in force within the walls of School 2A, learn about the curriculum itself, read about the standards by which you will need to write code when solving tasks and projects, and also see everything that will help you start learning programming according to the program Schools 2A.

  • Description of the training course: [ pdf ] [ md ]

  • Information about the peer-to-peer learning system itself: [ pdf ] [ md ]

  • Git hints for interacting with a repository in Vogsphere: [ fr ] [ md ]

  • An interactive tour that takes you through the basics of Git [en]

  • Norms describing how to write code: [ fr ] [ md ]

  • Checking code via Norminette: [ md ]

  • 10 rules for those who start swimming in the pool: [ md ]

  • C language video course (for those who start the pool from scratch): [ youtube ]

A list of C programming exercises:
  1. https://fresh2refresh.com/c-programming/
  2. https://www.sanfoundry.com/simple-c-programs/
  3. https://www.w3resource.com/c-programming-exercises/file-handling/index.php
  4. http://www.c4learn.com/
  5. https://www.tutorialspoint.com/learn_c_by_examples/index.htm
  6. https://www.learn-c.org/
  7. https://beginnersbook.com/2015/02/simple-c-programs/
  8. https://www.programmingsimplified.com/c-program-examples

To speed up the process of translating and understanding the content of pdf files with tasks downloaded to your computer, use the cross-platform Crow Translate text translator. (Remember that the translation character for the next line can be perceived by translators as the end of a sentence!)


(!) Do not rush to execute the Piscine C until you have read the documentation.


1. PISCINE C

It is from this place that the teaching of programming in School 2A will begin.

Here you will be fully immersed in the deep part of the code, which will allow you to truly discover the school, its unique teaching method and, above all, what programming really is.

Every day of the pool you will receive a portion of tasks (usually 10 - 25), arranged in increasing difficulty. And every day you will go through a new topic and new features of the language that you will understand and remember while completing the tasks of this day.

To help you understand them, you are provided with training videos for 10-30 minutes with theory and examples (use the function of subtitles in the player and their translation into the language you need), but as a rule, this will never be enough. Therefore, you are looking for all the necessary information for training yourself via the Internet.

From day one, you are confronted not only with difficult tasks, but with entire areas of knowledge that you may not even know exist. Thus, no matter how high your entry level is, you are bound to run into a problem that is bound to cause difficulty. Seeing him, you will first fall into a stupor, but then with incredible efforts, having made a number of mistakes, you will still cope with the task and acquire a skill that will become a familiar tool. "Piscine" in "C" language will be a test of endurance for those who decide to start the programming path in order to determine the most motivated.

Remember that learning the C programming language is fundamental to learning all other programming languages ​​like C ++, Java, Python, etc. Because all other advanced programming languages ​​have only been derived from the concepts of the C language.


(!) Do not be a fool and do not rush to move on to main training until you have passed and fully assimilated the material Piscine by language C.


2. MAIN TRAINING

Core Learning Projects represent the next step in programming learning. All of them are grouped by directions, which are represented as branches. Remember that each subsequent project of your chosen branch is more difficult than the previous one and can only be solved using the skills acquired in previous projects.

Use the Holy Graph project map and the visual highlighting_branches direction map to progress through the School 2A mainstream assignments/projects.


[Global - shared branch]


Basic training begins with this branch.

  • [>] 42_commandements
  • [>] ft_debut
  • [>] piscine reloaded
  • [>] libft
  • [>] netwhat
  • [>] get_next_Line
  • [>] fillit

[UNIX branch]


This branch contains several directions: Unix, Kernel, Virus, Security, Network.


[Algorithmic branch]


This branch contains several directions: Algorithms, Data Science, Cryptography.

  • [>] ft_printf
    • [>] ft_ssl_md5
    • [>] ft_ssl_des
    • [>] ft_ssl_rsa
  • [>] Filler
  • [>] Push_swap
  • [>] Lem_in
  • [>] Corewar
    • [>] Corewar Championship
  • [>] ComputorV1
    • [>] ComputorV2
  • [>] Expert System
  • [>] N-puzzle
  • [>] ft_linear_regression
    • [>] DSLR
    • [>] Multilayer_perceptron
    • [>] Total_perspective_vortex
  • [>] Rubik
  • [>] KrpSim
  • [>] Gomoku

[Graphic branch]



[WEB branch]


  • [>] piscine PHP
  • [>] Camagru
  • [>] Matcha
  • [>] Hypertube
  • [>] Friends with Benefits
  • [>] Darkly
  • [>] Red Tetris
  • [>] ft_transcendence

[Infrastructure & Network Administration]


  • [>] init
  • [>] docker-1
  • [>] cloud-1
  • [>] roger-skyline-1
  • [>] roger-skyline-2
  • [>] ft_server
  • [>] ft_services

[Android & iOS branch]


  • [>] piscine Swift iOS
  • [>] Swifty Companion
  • [>] Swifty Proteins
  • [>] ft_hangouts
  • [>] avaj-launcher
  • [>] swingy
  • [>] fixme
  • [>] Music Room

[C++ branch]


  • [>] modules С++ (this is the same as piscine C++, but a new version)
  • [>] piscine C++ (this is the same as modules C++ but the old version)
  • [>] webserv
  • [>] ft_irc
  • [>] ft_containers
  • [>] Abstract VM
  • [>] Bomberman
  • [>] Nibbler

[Unity branch]


  • [>] piscine Unity
  • [>] In the Shadows
  • [>] XV

[OCaml branch]



[Ai Projects - Artificial intelligence]


  • [>] walking_marvin
  • [>] ft_sommelier
  • [>] reverse_game_of_life

[Side Projects]



3. OTHER PISCINES BY School 2A

  • [>] PHP-Symphony
  • [>] Python-Django
  • [>] Ruby On Rails
  • [>] Interview

4. GROUP PROJECT BY School 2A(Rushes - miniHACKATHONS)

  • [>] AlCu
  • [>] Alum1
  • [>] Arkanoid
  • [>] Carnifex (LISP)
  • [>] Cluedo (Prolog)
  • [>] Domino
  • [>] Factrace
  • [>] Hotrace
  • [>] Introduction to iOS
  • [>] Help_wordpress
  • [>] Introduction to Wordpress
  • [>] LLDB
  • [>] Mexican Standoff
  • [>] Puissance 4
  • [>] Rage Against The aPi
  • [>] Rush admin sys et réseau 0 (Not Available)
  • [>] Rush admin sys et réseau 1 (Not Available)
  • [>] wong_kar_wai (2048)
  • [>] YASL