Billionaire founder of Free launches free coding college
arstechnica.com
arstechnica.com
But the most impressive thing was the potential of the school as a "social elevator" (ascenseur social) as we say in French - meaning a way for people from lower class backgrounds to land middle / upper class jobs. One such story that stuck with me was a guy who used to work construction jobs. Then he landed a job as a sales guy at the French equivalent of Best Buy. There he heard of 42 and signed up for it on the demo computers in the store (he had no computer or internet access of its own). When I met him, he was halfway through 42's program, and he's probably working a pretty nice job now. Truly an inspiring story.
EDIT: typos
There are many French universities with CS programs that are virtually free (and work as social elevators too).
Maybe that's one of 42's strengths. Via their media exposure, they can attract students who wouldn't have thought about studying otherwise.
- they are highly theoretical and biased against people who are not good at math; I studied CS, and I had to take more electrical engineering and math courses in my first two years than programming-related classes. This is very demotivating for someone who goes to university to learn programming, rather than physics or advanced mathematics
- they take too long and are full of useless classes (useless for getting a job, not in general)
- although the courses are free, it is very expensive to support yourself for the 3-4 years it takes to finish university, and you also need to buy books and other materials
- the most difficult courses are usually not programming related, but science; so you could invest 4 years of your life and end up without a diploma because you couldn't pass Advanced Physics or Calculus 3, despite being a good programmer.
Maybe it has changed but it's certainly not the case currently.
> I studied CS, and I had to take more electrical engineering and math courses in my first two years than programming-related classes.
Nowadays, most of the classes are CS related. There are still some (basic) maths because they are relevant to so many branches of CS.
> are full of useless classes
Well, that may be true. There will always be useless classes because there are many different career paths.
But I think you shouldn't underestimate the value of more foundational classes.
To give you an example, when I was an undergraduate 20 years ago, I was taught OCaml (many people complained it was a useless academic language), as well as tons of maths. Recently, I decided to learn myself some machine learning and Spark. It was a breeze as I already knew most of the maths and the functional programming model. It would have been much more difficult otherwise.
At my (American) university, we do take more non-CS-related courses than CS-courses in our first two years.
Alternately you can bypass most of that by going to a technical vocational school. They focus entirely on occupational values and send you out in half the time.
Downsides to vocational school: The "idea" behind higher education is that you continue to learn to be a well-rounded person. If you never took physics/literature/calculus/art/Latin/... (because you went to vocational classes that focused on practical business value), it's a hard, high mountain to climb between changing diapers, chauffering to soccer class, etc. ;-)
Epita was very successful thanks to its insanely intense focus on fundamentals: algorithms, programming, OS/compiler/DB design, low level stuff (reimplementing the standard C library, a 3D engine, a UNIX shell, etc). I absolutely loved all of this. However its investors and other directors wanted to change the school to have more general/non-programming courses in order to be recognized by the CTI (commissions des titres d'ingénieur, basically to give Epita's diploma more credence in the eyes of mainstream employers). But Nicolas disagreed and believed keeping the focus on fundamentals was key.
So in 1999 he left and started his own school called Epitech. For a while Epita and Epitech shared buildings and even some professors.
Eventuality Epitech became as successful as Epita (even more in my opinion). It gained a great reputation and graduates are courted by many employers.
I have been following the progress of 42 over the last few years, and I am really excited for them. They have the right team to succeed, that's for sure.
On the flip side, it's hard to imagine making it through 3+ years of 6x12 days without burning out... Though I'm not sure what the vacation/holiday break schedule looks like.
The only thing missing is the opportunity to ask question directly to the instructor. But doesn't many students graduate without interacting with the instructor in traditional school?
The postulate of 42 is that talented people will acquire this fundamental knowledge no matter what, and that non-talented people will simply drop out of school. The big idea is to make sure that people with a gift for programming, no matter where they come from or what they did before, become highly productive and achievement-driven. The rest better pack up and go do something else.
That's also one of the reasons why the school is free. Dropping out and failing should be as quick and painless as possible for both the school and the student.
The difference between a CS degree and a coding bootcamp is very similar to the difference between being a computer scientist and a developer. In my 20 years of development so far I've never implemented a doubly linked list or designed a search algorithm.
You probably target a non-constrained platform, even so, as both a web developer(!) and a CS graduate, I've had plenty of scenarios where using the right data structure and/or algorithm give better perf and/or cleaner code. Sometimes I just use the very handy hash table and call it a day, but having the tools at my disposals is useful.
[1]source: hiring / interviews
I wouldn't want someone without an engineering CS background designing missile guidance systems, nuclear reactor safety controls or hospital devices. Other areas (automotive, aerospace) should mostly be on this side as well, but I feel there should be some room for independent innovators.
42 is free thanks to the financial support of Xavier Niel, a French entrepreneur and the founder of the telecommunications company ‘Free’ in France."
The idea is great, but when you're poor, the price of the school is not the only problem. In france education is already free, and the problem is still the cost of living.
Obviously it is a great alternative because the selection process in other universities is tedious (you need to be good in high school etc), meanwhile with 42 you just do some fancy tests, so it's more open.
But I'm curious about how poor students can really finance staying at 42. Students here are already working more hours outside so they can study.
Obviously, making such school in the US is going to make it more interesting than 42 in france.
That's not true, in France going to the university is open to anybody that obtained the "Bac" (not necessarly a general or scientific one, doesn't matter, you can get in mathematics there with a mechanics degree) and if you don't have it there are some formations to get an equivalence, opening the doors for you. (of course it will be extremely difficult to catch up in compsci for someone without a scientific bac but he can try) And the university is almost free (less than 500e a year if you don't get any social help)
It is true however that you need good grades to get to the top engineering schools.
As you said the bigger issue anyway is the cost of living.
"of course it will be extremely difficult to catch up in compsci for someone without a scientific bac but he can try": universities are subjectively making this hard. 42 fixes it.
(I'm a french CS engineer, and I'm part of a system I despise)
I don't buy that at all. Programming is programming. If you can do it at "42" (without supervision), I'm pretty sure you can do it in a university too. An important part of university teaching is also based on programming projects, and class attendance is usually not mandatory. I assume there are more classes that don't involve coding than at 42 (some maths, some more theoretical CS stuff) but not enough to fail an otherwise motivated student.
Besides, if some student is unable to take a few classes they doesn't like, I'd be worried about their ability to adapt to a professional context.
Actually, I taught CS in a French university, and usually, the only students that fail totally lack interest in the discipline. I can remember one or two students that liked programming as a hobby and quit or fail, but it's pretty rare.
I had to study Chemistry for 2 years (no CS DEUG at that time), failed to pass because of thermodynamics, was finally rescued in-extremis because the jury's head was also my CS teacher (CS was an option). I entered a CS engineer school and things went very smoothly after that.
I almost failed to study CS! because of thermodynamics. It could have been because of bio-chemistry, or maths. None of which were needed to study CS.
42 fixes this. Their pre-requisites are relevant to what you'll need to study.
Not if you're older than 25, I was asked to pay something like 3000 euros to enter in L1, despite the fact that I have no income.
And even if you have the BAC, university will often teach a lot on math and theory, which in my mind if counter productive because there is a very high demand for low skilled programmers and technicians. 42 focuses more on the meat of what programming is, and most often only that.
Not saying you don't need those computer scientists, but usually students want to work in the industry with an easily accessible job that doesn't involve too much academic headache or research.
Nope, sorry, I don't want to live under credit.
> If you've already worked before you can get ~650e per month during the 3 year of the formation.
Not if you're over 25. What are you talking about?
The second semester was taught in C/C++ and we did the things they described in the article (reimplementing the standard library, making doubly linked lists, etc.)
I think my university made the right call with making Java the first language. Even then, the failure (and/or dropout) rate was 30%+ for the first semester. A further 30%+ failed the second semester's course. If we had started out in C/C++, I imagine the overall failure/dropout rate would've been far higher.
I think schools are way too coddling when they teach kids "Pointers are scary. That's why you'll only learn Java here." I don't think my classmates where particularly gifted and yet we all survived C with minimal assistance.
What I'm uncertain about now is if they should start with dynamic or static language. Starting with something like Python gets them results and basic skills quickly. Might even maintain interest by being a break from the hard stuff in lower-level languages. After Python, something like Oberon or Go that's statically-typed, closer to the metal, and still easy to work with. I'd have said Oberon in past due to simplicity but a Go subset might be better today due to all Python to Go articles. They can do some work in Go to see benefits of static types, do algorithm optimization, whatever. Only then do they learn C with early intro on its pitfalls, undefined behavior, and efficiency advantages. They need to see how each thing helps, hurts, and is properly used. Then maybe a standard library re-implementation starting with a simpler one.
That's how I'm seeing the process in my head. Side-benefit is you get usable, job skills if you make it through any stage. Just don't drop out before done with Python. :)