3 ms·
I'm very skeptical about this. The idea is that computer science isn't properly taught in French old fashioned universities and "grandes ecoles". As a result, s
by yodsanklai 13y ago
I'm very skeptical about this. The idea is that computer science isn't properly taught in French old fashioned universities and "grandes ecoles". As a result, some students fail while they would succeed with a more pragmatic, project-based education.
It sounds like a good idea. After all, we all know stories of bright people or great hackers that felt academic education wasn't for them and followed a different, successful path. And after all, Xavier Niel should know, being a such a successful entrepreneur.
Well, I think he's wrong for several reasons.
1 - even though he says otherwise, conventionally CS is already taught largely with programming projects.
2 - this field has became so complex that IMHO it's increasingly difficult to escape some theoretical knowledge. And actually, 42 curriculum has plenty of it. It's not clear how it's gonna be taught, and I can't see how a student that failed to learn let say Automata theory, linear algebra and Fourier transforms at university would succeed just because he's now supposed to learn by himself.
3 - I think teaching with projects still requires a lot of preparation and supervision from the teachers, and last time I checked, 42 didn't have that kind of resources. For instance, you can't just ask 800 students to write a shell (and learn UNIX and C in the process) by leaving them on their own for a month. Of course, some will do it, but most won't. I doubt they manage to find 800 john carmack.
- nathanappere 13y agoEpitech Alumni here (42 is basically the same thing but free). 1. Studied in CSULB / UCB, you really don't do enough of them. More theory than practise when you should probably seek theory when you're confronted to a problem that needs it. 2. You really don't need to know about automata theory, linear algebra or whatever to be a good developer. Brings me back to what I said in 1. 3. Actually the paper doesn't depicts the reality clearly: you have a lot of teacher assistant always available to help you, it's just that they are not allowed to gives you the answer, only to help you search in the right direction. When you encounter something tricky where finding documentation on the internet becomes an issue then you can talk about it with them. The system works quite well in Epitech. I have been a C & C++ assistant there and the level amongst the assistants is really good, and you could never hire the same number of qualified teachers (if you could find them). Having people that worked on the same project themselves quite recently (like 1 or 2 years ago) makes it that you will always find someone who knows what he is talking about. To teach CS this is really the best system I have seen so far, and it teach you to never get stuck, never trust blindly what someone says, and always go find the answers by yourself.
- nitrogen 13y ago2. You really don't need to know about automata theory, linear algebra or whatever to be a good developer. Brings me back to what I said in 1. No, but all of those things (like the Fourier transform you skipped mentioning) can be used to turn difficult problems into simple ones, making you an even better developer.
- nathanappere 13y agoYes, but it's like a thousand other things that can make you a better developer. It has always seemed quite useless to me to try to learn as much theory as you can before starting to actually do significant projects. You should learn by doing those project, and when it appears that you need theory to make it better, then you learn it. I think there is a huge parallel with the lean model for CS teaching, programming yourself should always be the starting point.
- nitrogen 13y agoIt has always seemed quite useless to me to try to learn as much theory as you can before starting to actually do significant projects. I agree with this, but I also advocate occasionally exploring random theory that's unrelated to your current projects, expanding your mental toolbox. Sometimes you don't know you have a problem until you've already heard of the solution.
- nathanappere 13y agoAgreed!
- yodsanklai 13y ago2. It all depends the kind of projects you want to work on. In Programming projects are great for some things, but not so much for others. The problem when learning CS with projects is that you face two difficulties at once. One is the "technology" side: syntax, bugs, programming environment and so on. The other are the concepts you're trying to learn. For instance, I wouldn't want to learn 3D graphics and C++ at the same time. Actually, my main grief with 42 is that it is presented as something revolutionary, which it isn't. And very little information is given on the website. There's is some sketch of a curriculum that is clearly out of reach for ordinary students. It's unclear how the teaching is going to be organized, or even who the staff is.