Brian Lovin
/
Hacker News
Daily Digest email

Get the top HN stories in your inbox every day.

jbman223

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.

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

sharmi

For those who are trying to sign up:

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 :)

timst4

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.

lispisok

How come this or things like https://teachyourselfcs.com/ dont exist for other fields like mechanical engineering?

blue039

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.

hedora

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.

fragmede

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.

AstixAndBelix

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.

undefined

[deleted]

314

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?

kevviiinn

Companies are focused on short term profits 98% of the time

thaumasiotes

> but CS is quickly going the way of the kleenex

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.

ggsp

Maybe they mean “programming” is becoming a metonym for “computer science”?

wheelinsupial

https://mitocw.ups.edu.ec/courses/mechanical-engineering/

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.

ghaff

>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.

robaye

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.

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

longbilly

This one is my favourite, its not great for everything but most of the time it provides a solid road map to learning something new.

https://learn-anything.xyz/

ccooffee

"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.

mindcrime

It's not exactly the same thing, but you might find Metacademy.org[1] of interest.

[1]: https://www.metacademy.org

analog31

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.

calvinmorrison

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

phtrivier

To be fair, I'm also glad doctors are (on average) better trained, more professional, more disciplined, and have higher standards than programmers.

(We're still very much at the "bloodletting, leech, and saw" part of our craft. Look at the horrors we inflict on our users.)

Tams80

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.

dotancohen

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.

thatcat

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.

sokoloff

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.

analog31

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."

swighton

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.

hedora

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.)

chongli

Bridge building is the purview of civil engineers. Mechanical engineers deal with machines, moving parts and the like.

whatshisface

It's not legal to build a little bridge anywhere in the SF Bay Area.

pjmorris

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.

mike555

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.

dehrmann

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.

owlglass

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

throwaway8689

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?

vineyardmike

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).

blown_gasket

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.

undefined

[deleted]

chunkles

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.

7839284023

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.

mym1990

The irony of their headline “free for all, designed for you”.

frozencell

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

frozencell

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.

rizhao

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.

henry_viii

You can access the curriculum if you sign up as a Mentor/Volunteer.

boppo1

What's with all the free CS programs? How about a free law or pre-med curriculum?

anonporridge

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.

mym1990

If anything software engineering and development has been going the other way with the advent of bootcamps in the early/mid 2010s.

fma

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.

ghaff

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.

b20000

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.

eddsh1994

That’s my thoughts too. Hence Googles free courses on Coursera.

mym1990

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.

passwordoops

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

eddsh1994

As a chess player myself, why are parents demanding chess in the same category as coding and robotics?

passwordoops

The people I talk to associate it with math skills. No evidence, they just assume

throwayyy479087

all get categorized as "things smart people do"

908B64B197

Don't you know?

Everyone with a 3 month bootcamp can be an engineer now!

UberFly

For those trying to sign up cold:

"CMU CS Academy is, and always will be, free for schools to offer to their students"

love2read

Is there a way to just sign up to test it out? Doesn’t seem like it at first look.

danwee

It's not a "computer science curriculum" but a "graphics-based computer science curricula in Python" https://academy.cs.cmu.edu/course-info

exogeny

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.

undefined

[deleted]

lvl102

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.”

Farbklex

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).

Is there any better course available?

troupe

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.

theusus

Am I missing the cs curriculum part? I don't see it on their website.

Daily Digest email

Get the top HN stories in your inbox every day.

CMU CS Academy: a free online computer science curriculum by Carnegie Mellon - Hacker News