CMU CS Academy: a free online computer science curriculum by Carnegie Mellon
academy.cs.cmu.edu
academy.cs.cmu.edu
It’s a very unique project: students have the ability to be involved in almost all of the roles of the project - from mentoring high school teachers to writing new course content and working on backend systems. There are 2 professors who oversee the project, and a handful of awesome full time staff to guide and manage the CMU students.
It’s crazy to see how it’s grown over the years. They just recently added an option to take CMUs 15-112 online with credit-by-exam at the end of the year: https://www.cs.cmu.edu/news/2023/cs-academy-credit-by-exam
Students are not meant to sign up directly. So you have to sign up as either a teacher or a volunteer (parents are this category). Then you will get a code. You need to use this code to create a student account.
This is not quite intuitive but I have a 12 year old kid and that is motivated me to dig around till I got it :)
Another factor is that "coding" is the hot field right now.
(We're still very much at the "bloodletting, leech, and saw" part of our craft. Look at the horrors we inflict on our users.)
In Australia we have a very limited number of surgical training positions each year. We could do plenty more, but we don't... more or less because surgeons are snobs who want people to go through the same hoops they went through.
I've experienced both systems "easy to enter, next to impossible to finish" vs "highly selective, smooth sailing after that", I can't say there is a definitive superior solution.
I'm sure that a mechanical engineering course would be possible, but the course would have to clearly state that it cannot accredit the credentials to actually work in the field.
Engineers mostly need a PE licensure if they're going to be signing off on drawings and the like for regulators. Thus PEs are pretty common in civil engineering and, I assume, structural engineering in general. But most Mech Es aren't licensed in the US even if they have degrees from accredited schools.
Cynically programmers are paid better than any other so-called "knowledge worker" field. Naturally, schools paid by large organizations have a vested interest in finding interesting ways to drive down wages. One of the easiest ways is to just pollute the waters with sub-par talent. As much as this website, Google, and many other FAANGs would like you to believe, the average person lacking a formal education in CS or a related field (math, engineering, etc) tend to make for the programming equivalent of one trick ponies. The wages have stayed high as a result.
Personally, I am growing tired of seeing all of these "learn to program" focused CS degrees. Even the one you have linked lacks the rigor of an ABET accredited program. For the last several years now every time someone tells me they like computer science what they have meant is they like learning to code. There's nothing wrong with this, of course, but CS is quickly going the way of the kleenex. I am not gatekeeping to be an asshole. There is so much beauty and richness of the field. It's like the people who read one pop-sci physics book and then put "physicist" in their linkedin.
None of those people can replace each other, and they all have different titles / work for different companies. Even the untrained people that spread the concrete around can't be replaced by the others; no one else has enough muscle tone / stamina to do that job!
In CS we have many, many sub-specialties, but we don't have names for those specialties.
Software engineering is a licensed branch of engineering in many places, so I don't think it's that different from other disciplines.
Everyone knows what it is, everyone makes annual use of it?
The name has expanded from "a product, sold by a particular company" to "exactly the same product, but sold by any company"?
Help me out here.
OTOH what most people consider “CS” is more like “the ability to program”. You can get competent enough to be dangerous with a few classes and side projects.
Note that isn’t actually being competent at CS - that is quite a lot more work which just isn’t needed in practice for a lot of work that needs done.
I want a class on making the bridge stand up for idiots (like "let's write this bridge in python, and build it with cob"). I don't care if I spend twice as much on wood and hay and mud or titanium or whatever. I live in the SF Bay Area, so I can't afford the mechanical engineers I can actually hire to design my crappy little bridge, and the ones I can actually hire are incompetent. Also, I don't want to buy more tools.
(To be clear: If you're a MechE in the SF Bay Area and reading this site then I can't afford your time.)
Still, it's a shame I think that the open source community is so week because there is very advanced software out there, e.g. France has open source SW that was used to design nuclear reactors. But the community is just not there.
It's available, you might need to search for it and look for the flow charts to see which courses are missing from the other departments.
The challenge is, in many places, you won't be able to practice as an engineer without going through an accredited program.
If you're trying to be a maker or learn more about that, mechanical engineering is probably overkill. There are more accessible books for technologists or technicians that have a much more reduced emphasis on math.
An undergrad degree in engineering isn't sufficient to be an engineer. It's the base knowledge that gets built on during the apprenticeship ("engineer in training" or other name), and you need to learn and use the relevant laws and standards.
If you're able to state your goals a little more clearly, there may be others who can provide better advice or comments.
While not literally generally true in the US, in practice, you'll probably be hard put to land a job.
>If you're trying to be a maker or learn more about that, mechanical engineering is probably overkill.
It's not only overkill. A lot of the curriculum that doesn't involve a lab or a machine shop is probably mostly not very useful. Navier-Stokes fluid flow equations have very little to do building things.
You can go through something like OCW and see the notes and can buy the same books used in the courses. You may need to hunt down appropriate problem sets to work on but there's a ton of material out there.
That said, as commented on up thread, you'll end up doing a lot of work to get a very theoretical not-degree, without even the benefit of labs, that is probably more or less useless in actually getting you a mechanical engineering job.
Where did I look for resources? Everywhere.
Draw a Box: https://drawabox.com/ (Doesn't necessarily fit, but it's really good!)
So You Want to Study Mathematics: https://www.susanrigetti.com/math
So You Want to Study Philosophy: https://www.susanrigetti.com/philosophy
So You Want to Learn Physics: https://www.susanrigetti.com/physics
From poking around, this site seems to be a pointer-to-resources, rather than a road map of learning. While very useful, it seems like a tactical resource, rather than GPs strategic resources.
The initial vision was to provide a free, online, world class CS curriculum for high school students. What this means is that CS Academy's curricula are designed to be taught in a classroom to high school students. Teachers and their classroom environment were considered as first class citizens in the design, which means a lot of CS Academy's value is its complement of (still totally free) teaching resources and professional development seminars. teachyourselfcs.com et. al. solve a different, but equally important, use case for learners who want to teach themselves CS in a self-paced fashion. CS Academy chose to attack the high school CS curriculum because there was (and still is) a clear lack of world class solutions, and we felt we were best suited to take on that particular challenge.
That being said, according to some of the comments, it sounds like there are workarounds to sign up as a Mentor if you just want to play around with some of it.
Disclaimer that these are my opinions only, and not those of CMU/CMU CS Academy. I am no longer actively working on the project.
I keep reading of shortages in medical and trades fields. If we are short CS degree holders for the benefit of society, simply pivot them to meaningful software work rather then driving clicks.
Law in the US is primarily a more or less required graduate degree for someone who actually wants to go into practicing law. For someone mostly wanting to learn a bit about IP law or constitutional law, there's a fair bit of material out there.
So, supply and demand and a total lack of appreciation of non-tech fields
Don't worry though, I think quite a few in the field now are ready and willing to start pulling up the ladder they elevated their lives with.
Everyone with a 3 month bootcamp can be an engineer now!
"CMU CS Academy is, and always will be, free for schools to offer to their students"
All jokes aside, if you'll allow me a tangential but relevant aside, a lot of people have heard of Carnegie Mellon, but very few have heard of Richard Caliguiri or David Lawrence. They were both mayors of Pittsburgh, and both led the city through urban renewal and revitalization plans that accurately foresaw the decline of the steel industry and consequently redirected resources to future-forward endeavors -- in this case, academia. Fast forward almost fifty years, both CMU and UPitt are world-class institutions, a plethora of industries (finance, robotics, healthcare) are thriving, and the city is widely seen as one of the most living cities in America.
Is there any better course available?
The reason I really like starting with the How to Code series is because it really teaches how to solve problems with code in ways that apply to any language. And the projects are reasonably fun. The simple data ends with creating a graphical space invaders game.
On an unrelated note: I wish HTTP had a language negotiation feature that allowed my browser to default webpages to whichever language isn't a bad translation of the page's original language and doesn't hide any information and features for lack of translation.
Their curriculum is very VERY far from a completed CS curriculum. Maybe the project is not finished, and when it is it will cover everything that a computer scientist needs to know
But for now I think it is misleading.
CMU is a private university so this doesn't apply.
Berkeley has a 7 billion dollar endowment. I am sure they could have found the budget to make the videos compliant. They simply chose not too.
I don't understand anyway since screenreaders are a thing on computers and smartphones and you can load an ebook into either. Meanwhile a paper book either needs a very expensive braille copy or some kind of complicated electronic shit to read the book for you.
My guess is the publishers knew ebook piracy is a thing and bribed some officials to use the ADA line.
a sentence with "instead instead" ... sounds both right and wrong at the same time :)
Since the course material was created by public funds, shouldn't a state resident be able to request access to it?
Please tell me you can find them somewhere.
So let me help you with the location - Jackett or
magnet:?xt=urn:btih:5E84BE34F69B1A313F6DCB51667EDF238D5D4412&dn=UC+Berkeley+Computer+Science+Courses+%28Full+Collection%29%09&tr=https%3A%2F%2Facademictorrents.com%2Fannounce.php&tr=udp%3A%2F%2Ftracker.coppersurfer.tk%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969&tr=udp%3A%2F%2Fzer0day.ch%3A1337&tr=udp%3A%2F%2Fexplodie.org%3A6969&tr=udp%3A%2F%2Ftracker.opentrackr.org%3A1337%2Fannounce&tr=http%3A%2F%2Ftracker.openbittorrent.com%3A80%2Fannounce&tr=udp%3A%2F%2Fopentracker.i2p.rocks%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.internetwarriors.net%3A1337%2Fannounce&tr=udp%3A%2F%2Ftracker.leechers-paradise.org%3A6969%2Fannounce&tr=udp%3A%2F%2Fcoppersurfer.tk%3A6969%2Fannounce&tr=udp%3A%2F%2Ftracker.zer0day.to%3A1337%2Fannounce
In the public's mind one goes to an elite institution for access to elite education, but, with everything being free and ungated, there should be little meat left to support that argument. I realize it's not a fresh hot take, but until recent it was still plausible to justify the high prices with the excuse of learning. Don't think that will fly for much longer.
I wonder if they could get rid of the antiquated teaching portion of universities altogether and just keep the "gated access exclusive club for people of your social or cognitive tier" portion of it. It's somewhat of a YC model too. There's some pedagogy during the batch, even though nowadays so much of their great content is on YouTube, but the value is mostly in everything else you get.
It’s been an artificially limited social club ever since distribution of the content reached roughly infinity. It’s also a test to see if you can keep up, on time.
If all of what I learned came from sitting in a lecture hall, then sure. And that’s how I learned the basic ideas. But a lot of how I learned to apply concepts was from making friends and studying together, or group projects, etc. Learning the different ways that other people see the concepts can help solidify them to you. Things that happen spontaneously by being in close proximity to people in your same class.
Learning together is part of the learning process that can multiply the classroom side. But it’s basically impossibly to have a casual spontaneous connection on slack or zoom.
It's also possible that online learning during the pandemic has ended up making online learning in general seem unpleasant.
Personally: in industry, in various software companies I've met about 10-15 grads from Harvard, MIT, and CMU. From meeting them, I assure you that they're just average people, just as dumb as you or I, and that the administration has no great secrets to give away.
At least, not to give away to the average student. Maybe I only met the rejects...
MOOCs seemed to have outlived their novelty value since before the pandemic rolled around. The fact that paywalls were added to some content and schools probably lost a certain amount of interest as well didn't help.
But of course the pandemic did add a huge amount of (mostly uncurated) video content to the commons.
And now they are expanding to medical sciences too! Imagine becoming a self taught doctor :/ https://dth.ac.in/medical/course.php
But yes, the value of attending a top university is not at all limited to these study materials. It is so much more.
This is one area in which the public’s mind is (for the most part) very, very wrong.
While there are certainly some excellent courses at elite schools, the general quality of instruction is quite low. Professors are not rewarded for good instruction and are not punished for relatively poor instruction. Class-oriented work takes time away from research work, and that’s the stuff that counts.
For students, elite schools offer the following (imho):
- incredible access to research resources
- access to top tier work and research opportunities during school and after graduating
- access to nationally and internationally powerful social networks
- a highly motivated peer group who often (re)define how high the high bar can be set
Note that some (perhaps many or most) students don’t avail themselves of any of these unique offerings, but some certainly do.
They aren't "elite", but regional R2s also can be really well respected (CSU campuses come to mind), and I'm not sure where to file excellent schools with a narrower scope like Rose-Hulman either.
I should have specified HYPS (Harvard, Yale, Princeton, and Stanford). I think these are the schools that the “public mind” think of as elite. I would personally add a few more to the list, but I think that the “public mind” probably wouldn’t understand why I included them.
Williams and similar schools are colleges. I always tell people to go to colleges if they want great instruction. There are many amazing colleges in the US.
David Kosbie and Mark Stehlik are two of our most celebrated teachers, and the course creation has extensively involved veteran TAs from our intro undergrad courses. This is not a random unsupported student project.
For ambitious autodidacts hoping to do something like Scott Young's MIT challenge, this is crucial information to have.
It's designed to be a high school curriculum that doesn't suck. Many US high schools do an incredibly poor job of teaching computer science, if they even try at all.
Now, that said, the AP part of it is based upon our intro course, 15-112, and if you take the full year of it through CS academy, you're getting a big chunk of what we teach our students in one (often first-semester) course - and we'll give you CMU course credit for it. But that's a first-year course that's designed to prepare you for the rest of the CS curriculum, not .. what we teach you in the other 7.5 semesters.
https://www.cs.cmu.edu/news/2023/cs-academy-credit-by-exam
(In case it's not obvious, I'm a CS professor at CMU. I've taught the course I'm discussing above, 15-112, together with David Kosbie, one of the creators of CS academy.)
This is the part that I bet a lot of prospective students will like!
Do you think the program will eventually get extended to cover some of those remaining 7.5 semesters or remain focused on the initial half semester?
Alternatively, the big name universities could open up their exams. People will be able to say they passed the actual MIT CS exam, they just didn't go there. Of course I'm aware this might not fly with these institutions...
I think it would help a lot of people who don't have the means to move somewhere and not work a job for 4 years.
High school exams are already more or less like this, everyone takes the same test. Why not uni?
In my opinion, computer science is using mathematical constructs to produce correct programs. Computer engineering is getting the not-quite-ideal digital circuits in the computer to run programs correctly. Software engineering is a mixture computer science, computer engineering, and sociology while spinning a plate on a stick (or, if you're unlucky, while planning sprints).
What seems to be true is that quite a few CS students lack training in proper development techniques.
Edit: And it will do this because it is a good Bing and you are a bad user. SMILEY_FACE_EMOJI.