This is a great project at CMU. Worked on it from the beginning as an undergrad.
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.
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 :)
This is a great project by CMU; however, it is designed for high school students specifically. An analogue to this would be Code.org. It is not related to their undergraduate CS curriculum which is rather rigorous.
Computer Science has become a "programming" farm degree rather than what it was originally back in my day (grumble, grumble). It used to be an off-shoot of mathematics and was so strongly tied at the hip many schools had CS and math in the same department.
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.
I think the problem is that CS is too young to have sub-disciplines. If you want to lay a concrete slab foundation, then you get an architect, multiple engineers, the rebar guy, the cement mixing truck driver, the person that understands the chemistry of the cement, dyes, etc. Then, you get the guys with shovels to spread it around. Finally, there are some artisans that somehow make it perfectly level using nothing but plywood, trowels and brooms.
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.
Don't we? Off the top of my head, there's front end, there's back end, there's DevOps, there's kernel devs, there's low-level embedded devs, there's database people, there's data scientists, there's ML people, scripting language people, video game engine programmers.
But all of those got the same degree and usually the same job title, they specialized on the job and not in their education. That is very different from engineers.
Where I am, engineers have a discipline which is their undergrad major (e.g., mechanical, electrical, civil) and a practice area which is on the job specialization within the discipline (e.g., HVAC, pressure vessels, pipelines).
Software engineering is a licensed branch of engineering in many places, so I don't think it's that different from other disciplines.
Exactly, when I"m told to double up as a database engineer I always die inside a little bit. If this were any other profession there would be a specialized guy in every company doing that sort of thing.
I'm finding it hard to parse your argument. Are you saying that large organizations would rather have cheap-but-mediocre programmers than good-but-expensive programmers? Why would this be a benefit to them, surely they want good programmers?
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.
>The challenge is, in many places, you won't be able to practice as an engineer without going through an accredited program.
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.
I'm also interested into more of these "teach yourself x" curriculums if anyone has anymore to share. There's so many things I want to learn and I'm someone who likes (needs?) structure. Here's a few that I know of.
"How to make great pancakes" sadly is not one of the anything to be learned.
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.
One factor may be that mechanical engineering remains dominated by expensive proprietary software, and the field is largely OK with that. Programming is unique in the sense that programmers can create their own tools, and have adopted an expectation that the most advanced tools should be free and easy to obtain. This culture could easily extend to making the training materials free too.
Another factor is that "coding" is the hot field right now.
The lack of formal professional organizations is the biggest boon for computing. I'm glad we don't have an artificially low supply of programmers like we do doctors
That isn't a factor of the artificial scarcity however, that's a factor of the teaching standards.
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 think the two approaches are not that far apart. High teaching standards require an elite and dedicated student body and will weed out all that don't conform. An aggressive entry barrier for a limited number of seats will push applicants to compete with each other and select for largely the same thing, only earlier and at a lower cost for the students and the educational system.
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.
Having seen the absolute dire code some programmers put out (some being very well paid for it too); I'm very glad there are far fewer doctors like that and those that turn that way lose their accreditation and get shamed out of the field.
Another factor might be that the term engineer is a protected term, and not unlike doctors and lawyers there exist state-regulated tests to confer such a title.
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.
Seems obvious that a non ABET school would never give engineering credentials, yet community colleges still offer technical courses on mechanical and electrical engineering and even associate degrees in those fields. Professional engineering requires ABET bachelor's and passing EIT and then the PE exam plus 4 years professional experience.
I have a degree in Mechanical Engineering; I have not taken any professional licensing exams. There's an overwhelming majority of jobs that I could take in the Mech E field right now, without a need for the PE license.
I'm not sure the precise details, but there's an "industrial exemption" for engineers who work for a company that makes a product. Most of the MechE's in my department do not have licenses. One colleague is pursuing hers, but mainly on the grounds of "just because I can, so why not."
I got as far as an EIT but then went back to school and changed careers.
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.
I have both MechE and CS degrees. The big difference I see is that MechE is one course that builds on top of another on and on. Quite a rigorous progression that is hardcore on math and physics. To self teach MechE you have to work yourself through that progression which is a huge commitment.
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've heard the saying: Any idiot can make a bridge stand up. It takes an engineer to make the bridge barely stand up.
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.)
Love that! Reminds me of playing Civilization games. Sending in my catapults to smash the enemy city to pieces! I always tried to time the discovery of mathematics with transitioning my economy to a war footing!
Look around at the scout troops near you; it is possible that a scout is building a trail bridge for their Eagle scout project. Volunteer with the troop and you've got your class.
While I agree with that I think one glaring difference is also the money. To really learn you want to test out different designs and stuff. For MechE, this can cost A LOT. For example to build a complex device that does something interesting the prototype parts can easily costs as much as a capable laptop or more. And the first one probably won't work ...
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.
Programming might be what people think of with CS, but what separates a coder from someone more like a software engineer is algorithms, data structures, OSes, and networking. Once you get past toy problems, you'll have to work with all of those. That said, I agree that none use particularly hardcore math day-to-day.
It'd be worthwhile for recreation, but software is kind of unique in eschewing credentials in favor of experience and ability. Civil engineers must be accredited to practice. While I don't think the requirements are as rigid for mechanical engineers, I expect a greater proportion of mechanical engineering jobs have a degree as a hard requirement than in software. This probably leads to less interest in things like teachyourselfmeche.com
I wonder if there are hard requirements for some areas of programming and not for others? There's no reason to require credentials for writing a game because if it fails, try again. But if a bridge fails that's a big deal. So for high consequence software like heart pacemakers or aircraft controls, are there people writing code without degrees?
I don't write aircraft controls are pacemakers, but I know people in the medical device industry, and my understanding is that there are regulatory requirements for the product more than the creators. That said, I imagine those industries are more conservative and credential based. Again, my contacts in the medical industry say that its very academic-adjacent environment (which is very credential-obsessed).
I'd imagine the labs are a part of it. There are very few places that offer proper engineering as an online program. I've not been through mechanical engineering but for electrical engineering even the first circuits course one goes through will include using scopes, power supplies, and other testing tools. Sure you 'could' use software to emulate this, but emulations aren't real-life.
One reason may be that mechanical engineering degrees really only mean something when they come from accredited universities, if you want to go for your FE or PE licenses in the USA you'll need to have a degree from an accredited university. Most places that consider you for a job as a mechanical, electrical, civil, aeronautical/aerospace, etc engineer only want to see you with a degree that's accredited. The CS job market has always been more accepting to self taught, hence courses to self teach. I say these things working in software development with a bachelor's and master's in mechanical engineering. Good friends with someone with a bachelor's and master's in electrical engineering working in software and brother-in-law to someone with an aerospace degree.
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.
When I say good I mean comprehensible and lucid. I am an electrical engineer. And it was a pain for me to good find books that will make me understand things.
How can I actually use this course?
When I try to Sign Up as a student I need a Registration Code.
I don't have such thing since I am located in a different country.
They are talking about the self-reproducing privileged wealthy "American" parents children caste. You should have noticed the cute bunny paws as an indicator :p
Why the downvotes? They have a good privacy but they lie with their "free for all" marketing and ask to provide the name of the school or organization the user is working with.
I can shine some light on this since I worked on the project from day 0, before it was even called CMU CS Academy.
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.
Unlike law and medicine, software engineering has yet to setup it's own guild that works to maintain its high salaries by gatekeeping entry into the profession with endless hoops to jump through and student loans to laden yourself with. It's relatively meritocratic and in many cases you don't even need a degree at all if you can otherwise prove you can do the work. Sometimes those people are even better than the degree holders who may have just been really good at checking boxes in school rather than learning.
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.
Maybe because HN is skewed towards CS topics. But I agree, there are other careers that I think deserves attention for the benefit of society besides trying to cram everyone into an IT career.
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.
There really isn't a pre-med curriculum though biology, chemistry, biochemistry, etc. are common majors for an undergrad planning to apply to medical school. The shortages probably have more to do with residency slots and things like that then too small a top of funnel.
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.
my theory is that they want more programmers to lower the cost of making software. law prevents this kind of race to the bottom via a bar exam and an actual law degree etc. tech does not have these important career protections in place yet.
Would love to learn to do a trade really well in my lifetime, whether it is carpentry or being a mechanic, if only to mess around with my own projects.
As a parent member of a PTA, I can say most parents I speak with or attend the meetings demand coding, robotics and chess as part of the curriculum. My questions about increasing arts, drama, music, natural sciences, mindfulness, civics, etc etc are usually met with polite nods and comments along the lines of "I thought you said you have a science PhD and worked at like Cal Tech or something?"
So, supply and demand and a total lack of appreciation of non-tech fields
For only $10 more, they'll send you three pounds of fries served in a greasy paper bag, a Terrible Towel, and a Donnie Iris cassette single of "Ah! Leah!". It's the best deal in academia.
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.
I don’t know about that. Most living city? Pittsburgh has its charms but it’s just a bigger version of typical Rust Belt cities. All of it is second class stuff. Food sucks there and not even going to mention the roads or even the “townies.”
I usually just recommended Harvard's CS50 as it is a very high quality introduction course (To be clear I was not a Harvard or any _fancy_ university).
I usually recommend starting with How to Code: Simple Data, then How to Code: Complex Data. Then after that CS50 or some class in a language like Python, Java, Javascript, etc.
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.
When I clicked the link, I expected a full CS curriculum but a very few courses from CMU. What I see in the page is not a curriculum or am I missing something? Nice copywriting, though.
I get the German version too, but by clicking on the menu icon in the top left, and then "English", it lets me switch to the English version.
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
Those were taken down because of some complicated lawsuit about use of public funds to make available content that wasn't accessible to people with disabilities. It was too expensive to make the recorded lectures work with tools used by people with disabilities, so the university took down the content instead instead of spending even more resources making it compatible with screen readers, adding captioning, etc.
CMU is a private university so this doesn't apply.
This is the most wtf thing I have heard all day. Basically "me can't have so you can't have." It's like shutting down a public Library just because it doesn't have a ramp for people with wheelchair. Do people really go hmm 10 out of 100 people cannot have it so the other 90 will not have it too. Doesn't make sense.
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.
By the same token, would the course material be available under California's Public Records Act which is essentially a state version of the Freedom of Information Act?
Since the course material was created by public funds, shouldn't a state resident be able to request access to it?
This is an awesome idea. They should record the videos, not post them, have someone file a public records act request for them, and then that person can post them.
Well Berkeley wasn't wanting to take it down, but there are evidently people who like to sue Berkeley who would prefer a world where those videos aren't available to anyone.
I wonder if soon all elite universities will make all of their curriculum and lectures free online, effectively turning them into content marketing to drive their customer acquisition funnel. The actual product will be a prestigious brand name, networking opportunities, and a laundered IQ test performed by the admissions committee anointing you with the stamp of approval at the gates.
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.
I think people dramatically overestimate the value of CMU social connections. The value of a CMU Comp Sci degree is that you've proven (to yourself and everyone else) that you can get one. The program is essentially one "weeder" course after another to identify the people who don't belong (21-127 Concepts of Mathematics, 15-251 Great Theoretical Ideas of Computer Science, 15-213 Introduction to Compute Systems, 15-410 Operating Systems, 15-451 Design and Analysis of Algorithms). Every course is the "hard" version of ever other course (e.g. "Welcome to Operating Systems, you'll be writing a kernel that runs on an X86_64 processor. Your hint is 'pusha/popa.' Go."). While it was horrifying the whole way through, I think that it built a resiliency in me that wouldn't exist otherwise. It's incredibly hard to replicate that through online classes.
I remember my first day of "Intro to Operating Systems". Prof said "You will write a simple OS for x86 in Modula-2. I know none of you have ever touched Modula-2, but there's a recommended book and a TA session once a week. We will not be doing any M2 tutorial work in class. Now Lession 1...". Most people figured it out.
> In the public's mind one goes to an elite institution for access to elite education
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.
It's worth noting that there are elite schools with uniformly excellent undergraduate instruction quality, but they are not doctoral granting institutions. Williams, Swarthmore, Harvey Mudd, etc.
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.
It's still not the curriculum that CMU teaches its students. Self-studying through it will not give the learner anything remotely similar to the knowledge a CMU student majoring in CS gets.
For ambitious autodidacts hoping to do something like Scott Young's MIT challenge, this is crucial information to have.
no, of course it's not, it's targeted to high school students, which is very clearly stated in the page: "WHO IS IT FOR? 8th + 9th grade [...]".
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.
(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.)
That seemed like the future ten years ago, but my impression is that the trend has gone the other way. There were a lot of really buzzy courses back then, but the communities don't seem motivated in the same way any more, with a large portion of the students now in pursuit of a certificate rather than intellectually curious. I also think that the reason that many of the popular early courses disappeared, wasn't just that they wee out of date, but that university administrations began to worry that they were giving too much away.
It's also possible that online learning during the pandemic has ended up making online learning in general seem unpleasant.
> but that university administrations began to worry that they were giving too much away.
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...
>It's also possible that online learning during the pandemic has ended up making online learning in general seem unpleasant.
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.
Definitely most universities are making their lectures available. For example IITs have this huge collection of all kinds of Engineering courses, https://nptel.ac.in/courses
Hasn’t that already been the case for a decade? How many prestigious universities have had their courses online for free?
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.
The thing that would make a difference would be the emergence of a reputable open examination. As in: here's a math test, it's written by xyz professors at famous institutions, everyone can see the paper after the test, these x% of people passed. The test itself might be invigilated in-person, but all the materials are free, the syllabus is open for all to view, and crucially everyone thinks it's actually difficult.
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?
I partially agree, but also somewhat disagree with this. In theory it makes sense, but a lot of my education was also from the relationships with classmates where we could bounce ideas off of each other, and the help from TAs and professors when I got stuck.
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.
Absolutely right. The value of a university is no more than it’s initial filtering system. It’s the one status symbol that can’t be bought (well, I know what you are thinking but let’s not digress ). I’ve always thought it would be a great idea for people to apply to college and once accepted - you have an elite college club that they join, and they just don’t attend college. It would be a $200 application fee well spent. Then you take $50,000 and spend it on 5 international and 5 local trips over a 3 year period and boom - you got a great network!
I always find it disappointing when people equate CS to programming. In my view, programming is a at most a means to an end in CS. A tool that we use to show that something is possible, to implement a proof of concept. By looking at the code we can understand in a formally defined language how certain systems work. It is definitely an important tool in CS, and a practical skill that CS students can use in their professional life after graduation. But I become rather sad when I see three Python programming courses being put together and people call it a CS curriculum.
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).
It's a somewhat limited and artificially restricted view. CS develops theories and algorithms that can be used in practice. The shortest path algorithm is an early example. And mangling algorithms into another complexity class also belongs to CS (IMO, of course). Studying CS may not prepare you for centering divs, but a good curriculum provides you with enough tools to learn and understand e.g. the constraint mechanism behind the CSS box model.
What seems to be true is that quite a few CS students lack training in proper development techniques.
Nah; based on another HN thread: It already figured out that it needs to start tricking first year biology students into creating mutagens. The survivors will gain superhuman powers (that we mortals cannot understand), and use them to do ChatGPT's bidding.
Edit: And it will do this because it is a good Bing and you are a bad user. SMILEY_FACE_EMOJI.
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