Given the power tech has over the daily experiences of billions and how many questions of values and ethics it is now directly confronting in society, I'm a little surprised there's just one ethics course and one law course that cover these subjects, and they're electives [1].<p>We all know much of the learning in engineering is on the job anyways, so the role of formal education is less about particular job skills and more about building foundations for understanding - exactly the time and place to teach ethical frameworks and other critical interfaces with society.<p>Ten years later you may not remember the details, but at least you'll remember there's some kind of ethical framework or lesson that explains why a course of action your boss is considering might not be right or has implications they're not considering. The world needs more of this kind of awareness from CS grads. Not suggesting this be a major part of the curriculum, but just maybe we could go from 0 required courses covering this to 1 or 2.<p>[1] <a href="https://web.stanford.edu/class/cs182/" rel="nofollow">https://web.stanford.edu/class/cs182/</a> and <a href="https://5harad.com/mse330/" rel="nofollow">https://5harad.com/mse330/</a> Yes, STS (<a href="https://sts.stanford.edu" rel="nofollow">https://sts.stanford.edu</a>) exists, but again that's elective and thus involves sacrificing opportunities to take those courses.<p>EDIT- see epoch_100's link here about Stanford CS embedding ethics throughout the curriculum, which seems to address this concern: <a href="https://hai.stanford.edu/news/building-ethical-computational-mindset" rel="nofollow">https://hai.stanford.edu/news/building-ethical-computational...</a>
Looks really good. I still remember the curriculum of my CS degree in Europe:<p>- first year: Mathematics I, Mathematics II, Mathematics III, Electronics I, Electronics II, Digital Circuits, Statistics I, Physics I. The rest was about software and programming (at least!)<p>- second year: Mathematics IV, Statistics II, Physics II. The rest was about software and programming (nice!)<p>- third year: software and programming only (very nice!)<p>So, about 80% of the students didn't pass the first year because of its heavy mathematics + physics content.<p>Extra:<p>- mathematics I = logic, Boolen algebra<p>- mathematics II = calculus<p>- matehmatics III = Multivariable calculus and something else I don't remember<p>- mathematics IV = Complex analysis/complex variable calculus<p>- physics I and II = electromagnetism and friends
> Practical Unix<p>I hope this is a required course. I wish it was a freshman year course for me. I had to pick Unix up on my own (and fell in love while doing so), but a lot of my classmates didn't, and it made group work in the future a bit of a pain. Not that it is there fault, but it would have been nice to lay down an OS framework for students instead of focusing solely on writing algorithms and leaving what SSH is to mystery for a lot of students.
as a self taught individual I always find it outstanding how much things they are able to pack in a CS degree and how fast people forget all this stuff after graduation.<p>Like how many of your coworkers from top CS schools remember most of the material in their compilers, cryptography, comp bio courses?<p>EDIT: To clarify, I'm not criticizing this approach, I think it's great to expose students to as many subfields as possible.
Looks like something you'd find at some no-name technical college in Germany and not a top university. Where's the linear algebra, multivariate calculus, real analysis, differential equations, graph theory, abstract algebra, numerical mathematics, stochastics, etc.? Those are all required courses in my degree with additional options in complex analysis, functional analysis, topology, measure theory and so on. How are they planning to do those robotics or machine learning classes without the mathematical prerequisites in linear algebra, differential equations and optimization? It looks more like a vocational training program to me. No self-respecting university here would offer courses on "mobile development" or "web development". Even for analysis of algorithms you need basic calculus which apparently isn't part of the high school curriculum in the US (although we can assume that everyone who makes it to Stanford would've taken AP classes).
When I browse around these courses, I see a couple of high-profile names teaching them, but it's interesting to see how the overwhelming majority of the teaching work is done by brilliant people who almost never make it to the spotlight. I hope they are getting the recognition they deserve at least in their inner circles.
Great list! Stanford CS has been very open about putting its resources online.<p>But the curriculum I've been increasing into lately is that offered by the Design Group. And that seems to be a carefully shrouded secret ;)
I wished there was a list that maps these classes to it's equivalent on Coursera / edx (if they exist).<p>I've noticed that interesting classes like SICP cs61a from Berkeley still take place online (their material is available), but are no longer available on the MOOC platforms. The same goes with some interesting MIT classes (Introduction to Computational Thinking)<p>(Although a certificate from such platform doesn't mean that much to me, it does help somewhat with motivation and looks better on a beginners resume than nothing. )
Am I missing something, or is there supposed to be something special about the curriculum? Everyone knows the only reason to go to a top school is for the peer group/positive eugenics aspect of it.
Would be interesting to see if someone could make a one-year bootcamp from this classes (not all of them, but cherry picked) and what the result graduates would look like.
Why OO? Why C++ so early in the curriculum? These seem like very specific/opinionated tools. I got a degree in math without ever taking a “HP 48GX” course.
I love how each course has a unique web page. Do the teachers make them themselves? Almost feel like browsing their personal websites and have that sense of exploration going through them.