Also, what is the baseline you're starting at, before you start the timer?
Maybe I'm just arguing about what you call a genius, but I think it's totally biologically possible for many students to learn CS fundamentals beyond the capabilities of the average CS major, in 9 months.
https://undergrad.soe.ucsc.edu/sites/default/files/curriculu...
It'd be intensive; but doable.
Even if you could take them all at the same time, maybe 2 or 3% of students would have been capable of completing those courses in that time frame at my University.
You're also cutting out 5 classes because they are called electives. In most programs electives are structured so that you're going to get exposure to certain topics no matter which electives you take, so randomly cutting out 5 classes just because there is some choice doesn't make sense.
The baseline is high-school.
Well "the average CS major" is also a very broad statement :D. I have no good overview of what an average CS major is, to be honest.
I think we are talking about different things. Let's say you learn how to build a hashmap, how to solve TSP with dynamic programming. Conceptually, this is possible to learn in 9 months if you are a good student (and therefore, your are talents are already wasted in this bootcamp). But what if I ask you some follow up questions? Modify the problem. Will you be able to explain how perfect hashing works or what the runtime of a hashmap is if the hashing function is not O(1). How different hashing procedures lead to different qualities for different implementations of hash maps?
We are not talking about knowing that hashmap give you O(1) lookup if you are lucky. If that is the skill you want to learn, sure, 9 months will do. But truly understanding what you are talking about and being able to explain, augment, modify/improve data structure and suit algorithms to your needs... Proving that they still work correctly after your modification. Understanding how that damn distributed consensus algorithm works that seems to have a bug that fucks up your database every now and then.
Yes agreed. You don't need to know that for 99% of CS jobs. But we are not talking about whether bootcamps can prepare you for work in average code mills, we are talking about whether they can replace CS education.
As a matter of fact I DO believe that bootcamps solve a critical purpose in filling the vast amount of gaps in our IT market. But I am always surprised again and again why "the new kid on the block" always needs to attack other completely valid paths (like CS major). They are completely different things made for a different purpose.
I think people need to realize that CS major is NOT the right choice for most coding jobs. But that does not mean that a bootcamp can replace a CS major, it just means that a bootcamp can be an efficient shortcut to hit the job market running.
We're discussing "what happens to tech workers when their skills become obsolete." If being able to contribute to a scaled system as a great software engineer at Google or Amazon is not a sufficient measure of "Knowing CS well enough," I'm not sure we're talking about the same thing.
Is it enough CS to do fundamental AI research? Eh probably not. Is it enough CS to do pretty much any other job out there? Yes.
Also, it's far easier to grasp the basics of AI from a course than to reconstruct "basic body of knowledge" just from reading arxiv. As a matter of practical considerations, I just don't believe anybody can become an expert by reading only the research, without going first through the basic training. It's too damned difficult, too much work (and pointless, too - people did that work for you already and built great courses with the summaries, why not take advantage of that?
Impressive. (TSP is NP-hard. Not even NP-complete because you can't verify the solution in polynomial time... or at least, I don't know how to do it and would love to see a solution with dynamic programming)
Edit: it's 3/2 for Christofides' algorithm. Native dynamic is bad speed but gives accurate solution. It's no good for more than 24 nodes or so.
Usually it is good enough, other similar and better attempts try to tighten that bound with more admissible heuristics. E.g. for metric spaces solution is possible to tighten a lot. (Like shortest travel without weights.)
I value CS degrees and value mine, but reality is, not everyone that writes code, need a CS degree from MIT or Stanford. Bootcamps serve their purpose and I have worked with many self taught and Bootcamp grad developers who went on to be exceptional developers. I myself was self taught before I entered into a CS program and honestly I wish I would have went into applied mathematics. Everything I learned in school I could have self taught by already having a base in programming. I also never use anything I learned in school at my day job since I left AI and 3D dev.
More relevant to the story, aging techs can actually be quite lucrative once you pass the curve of no new people are learning it, and all the skilled workers have left for greener pastures and are not looking back. I have taken some gigs for IBM Universe, VB 6, and COBOL JCL that have been quite lucrative because no one wants to touch them and most of the talent has retired out of the field.
I think that is horrible advise. They will pay you peanuts and abuse you. Instead go found a startup and make lots of money. Then you can fund interesting research that contributes to humanity, if you want. Or you could get a PhD once you've gotten your money.
This is all assuming that said person is a genius, of course. Otherwise disregard this advise.
* Machine learning is nothing but multivariate calculus.
* Analyzing network traffic is all queueing theory which is based on calculus.
* Even the simple data structures proof that no comparison-based sorting algorithm can run faster than n log n requires calculus.
And all those older programmers doing machine learning when they haven't had any CS courses on the topic.
Obviously a degree helps, but it doesn't stop someone suitably motivated and capable.
Of course it is possible, a few people throughout history have done it, but it is rare enough that I would claim that anyone who thinks they did are deluding themselves unless they can come up with further proof.
To quote my prior comment, this basically says it takes more than reading. But reading is the root of it. These days “reading” encompasses everything from books, internet, and even YouTube style videos. Basically individual leaning content.
It’s very possible if you’re motivated and put in the time. College is forced motivation.
Lets take an example from the subject at hand, series in calculus: we want to prove that the sum of a series converges, how to you verify the proof without an instructor? Check that it is the same as the book? Most likely it wont be the same, proofs can come in many different ways. So either students start discarding their correct solutions thinking they are wrong or they fail to discard wrong solutions. Either case they fail to fully grasp the material.
You need to be a genius to properly root out all the errors in your head on your own, doesn't matter how many videos or books or tutorials you go through they can't evaluate your creative solutions like a real person can. Of course the need for instructors mostly disappear as you reach mathematical maturity, but to get there without help is extremely hard.
Why? Because learning to take tests and learning are two different things. And nothing is permanently learned. Except maybe how to ride a bike.
[citation needed]
I've been doing self-studying for the past few years and there's no way I could possibly truly learn the bulk of CS in only nine months. Every skill needs many hours of practice and the brain needs time to process information. Unless you're part of the 1% of people who are extremely quick learners and have profound memory retention skills, most people need a lot of time to comprehend complex topics. It's not pure coincidence that some of the best performers of a lot of subjects started when they were young: by the time they were in college/adulthood they already had thousands of hours of practice.
Yes. "Biologically impossible" is quite the high standard to meet.
Could you learn the necessary CS fundamentals that are included in a CS degree in nine months?
Nine months of Lambda School full-time is virtually equivalent to the amount of time you'd spend in the CS portion of a four-year CS degree.
https://lambdaschool.com/courses/full-stack-web-development
Also notable that the CS block is last, right before interviews. It would have made more sense if you put that first and then refereed to that knowledge in the other parts, but now it looks like Lambda school just treats CS fundamentals as interview prep instead of necessary building blocks.
How many jobs require a knowledge of “CS fundamentals”. The typical development job are basically the “dark matter developers” writing yet another software as a service CRUD app or bespoke internal app that will never see the light of day outside of the company.
Why would you want to confine yourself to working on CRUD apps instead of working on cool tech?
In given week, I’m up and down the stack from the web to the infrastructure (AWS). I found all of the things that AWS enabled that took literally months to provision in the old world “cool” for about a year and then it became just another means to an end.
2000 hours is a LONG time to do something, you will certainly have a grasp of the fundamentals after 2000 hours. Will you be a master? No, but did you stop learning when you got your first engineering job?
Hell, most traditional CS degrees (at least their core credit requirements) can be completed within 9 months if you crunch
I was very interested in math and theoretical CS. It took the whole batch of students, including the ones in honors math bachelor a good 2 years of daily intense study alone to get the basic feeling for math straight (I was part of the IDEA league program in Europe and I would consider my CS studies among the best in Europe, especially when I see what students come out of Berkeley and Toronto). Then it took at least another year or two of algorithm studies to properly deal with algorithms and data structures. Also note the exam failure rate of about 90%.
Sure, you can hack some knowledge together in 9 months. But it is biologically impossible for the brain to properly learn these things in 9 months. If you can do it, you are a genius and your talents are completely wasted in this bootcamp. You should instead apply for a PhD in astrophysics at MIT or something and start contributing to mankind...