361 comments

[ 8.0 ms ] story [ 318 ms ] thread
What did they call it before? As the article mentions, CMU has been doing AI for a long time.
True that, CMU has been doing AI for a long, long time. In terms of what CMU undergrads called their AI work before... Probably just a focus within a more general major like Computer Science.
Probably "Computer Science", I'm guessing? Most schools (as far as I'm aware) treat AI as a part of computer science.
CMU CS undergrad courses do have an AI component (e.g. building a chess engine), but this appears to be a more formal classification.
We never had a differentiated "AI" undergraduate major before. A student who wanted to concentrate on AI/ML would have used their electives to synthesize something they liked. The CS curriculum is:

https://csd.cs.cmu.edu/academic/undergraduate/bachelors-curr...

So that student would pick AI-ish classes using their applications elective and two CS electives.

In contrast, the AI curriculum:

https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...

Removes several of the required courses from the CS curriculum (such as the upper-division systems requirement - OS/networking/distributed systems and the logic & languages requirement), adds another required math course (modern regression), and then uses the space from those freed-up courses to add a bit more depth in the AI core. It also shifts the set of available electives towards a more stats/ML/AI-centric group.

It's not a huge change from our CS curriculum, but it's one that lets AI/ML-interested undergrads create something that's more stats-heavy and deeper in AI than they would have been able to with the CS version. Keep in mind this is all still within the school of computer science.

This doesn't change things at the masters and Ph.D. level.

As a CMU BS-CS graduate myself, the most obvious and startling shift is no OS or networking requirement. That alone makes it "not the Computer Science undergrad track" as far as I'm concerned.

(Not to mention the notable lack of the utterly gigantic forest of higher-level discrete math concepts and programming language theory. Were I in a place to re-do an undergraduate career, this would have been very appealing to me relative to what CMU offered).

Seems like the university put a decent amount of thought into the program. I wonder whose brainchild this was, and pushed for it to be its own degree?

Regardless, even if a student no longer decides to pursue AI research or employment after graduation, they still have a marketable skillset for a variety of jobs.

So others can also see the thought they put into the program, here's the actual curriculum:

https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...

Thanks. I was wondering about that. Do you know, by chance, what books or notes they might use?
Sorry this isn't a super researched answer but most of the course titles can be googled to find a "course website" that will usually list that information or a syllabus
I'm starting with gathering the book requirements for some of the electives which might be of interest to me...

For 85-712 COGNITIVE MODELING:

How Can the Human Mind Occur in the Physical Universe? 2009 Author: Anderson, John

ANSI Common Lisp 1996 Author: Graham, Paul

For 85-211 COGNITIVE PSYCH:

Cognitive Psychology and Its Implications 7TH 10 Author: Anderson, John

For 85-814 COGNITIVE NEUROSCIENCE:

No books listed.

For 85-421 LANGUAGE AND THOUGHT:

Language in Mind: An Introduction to Psycholinguistics 2014 Author: Sedivy, Julie

I'll update this with more books shortly.

For 15-386 Neural Computation:

From course website: http://www.cnbc.cmu.edu/~tai/nc17.html Trappenberg T.P. (TTP) Fundamentals of computational neuroscience, 2nd edition, Oxford University Press 2009 (required/recommended). Hertz J, Krogh A, Palmer RG (HKP) Introduction to the theory of neural computation., Addison Wesley 1991 (reference).

For 15-150: Principles of Functional Computation:

From course website http://www.cs.cmu.edu/~15150/ There is no required textbook for the course. All material we expect you to be familiar with will be covered in sufficient detail in the lectures and lecture notes. There is an optional (and free!) text which some students find useful, called Programming In Standard ML (PSML). This book is based on the lecture notes for the predecessor to this course, 15-212.

For CS 15-122: Principles of Imperative Computation:

http://www.cs.cmu.edu/~15122/syllabus.shtml No textbook, but uses C, Emacs, Linux.

For 15-381: Introduction to AI Representation and Problem Solving:

Artificial Intelligence: A Modern Approach, Third Edition (Typical at most schools for teaching Intro to AI/ML.)

For 10-401: Introduction to Machine Learning

Machine Learning, Tom Mitchell. (optional) Pattern Recognition and Machine Learning, Christopher Bishop. (optional) Machine Learning: A Probabilistic Perspective, Kevin P. Murphy, available online, (optional)

Do you call this Artificial Intelligence?

I dont call this AI, I call this automation.

I know AI is a buzzword, but unless something is trying to think, its not AI to me.

What they are talking about seems to be automation through lots of code.

But hey, I havent been keeping up with this field, not sure what people are calling this.

> additional course work in AI-related subjects such as statistics and probability, computational modeling, machine learning, and symbolic computation

How is this automation and not AI?

I probably wouldn't call it automation, but you could regroup all these under the term machine learning or data science and IMHO it would be valid. I think OP refers to AI as the autonomous agent type of AI. Conversation, understanding the world, moving & acting, planning & decision making, multi-agent collaboration, this type of stuff. Some of these might fall under machine learning, but I would say most are outside of the scope of machine learning -- and do not seem to be targeted by the so-called AI degrees. However, I think it's fine to call those degrees AI, because they are AI -- machine learning is AI.

The question is should we name this after the smallest denominator (machine learning) or the biggest one (AI). Also, in the short term future, more and more real AI (i.e., not machine learning) will probably be integrated in those classes, so why not skip one painful rebranding step.

To me "AI" means it learns by itself. Including the decision what to learn, and how. Having done quite a bit of statistics courses over the last few years (albeit with a focus on medicine/biology) and some of free the basic machine learning courses, AFAICS that is not the case, what and how something is learned is all decided and done by the human(s) in front of the computer, no? So, I don't see much "intelligence" - in the machine. Lots of it in those humans, of course.
But with the application of those diciplines you can build machines that "learn." The "by themselves" bit is agi which is a specific subset of ai and would be more on the research side of things, not a bs.

I think the real issue appears that the media has confused people as to what "ai" practically means from a compsci perspective.

> To me "AI" means it learns by itself

Your definition doesn't match the real definition. Technically, a hard coded rule-based decision algorithm is a form of very basic AI. You seem to be confusing ML and AI- ML is a subset of AI that focuses on training a complex model.

No I'm not confused, as I said, I took the courses. I know what is. I'm just saying that I don't see this as "AI" at all and why. I don't really care that someone decided to define what is possible now as "AI" for whatever reason because I don't agree and don't see that as reasonable. It's not like those "definitions" are laws either, ask around, even among professionals, and you get as many different definitions as you want. Therefore I prefer to use a "common sense expectation/interpretation" approach, and "common sense" here to me means coming from above (where we want to go), not from below (what we have thus far achieved).
I dunno what it should be called (including the possibility that "AI" is exactly right).

I do know that I focused on AI in my electives for UMich's CS degree circa 1990, and from the sounds of it the AI I studied will have literally nothing in common with what is described as AI for CMU's new degree.

AI's curse is that once it becomes mundane people call it "automation".

I think that having a focused degree in AI makes sense. I think that AI has reached the level of maturity that a separate curriculum should be made for it.

Just as we had no distinction between computer scientists and software engineers we now face a world where AI and or Data Science require a different focus on education.

My only thought on that idea is that it feels like an undergrad in AI is less useful in the sense that most AI positions prefer PHD over masters, let alone undergrad.
On the other hand, I've got a friend with a film degree pulling in decent money in Houston as a solo consultant (hiring contractors as needed (like me)), going from oldschool oil EPC to oldschool healthcare data analysis firms pitching "Big Data analysis" and "AI trained data modeling."

Mostly it's plugging .CSVs into google's cloud platform tools, but sometimes I get to peek at some homebrew R or python modeling stuff.

He (nor any of us that he pulls in for big projects) will never do research for MIT or OpenAI, but money is already being made in "AI." If his business ever explodes into a full blown company, these undergrads are exactly the kind of people he'd hire.

But this isnt AI. This is automation.

I have done automation in python and I never thought it was AI.

Any sufficiently advanced technology is indistinguishable from magi... AI.
(comment deleted)
Training an analysis model and then using it for further analysis is automation? Well then so is telling a programmer "find ways to add value to this company." Boom. Automation.

Mate no offense but I find semantics arguments super boring. The kind of work my friend does is exactly the sort of stuff they teach in AI courses. You wanna call it "bananabananafruitypoopoo" that's fine by me, "automation," sure, whatever.

(comment deleted)
Have you considered the possibility that what we call 'human intelligence' could result being only advanced automation?
That... is a cool degree name.

Still waiting for CMU to launch an Undergraduate Degree in Digital Currency, though.

lol. Undergraduate Degree in what-so-ever-buzzwords.
I can't tell if you are serious or sarcastic
I think I now know how the electrical engineers felt in the '50s and '60s.
What do you mean?
He's referring to the newly-created "computer science" degrees. The thought must be: why create a degree for a subfield of my field?
That was when computer science emerged as an academic discipline distinct from the design and implementation of computers themselves; up to that point, an electrical engineer probably had the confidence that they were at the forefront of technological change.
I think he's referencing the beginning of "Computer Science" degrees. Computers were researched by electrical engineers and mathematicians before.
Yes. My undergraduate diploma says "Electrical Engineering - Computer Science". Computer science wasn't a full department yet.
Mine says “Linguistics”. I took CS graduate courses, but there wasn't an undergraduate major yet.

My father-in-law had a math degree and was a math professor, and then an EE professor — the latter while he co-founded an AI lab, that hired physics major Richard Stallman and other non-CS-majors.

So that's what that feeling in my gut is. I'm struggling to find the time to learn ML/AI. This is another red flag to me that I should have been on this long ago.
I think it's time to say, as Arnold does, to break the rules and do this at work.
Can you extrapolate on this a bit more? I understand the meaning but it seems different no?
Expanding even more upon a reply to a sibling comment: I think it's possible (but not necessarily so) that AI and "data science" are emerging as academic fields and practical disciplines dependent on, but distinct from, computer science. I think this is similar to how computer science emerged as a distinct discipline from both electrical engineering and math.

Electrical engineering and hardware design didn't go away when computer science emerged - quite the contrary. One could be a computer scientist or a practicing software engineer without having a full backward in the underlying technologies (such as electrical and computer engineering, including computer architecture) and theoretical foundations (from the math side, although theoretical computer science clearly covers a lot of this). But for quite a long time, I think that computer science and the field of software were driving the most visible technological change in society and culture.

I wonder if that's no longer the case, and AI and data science are emerging "on top of" computer science. We may eventually have AI and/or data science academic departments that are distinct from the computer science department in a university. While there would certainly be an intersection of topics covered - just as there currently is with computer science and computer architecture and electrical engineering - I can see the needs of training a new AI and/or data science researcher and practitioner requiring a separate curriculum. I could see that happening if AI and/or data science become the dominant driver of technological change for society and culture in the same way generic "software" was during the latter half of the 20th century.

All of this is speculation, of course. But I think it's quite possible, and perhaps likely.

I think that the way computer science emerged from EE is totally distinct to what’s happening right now. CS eventually abstracted away all of the electrical engineering aspects of the discipline and as a result you need no knowledge of digital logic design to study computer science. AI/ML I don’t think will ever be this way; you will always need CS knowledge in order to experiment/run/optimize your algorithms.
Maybe! But I can foresee a future where this is not the case. I can imagine an electrical engineer in 1955 saying the same thing about software.
So I thought about that scenario, I just don't think an EE can reasonably say that circuit design is necessary to understanding assembly programming. Further, by the time CS departments were created, it was definitely obvious that CS was distinct from EE, at this point I definitely don't think it's obvious that AI/ML will ever be distinct fields from computer science.
Consider that in 1955 (the year I chose above), Fortran was still two years in the future. At this point in time, people were still wrapping their heads around the concept of a library of pre-existing routines that new programs could call. Compilers for algebraic languages pre-Fortran was even called "automatic programming" at the time. Also keep in mind that although the mid '50s was when software and computer science was emerging as a distinct discipline, it wasn't until the '60s that independent CS departments emerged and it took even longer for that to be the norm in most universities. Animats and osteele is a sibling thread have interesting anecdotes in this regard. So I think it's quite possible that electrical engineers at the time not seeing a future where people would think about software independent of hardware. (To see some documents from the time, I wrote about some my family had a while back: http://www.scott-a-s.com/grandfather-univac/)

I don't think it's obvious that AI and data science will be distinct fields from CS. I just think it's quite possible, and if it does happen, this is the time people will point to when it started emerging on its own.

AI is large enough a field to warrant a new, dedicated track. In practice, as of current times, AI R&D/academia are enabled (perhaps even fueled) largely by the "traditional" constructs of computer science.

In my opinion, as time goes by and advancements are made, the coupling should grow weaker - and so we'll reach a point where there would be a more clear distinction between the two tracks, and they won't share much of the same curriculum, similarly to where we stand today with CS and electrical engineering.

My undergraduate degree (from The University of Edinburgh) is Artificial Intelligence. I remember when I was visiting different universities in the UK back in 2000, Edinburgh was the only one I saw which offered AI as a "real" degree. Everywhere else it was a specialization which was tacked on in the final year of a computer science degree.

That seemed really odd to me then. Seems even odder now.

Could be worse, if you'd gone to Reading Uni around then you could have ended up with a Cybernetics degree from the Cybernetics department :)
Holder of "Artificial Intelligence & Cybernetics" from Reading here ;)
I'm curious to hear about your experience. In my mind, artificial intelligence can't be separated from computer science. In fact, I feel like you need a full Comp Sci degree before you can effectively apply your skills to real world AI challenges.
CMU seems to agree with that. Upthread bertjk posted:

"AI majors will receive the same solid grounding in computer science and math courses as other computer science students. In addition, they will have additional course work in AI-related subjects such as statistics and probability, computational modeling, machine learning, and symbolic computation."

I am currently studying this degree at the same university. A few AI concepts (NLP and Formal Language Processing) are introduced in the 2nd year. Other than that, all courses are CS/Maths. Keep in mind that at Scottish Universities, students apply directly to their degree and besides one or two courses per year (some like Medicine or Law often have no electives), students take only courses within their degree. This way, with most AI courses in 3rd and 4th year, students tend to have a strong enough grounding in CS principles and Maths for this material. That's not to say that the degree is perfect, or providing "real/production" AI, but it is certainly well done.

You can see the courses here - http://www.drps.ed.ac.uk/18-19/dpt/utaintl.htm

Oh cool, what year are you in?

If it's 3rd or 4th I was one of the judges at your systems design practical.

It's a little more complicated than I made it sound above. 50% of my curriculum was courses from CS department, the other 50% courses from the AI department. It was actually possible to do AI without doing CS at all, though. There were AI and Linguistics, and AI and Phycology degrees, for example. There was basically no crossover in languages used in the courses taught by the two departments. CS was mostly Java with some C++ and C. AI was Matlab, Prolog, a little bit of Python for NLP, and few other esoteric things. Some AI-side courses involved basically no programming at all ("Introduction to Cognitive Science" springs to mind).

That said: some of the AI students who didn't have to take any CS courses chose not to take the suggested ones... then had a really hard time in a few of the later courses. Computer Vision was brutal for them.

The situation is slightly different now. Edinburgh has a foundational "Informatics" (being the combination of CS, AI and Cognitive Science) curriculum. Students in those disciplines start with that, and then fully specialize in the later years of the course.

As a more or less completely unrelated side note: Sethu Vijayakumar, one of the judges for the last couple of seasons of Robot Wars UK, was my dissertation examiner.

Don't they teach Haskell to students as their first language now?

Sethu had an incredibly high dropout rate among his PhD students. I've heard stories about him publicly berating them at lab meetings - calling them stupid etc. Smart guy, but I'd never want to work with him.

Back in the 2000s - it was AI & CS (or SE) Joint Honours.

In 1st and 2nd year, you would do the same Maths and CS course as CS/SE; you didn't get an elective it was a separate AI course, which covered the basics.

In 3rd/4th year (honours years as they're called here) - IIRC you'd have to take 8 courses in 3rd (plus an individual project and a team project) and 6 in 4th and your dissertation. Depending on the degree specialisation; you had to take some mandatory courses (CS only had to do Compiling Techniques and Algorithms, AI/CS didn't have to do CT - but they had to do Algorithms and Computability and Intractability). So, the two departments were very closely aligned and then were brought together into a new department/school within the Science and Engineering faculty.

They also offer a single AI honours degree now, but the structure seems very similar to what I experienced, with perhaps a bit more freedom in 3rd and 4th year.

Interestingly, while the majority of students were AI/CS or AI/SE - they also had joint honour programmes outside the faculty - so there were a few students who were AI and Psychology as well as AI and Linguistics. I don't believe they offer this combination anymore.

For those who might not know, the University of Edinburgh had a department of artificial intelligence in the 1970s. They were very forward thinking at the time -- it later got folded into the School of Informatics, but Edinburgh remains one of the best places to work on AI/ML work.

edit: slightly awkward phrasing in my original comment above. Amended: They were (and still are!) very forward thinking.

I would be curious to hear how different this proposed CMU curriculum is vs what you had in the early 2000's.
Me too. I'm guessing they'll hear the word "perceptron" less than I did. Probably less Matlab and Prolog will be taught as well. I can't remember whether the Semantic Web course was CS or AI, but I suspect that won't come up, either. Fashions have probably changed enough that their probably won't be that much crossover.

For me at least, it depends almost as much on who's doing the teaching than it does what's being taught. Generally for me, the highlights were any course taught by Barbara Webb or Jon Oberlander.

>"Me too. I'm guessing they'll hear the word "perceptron" less than I did."

Why would that be? The Perceptron is very much a part of Neural Networks no? Wouldn't it be common now?

I understand about Prolog being a big part of AI curriculum from that time but why was the Matlab so heavy?

Back then perceptrons (single neurons with engineered feature inputs) were a lot closer to cutting edge than they are now.

As for why Matlab was used a lot: because it comes "batteries included", I suspect. Probably the same reasons that Andrew Ng used it as the teaching language for his Stanford/Coursera Machine Learning course. Plus a lot of my lecturers had maths backgrounds.

I am from the United States, next year I am probably going to attend the the University of Edinburgh for The Computer Science and Artificial intelligence course. Something I have been wondering is how US employers view the university, particularly with the somewhat strange (at least in the US) course title - "Artificial intelligence?"
Are you considering doing a foreign year, or your whole degree in Edinburgh?

I can only speak for my current employer (Google), who look very favourably on degrees from Edinburgh. It's one of the four UK universities we recruit from directly.

As for the course title, there's also "Computer Science" in it, which people can latch on to if they need that. When people asked about the AI part of my course I would say "Software Engineering is 'This is what works', Computer Science is 'This is why this works', and Artificial Intelligence is 'I wonder if this works'".

Thanks, that is good to know. I am doing a whole degree there. I am not sure how recruiting works at Google but when you say Google do you mean London or US based offices? Obviously I don't know what I will want to do in 4 years but I anticipate moving back to the US after I graduate.
Is CMU trying to compete with Udacity? I personally couldn’t take a degree in AI seriously.
How many jobs could you get with a Udacity certification versus an actual bachelor's degree? On that note, how many people took the AI classes at Udacity after getting an undergraduate degree at a 4-year institution?
I took the Udacity Deep Learning Nanodegree after a masters in CS. It was really fun, and I would highly recommend it.
(comment deleted)
Are you really comparing CMU with Udacity?

That's like comparing any Ferrari model with a Corolla. Not saying Udacity is bad. I mean a Corolla is a great, cheap, pragmatic and utilitarian car, just like Udacity is a great, cheap, pragmatic way to learn academic topics.

But you really can't compare the two things. Carnegie Mellon and Udacity are extremely different and non-comparable in any rational way.

(comment deleted)
This feels like a more useful CS degree, IMO. I don't do anything like machine learning, but for both scaling backend services and building day-to-day business logic, I've gotten a ton of value out of knowing stats, logistics, and a certain amount of pattern recognition (ah, how terms go in and out of fashion). Take this stuff instead of the other sorts of electives I was picking from - UML Modeling, for instance - and I think you'll be set up with a good broad base for understanding both code and machine learning applications, but also broader decision-making at a business level.
You had a whole class dedicated to UML Modeling? That makes me laugh, I know it gets very complicated in high level java applications, but man that feels like a waste of time.
In theory it was "system design" or somesuch.

In practice we learned nothing particularly useful what to take into account when deciding where to draw boundaries, and just focused on what was easy to represent in UML.

I once co-wrote a book on UML, and I also think that nature class in UML is not a good idea.

I still sometimes use UML sequence diagrams though.

Same. I hope I was the last generation of "OO waterfall design is the pinnacle of software engineering" thought.
AI has always felt like a buzzword to me, but I have to admit, I really like the approach taken by the AI course that I took and Peter Norvig's textbook: https://en.wikipedia.org/wiki/Artificial_Intelligence:_A_Mod... .

Mostly, I like the focus on breaking down the problem domain in a logical way, so you can decide on which approach to take. The problem with the other courses I took (Machine Learning, Statistics, Computer Algorithms) is that they are so focused on solving specific problems that they often didn't adequately define the problem domain. I'd really recommend both Norvig's books to anyone interested in AI (in the broad sense).

I used Norvigs book in high school this past year for an independent study and it was a great help. Doesn’t require too firm a grasp on advanced mathematics to understand the major concepts presented, so I think it’d be perfect for undergrad.
(comment deleted)
(comment deleted)
"AI majors will receive the same solid grounding in computer science and math courses as other computer science students. In addition, they will have additional course work in AI-related subjects such as statistics and probability, computational modeling, machine learning, and symbolic computation."
And it will still look less beneficial than a standard comp Sci degree unfortunately. The only good part is that the school is pretty prestigious, so not as bad. Hopefully we don't have another AI winter.
CMU alumnus here (SCS & LTI). I don't see the degree a looking less beneficial, but I'm biased. CMU has perhaps a unique way of handling CS education. When I was there about. 20 years ago the CS department required you to have a minor and strongly encouraged a second major.

Most core CS work can be completed by the end of your sophomore year. There's not a lot of fundamentals. After that you can go for breadth of topic matter (embedded systems, networks, AI, cryptography/security, distributed systems, etc), as was the case for me. This degree seems to give more depth in regard to ML.

You're right about the prestige of the school. 15 years after getting my degrees I still get fast-tracked for interviews. So I feel the coursework matters very little when it comes to being recruited. That being said, the majority of the material I learned hasn't been used in my career. It's largely the way they teach you how to think and solve problems that companies familiar with CMU value.

CMU Alum here (though I was ECE) - this description seems to make sense, all the 200 level courses are also CS reqs.

I was also surprised to find out they brought 15-151 (Math Foundations of Computer Science) back.

A long long time ago, I got a Bachelors degree in Logic and Computation, with a specialization in Computational Linguistics from the Humanities and Social Sciences Department at Carnegie Mellon. Seemed to be the closest thing to an "AI" degree on offer at the time, from my undergrad perspective.
As of recently, CMU had a Human-Computer Interaction track, which I know a lot of HSS students took.
There's an entire second major (and minor) in HCI, now :-)
Looking at the course list (https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...), I'd struggle to believe that students are going to come out of this strong enough to be effective in AI. I never went to CMU, so I don't know how rigorous the "Modern Regression" course is for actually getting people sufficiently well-grounded in statistics to be able to overcome p-hacking and similar fallacies in analysis. I also would much like to see some sort of capstone project showing that the student can actually pull the AI together to make something complete, rather than having a merely theoretically background.
How is that different from any other Undergraduate program. At the end of the day undergraduate degrees are like the bare essentials of education - there is a life long journey of learning in any technical field.
The short of it is that AI isn't an undergraduate-level specialization. Having a demonstrated capstone project, a full system that someone could point to when in an interview, would go a long way to ameliorating concerns. Masters degrees generally have a thesis that qualifies, and it wouldn't be hard to make a senior project be a requirement for an undergraduate degree (my CS department had such a requirement).
I took Modern Regression at CMU for my Statistics minor: yes, it's rigorous, with an emphasis on linear regression (and the necessity for proper p-value handling), with plenty of matrix algebra and statistical theory.
CMU stats courses are stellar - especially this one, which was written by Cosma Shalizi, I believe
I am admittedly somewhat biased, since I have a Bachelor's in CS from CMU, but I'm not really seeing anything problematic here. (Not to mention, many CMU students will take on minors as well, though I'm totally blanking on whether a minor is required.)

Modern Regression is a 400-level statistics course at a school that values statistics and AI.

Many of the higher-level electives will involve sophisticated projects--not 2 semester capstones to be sure, but month-or-longer open ended projects.

Not really sure what you're expecting out of undergrad programs, to be honest.

I love the ethics requirements. My current uni doesn't have this and I'm so glad I took it at the college I attended as an underclassmen. The different ethical theories apply so well to a lot of work being done in computer science.
My traditional CS curriculum had ethics as the capstone. Do most CS programs not do this?
I almost wonder if they're under-required. At most one required from a set of three? Is that going to keep Skynet at bay? ;)
I'd love if they had a psych component that involves getting IRB certified. (Maybe mandate experimental psychology or a social science methods course - most psych departments have one for undergrads)

The IRB certification process alone delivers more practical education on ethics (and what has happened in the past without them) than many formal courses in the subject.

This seems like a publicity stunt. It sounds like a CS degree where the electives are predetermined. Why couldn't they just make this a concentration when it's so intimately intertwined with CS.

The extra overhead graduates will have to deal with doesn't seem worth it.

"AI majors will receive the same solid grounding in computer science and math courses as other computer science students. In addition, they will have additional course work in AI-related subjects such as statistics and probability, computational modeling, machine learning, and symbolic computation."

They even say "other computer science students".

> It sounds like a CS degree where the electives are predetermined

This is offered through CMU's school of computer science (SCS), so that is exactly what this is. CMU loves creating new sub-departments with SCS, for some reason, there are already 7 or 8.

It's not just predetermined electives - it removes several of the CS upper-division breadth requirements to allow more depth in AI/ML/stats. (I posted a comparison below, so won't repeat it here.) It's a pretty decent change to serve the students who really want to push more on ML.

The key thing to look at is what the CS major requires that the AI major doesn't -- in 8 semesters, you can only fit in so many classes.

I looked at your description, and compared the requirements myself.

I'm even more convinced this is for publicity (or other political reasons). There's nothing there that couldn't have been done by very slightly altering the CS requirements.

If CMU had done that instead, students would have the ability to take more AI classes, but they wouldn't be at a disadvantage if they decide (or need) to work in another field of CS.

CMU doesn't generally craft their degrees for industry-marketability; even the CS degree operates under somewhat of an assumption that they're training you to be a CS grad student or professor, not a software engineer. You can find your way out of that program without ever having touched C++, for example.

I think you're greatly underestimating how much different the CS curriculum would become if they tore out functional programming above 15-150, OS, and Networking.

Consider the flipside: if they bent the CS degree instead of introducing a new AI degree, could higher-learning institutions continue to trust that a CMU CS undergrad had a solid foundation in functional programming, discrete mathematics, and systems theory?

>CMU doesn't generally craft their degrees for industry-marketability;

I don't think a CS degree should be a trade program, but avoiding actively harming students job prospects by adding a few more electives isn't quite the same things as crafting their degrees for industry-marketability.

>they tore out functional programming above 15-150

I'm looking at the requirements for the BS in CS right now. I don't see any function programming requirements above 15-150.

>OS, and Networking

It looks like neither is required right now. Here's the relevant section.

    Choose 1

    15-410: Operating System Design and Implementation

    15-411: Compiler Design

    15-418: Parallel Computer Architecture and Programming

    15-440: Distributed Systems

    15-441: Computer Networks

    Others as designated by the CS Undergraduate Program
> if they bent the CS degree instead of introducing a new AI degree, could higher-learning institutions continue to trust that a CMU CS undergrad had a solid foundation in functional programming, discrete mathematics, and systems theory?

Looks like the functional programming, and discrete math requirements are the same.

Systems is an overloaded word, so I'm going to assume you mean software systems, since that requirement is what is removed. The systems requirement is already just chose one from above list. I don't think taking 1 network class means you have a solid foundation of systems theory.

I stand corrected: since I took the curriculum, functional programming requirements seem to have been substituted with an option to do higher-level systems-engineering electives (such as 15-414). And the systems elective has been expanded to include parallel and distributed systems.

The key difference on the deep-theory side is that CS and AI appear to swap out deep-diving into discrete math for deep-diving into statistics and statistical modeling. I'd consider those different enough to warrant separate degree tracks, personally.

(Your opinion of networking is noted but I do not share it, being somewhat familiar with what that course asks of students. It's every bit as preparatory as its sibling 15-410 class ;) ).

>The key difference on the deep-theory side is that CS and AI appear to swap out deep-diving into discrete math for deep-diving into statistics and statistical modeling. I'd consider those different enough to warrant separate degree tracks, personally.

What discrete math classes were removed from the AI degree?

>(Your opinion of networking is noted but I do not share it, being somewhat familiar with what that course asks of students. It's every bit as preparatory as its sibling 15-410 class ;) ).

I looked over the syllabus and assignments for a section of that class. It looks like a bog standard networking class (bog standard for top tier schools that is). It's an elective. You can take an OS class, a compilers class, or a networking class. I don't think there is some intersection of knowledge/skill between those 3 classes, the absence of which would give higher-learning institutions pause.

My institution required that you take both an OS and a networking class before being admitted for graduate study. It's one thing if they require OS, and networking, and compilers. That they don't do that says to me that they don't consider them critical classes, since any given graduate could be missing any 2 of them.

We actually have a set of criteria for what makes a qualifying systems elective. As with many things at CMU, we don't generally care what details you learn. We care greatly what higher-level concepts you get exposed to, and the systems courses are the place we try to focus on the development of abstractions; modularity; isolation; reasoning about failures and complexity; integrating security concerns. They're also the courses where students are required to work on projects large enough to blow out their cache -- multi-week or month projects that force you to think reasonably about how you divide your design into pieces so that you can coherently reason about the ensemble.

We're pretty much equally happy if you hit layering in the network class or thinking about the filesystem and kernel VFS layers in the OS class - or the modular structure of a modern compiler. Tackling the idea of reliability through replication in distributed systems (via a lot of different mechanisms, but with a decent dose of Paxos), or via the Reliable Storage module in 15-410, or in DB. Getting additional hardware architecture exposure through compilers or the parallel class. Thinking about communication using a fast local interconnect (parallel), the internet (networks & DS), or IPC (OS). Compilers can be more or less of a systems course depending on who teaches it, but it's generally got such a strong architectural component that it flies.

It's much like programming languages. We don't care much if you graduate knowing a particular language -- any CMU CS graduate should be able to pick up a new language in short order. We care greatly that you've been exposed to a mix of programming styles and thinking -- imperative, functional, and logical or declarative, and can successfully use those tools to reason about code, program structure, algorithms, and data structures.

So no, we absolutely don't consider it critical that you take any specific systems course, but we do consider it critical -- for the CS major -- that you be exposed to the broad set of systems concepts we teach in them. That's why we start them in 15-213 and then reinforce them with one upper-division systems elective requirement.

>It's much like programming languages. We don't care much if you graduate knowing a particular language -- any CMU CS graduate should be able to pick up a new language in short order. We care greatly that you've been exposed to a mix of programming styles and thinking -- imperative, functional, and logical or declarative, and can successfully use those tools to reason about code, program structure, algorithms, and data structures.

I completely support this philosophy.

> Compilers can be more or less of a systems course depending on who teaches it

So what happens when it's less of a systems course? Do students taking that section lack a critical component of the CS major?

We encourage it back towards systemsy-ness. ;). (in other words - nothing's perfect, and we accept some occasional compromises in service of providing a diverse menu. Compilers has other value. If it got too PL-centric, we would just move it to the PL cluster, but it's generally stayed systems for the last decade.)
15-210: Parallel and Sequential Data Structures and Algorithms, which is still required, is purely functional.
That class is also required for the AI degree.
That's actually what I meant, but used the wrong phrasing - I can't edit it, unfortunately.
The logic and languages cluster, while not exclusively a functional programming set, practically covers a lot of what one might think of as upper-division FP concepts. Foundations of PL and Semantics are bread and butter PL theory, for example.
But none of those are required in that section. You could take Software Foundations of Security and Privacy, or Foundations of Cyber-Physical Systems.
Funny you'd pick those two. :-)

Software Foundations includes, for example, the use of type systems to ensure bug-freedom, program semantics, and more. Matt Fredrikson focuses on the intersection of formal programming languages research and security. For example, lecture 3: https://15316-cmu.github.io/lectures/03-safety.pdf

Cyber-physical is one of the hardest classes I've ever seen. Seriously - it combines very solid differential mathematics with logic and formal verification. It's a different set of skills than Semantics, but it combines a really solid dose of the same kind of logical and proof-centric thinking that advanced PL courses do. And rapidly runs into the logical underpinnings of both fields. For example, lecture 13: http://symbolaris.com/course/fcps16/13-diffchart.pdf

(In large part, this is because the course relies on identifying PL-style semantics of differential systems, and thus, students in the course end up being exposed to nearly identical proof methods as they do in the more straight-up PL semantics course, in addition to a lot of differential equations.)

It does look like there are portions of those classes that are similar to a PL semantics course, which in turn covers some of the concepts you'd cover in an upper-division FP course. It's still a bit of stretch.

After I looked over the assignments for a section of Software Foundations, I don't think that taking an AI class instead would make much of a difference when it comes to having a solid foundation in functional programming, which is what the GP was talking about.

(comment deleted)
(comment deleted)
As a CMU professor, in case it wasn't clear: We, in general, felt fairly strongly that we did not want to radically alter the meaning of a CMU CS degree, i.e., that our B.S. in C.S. students do come out with the degree having hit some depth in systems, in PL, in algo and theory.

We also felt fairly strongly that supporting students who wanted something different from their education, which still falls under the broad CS umbrella but is different in some important ways -- was important.

These things are surprisingly hard to juggle. Eight semesters, four courses per semester, juggling cross-university requirements, some amount of personal electives and fun, and an intensive set of major courses, doesn't actually leave much wiggle room, especially when you include the prerequisite dependency graph of those courses.

Hence, it's a different major, because it reflects a quite different set of skills that {employers, grad schools, whatever} can count on the graduate knowing.

(There's also value in providing a roadmap for sequencing these things, again because of the prerequisite chains, but I concur that that alone isn't a reason for a major.)

And yes, of course it's all a continuum. We call AI a separate major, alongside things like HCI and computational biology. We don't have an "operating systems" major. If you like systems a lot, you still have to take all the normal algo/PL/etc. breadth requirements.

It's all a judgement call. The feeling here is that AI/ML are starting to contain a sufficiently different set of core skills that it was worth breaking them out into their own major instead of just saying "eh, go take some electives, and try to fit in all of your interests while _still_ taking all the other CS classes." Because that's what we used to suggest, and the students rightly pointed out that it wasn't possible to do it right within the existing degree framework, at least, if you wanted to sleep.

>we did not want to radically alter the meaning of a CMU CS degree

That's just it. No radical alteration was required. You're already saying that: "AI majors will receive the same solid grounding in computer science and math courses as other computer science students." But if CMU had added a new concentration or specialization to the existing major this story wouldn't be on the front page of HN.

There is no way that at some point in the discussion "This will be a big publicity win for us" wasn't brought up by someone.

In general I think it's bad advice for undergrads to pursue hyper specialized degrees. I think it's a bad idea when engineering schools do it with things like robotics engineering, and I think it's a bad idea when CS departments do it with AI. Specialization is what grad school is for--this isn't the UK. I also think that schools that offer these degrees are doing a disservice to their students.

Well, that's basically what Computer Science degrees started out as, right? An Electrical Engineering degree with a bunch of software related electives? Even now, at UC Berkeley for example, "EE/CS" majors can choose a set of courses that end up almost exactly matching what the "CS" majors take, with not necessarily more EE. It's really just a narrowing of the electives.

There are enough AI related courses available now at many schools that it seems useful to separate "more general Computer Science" from "a focus on Artificial Intelligence", and similarly I think there's room for a separate major in "Software Engineering" as opposed to theoretical computer science.

I would love the people who down voted to reveal why.
Many CS programs came out of Math departments (that was the case in my program).

To me, it's more a difference in degree than kind. To be effective with AI you basically need the equivalent of a CS degree anyway. The same isn't true with EE/CS.

For me this just looks equivalent to adding a new major for every sub field of electrical engineering. Signal processing, digital circuits, analog circuits ... truth is a CS major could go take the same classes and a computer engineering student could also.
I think there's just a (subjective) point where a field is different enough that it's worth distinguishing from the rest. I could see Signal Processing being a different major than Electrical Engineering, and digital circuits is basically Computer Engineering.
It might not be the perfect curriculum yet, but not every CS course should be necessary to be good at ML/AI (compared to no need of knowing electrical engineering or physics while studying CS).
It's always this way when new fields start. Give it time. AI leans harder on areas of knowledge that traditional CS treats as periphery like philosophy and linguistics. In a couple decades the field could be as separate from CS as EE is.
I agree, but I think this also supports the parent argument. CS and EE are not very different at the undergraduate level.
They certainly are at UT Austin! But UT Austin has a separate Computer Engineering degree that's very similar to EE.
That's right, and that's harmful to people who want to "higher up the stack" than EE. This new major helps address that problem.
They were at Waterloo, my alma matter. CS was far more mathematical and EE had a much broader basis in physics. Comp Eng was the middle ground with overlap on both.
It sounds like a CS degree where the electives are predetermined.

If history is anything to go by they will graduate right into an AI Winter.

you mean that blind optimization of a black box might run into problems that can't be solved by "adding more layers"? I would never have guessed.
It shifts the core of the curriculum much deeper into the statistical mathematics and away from the "how the bare metal works" and forest-of-languages pieces of the CS undergrad degree. In particular, you can't generally get the CS undergrad degree without cap-stoning your experience with either a networking or operating systems course; this new degree omits both of those from the curriculum (but adds machine learning, modern regression, and a cap-stone of either natural language processing or computer vision).
It's a few classes. There is no reason they couldn't have just changed the requirement to OS, Networking, NLP, or computer vision. And made the ML and modern regression classes prerequisites for the NLP and computer vision classes.

A few very minor tweaks to the CS requirements is all it would take. But you wouldn't get the fanfare of launching a new major.

The advantage for students is that if they decide to pursue some other CS discipline, they don't have to explain their weird degree.

(responded to similar thought on a different thread)
(comment deleted)
Did you not bother looking at the curriculum before making a comment about the curriculum?

https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...

I looked over the curriculum pretty thoroughly. Look through some of the other comments in this thread to see a more detailed look at the differences.

If you look over the curriculum and compare it the BS CS curriculum you'll notice there's nothing that couldn't have been done as a concentration.

> It sounds like a CS degree where the electives are predetermined. Why couldn't they just make this a concentration when it's so intimately intertwined with CS

Unless they really mean "CS-degree with surface level knowledge of stats" this should really be an offshoot of the math/applied math department, not CS

What's most interesting about this list are the wide range of courses offered for undergrads in the topic (that is, assuming they are regularly offered) -- a very impressive list. Other schools will be hard-pressed to offer something so diverse and interesting.
That is so awesome. I think it is very valid to do so.
I think its interesting that Deep Learning is just one course in a cluster of electives. To read recent press you might think that's all current AI is.
This looks good (which shouldn't be surprising coming from CMU). I'm kind of impressed by how similar this was to my undergrad curriculum (focusing on AI/ML and CS theory). Looks like a fun program.

Also wow, Great Theoretical Ideas in Computer Science[1] is a hell of a course. Induction, DFAs, matchings, TMs, complexity, NP, approximation and randomization, Transducers, crypto, and quantum algos. That's a lot of material, even if most of it appears to be only introductory level.

[1]: https://www.cs.cmu.edu/~15251/schedule.html

yeah, it's rather notorious at CMU for being particularly challenging and fast-paced, especially for a freshman course. sometimes called "two-fifty-fun"!
I'm getting a panic attack just reminiscing about it.

213 and 251, the twin terrors.

That course (15-251) is somewhat controversial among CS students (at least it certainly was when I was there) in that its primary goal in the curriculum seemed to be to act as the weedout course, since as you observed it covers a ton of material in little depth. It is typically taken 2nd semester freshman year, and I know at least 3 people my year who dropped out of CS from it :(
“250fun”, as we ironically called it. It was intense, but the topics were covered in a very interesting way.
If you are an undergraduate in computer science these days, it is very hard to get into advanced AI/ML classes, which are typically reserved for graduate students. Back before the ML goldrush, a strong CS undergrad interested in AI could elect to take advanced coursework beyond the introductory AI class. Nowadays, good luck getting off the waitlist! Having an official "AI major" does at least tell students, "Hey, we are making it a priority that undergraduates have access to our rich AI curriculum."
While there may be a lot of demand for AI/ML, I’m concerned to whether there are enough students with the proper foundations in math and stats to do well. New classes such as Data Science seem to just instruct students how to use algorithms and not why.
Looking at the curriculum CMU has put together (https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...), I see statistical fundamentals in the Math and Statistics Core. I expect it should handle the why and the how.

(... though I get the sense from the outside looking in that a lot of machine learning at this point is still a little bit alchemy, so there may not always even be a firm "why" answer to give. All the more reason to give students firm general fundamental groundings so they can seek out those answers).

(comment deleted)
I see students that graduate with degrees in CS/IT to fill the demand. Quality has declined... Translating to AI/ML I would assume the same. I think CMU would retain quality, but the local universities will start churning out AI degrees like butter.
Are you talking about undergraduate courses, or non-accredited certificate courses? We've had stuff like A+ / Cisco / Java certifications for decades. They fill an important niche, but they aren't how industry leaders are trained.
Only referring to my experience as an undergrad: most students seemed to be turned away by the mathematics.
So in CMU it's quite easy to get into grad classes and you can start doing it as a freshman - there are generally a number of juniors+ in masters/phd classes
Honestly, consider the flip side as well. This is just going to inflate the bubble more and create more unqualified candidates. AI degree means they're going to be churning out candidates who don't know what tcp is or what context switch means. Also, the guy with the (graduate or PHD) AI degree from CMU, before this, handing you his resume, may have studied functional analysis and convex optimization in addition to learning about SVMs. The new guy did not, but he'll be have a checklist of when to use an SVM and when not to, and be pretty good at python. So, in a way, it's deflating the intellectual rigor of the field even further, considering CMU's reputation. Of course, they think it's beneficial to their CS program for whatever set of reasonable reasons we can likely guess at.
How many people really need to know functional analysis to practice machine learning? How many developers need to know TCP coming out of school?
(comment deleted)
You're reading that into my post. Most do not need to know functional analysis. Some absolutely should. My point is not that one needs to know functional analysis to get a machine learning job, its that one of the top AI institutions is decreasing the intellectual rigor of its "average output" in that domain.

I find it scary that you're asking the second question. I think any accredited university handing out CS diplomas should make sure their graduates know what TCP is, especially CMU, which will theoretically be sending its graduates to good companies

> candidates who don’t know what TCP is or what context switch means.

Nope, look at the curriculum again.

Are you trolling?
I did my undergrad in CS at CMU, and have first-hand experience of what’s covered in the core courses, which are also requirements for this new program.

Perhaps you should take a look at the curriculum again like I told you, instead of spewing out falsehoods like “churning out candidates who don’t know what tcp is”.

You’re not entitled to your own facts.

https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...

I see an Introduction to Computer Systems course which looks like the only thing that could potentially teach networking, but from looking at the curriculum, it does not. Can you please find the course on this list that teaches networking, even if it isn't in-depth?

(comment deleted)
15-213 Introduction to Computer Systems is the one. Anyone who passed that class knows what context switching means, and what TCP is.

Whether they still remember it many years down the line is a different matter :)

I stand corrected; there is a lecture referencing networking that I missed upon first glance
At CMU you took no courses in operating systems? Algorithms? Computer hardware or logic? Compilers? Graphics? Databases? Web programming? Distributed systems? Networks? Parallel/HPC? Language theory? Security/crypto?

Because these students will take none of these courses, they will differ significantly from those with a BS in CS. But their AI skills still won't run deep enough to make them expert there either. At best, they'll be conversant with a couple of foci in AI, but not in many other AI areas.

In fact, this program seems custom made to prep for work most typical at Google, Facebook, Microsoft, and not that many others -- doing pattrec forms of ML on large data. Yet they'll lack the skills typical of today's data engineers (basic ML plus HPC/distributed/throughput, networking, and DB /sys admin) or typical of data scientists (nasic ML with a BA in statistics, plus facility with RDBMSes).

Will the absence of these CS skills hamper their competitiveness one day in most mainstream general computing software jobs? I think it probably will.

Therefore, if those with this degree don't spend their entire careers working only in big data areas of AI, they will likely will be at a competitive disadvantage to those with broader skills in CS.

> At CMU you took no courses in operating systems? Algorithms? Computer hardware or logic? Compilers? Graphics? Databases? Web programming? Distributed systems? Networks? Parallel/HPC? Language theory? Security/crypto?

The core that's required in both programs (15-122, 15-128, 15-150, 15-210, 15-213, and 15-251) is very broad and touches pretty much all of those areas. To be clear, hardware design isn't covered there, but the (x86-64) programmer's side of memory management and the CPU is covered well.

Other than algorithms, dedicated courses in all of those areas are offered as electives and you pick some of them. I recall taking OS, security, digital design / RTL (which was actually in the ECE department), web, and logic - but I could have subbed OS with Parallel/HPC, for example. The BS in CS curriculum[1] requires enough free and area electives that students gain depth in several of those areas.

> Because these students will take none of these courses, they will differ significantly from those with a BS in CS.

The BS in AI curriculum[2] only requires two CS-wide electives, so students in that program will indeed have depth in fewer of the areas. This is why these students will receive BS in AI degrees, to differentiate them from those who receive BS in CS degrees. I think you're in agreement with CMU's decision here?

That said, with the broad base of the core classes like 15-213 and the second half of 15-210, plus implementation details covered in the AI/ML courses, I'm sure no graduate of that program would struggle with HPC, networking, or DB/sysadmin in the workplace, or in a graduate program in AI.

Ultimately, there's only so much you can fit into four years, but I'd bet it would be easier for someone from this new program to deepen their skills in those areas, than it would be for most BS in CS graduates to add ML skills.

[1] https://csd.cs.cmu.edu/academic/undergraduate/bachelors-curr... [2] https://www.cs.cmu.edu/bs-in-artificial-intelligence/curricu...

Having graduated with the CMU CS undergrad: if I could go back in time and replace about 80% of the language theory classes that were mandated by the curriculum with regression and machine learning modeling classes, hell yes I would.

(And this is coming from someone who TA'd one of those language theory classes ;) ).

That I will agree with!
Is an understanding of TCP necessary to do AI/ML? As someone who does work in ML (and has no formal background in CS but in physics), I see it as being mostly a combination of statistics and numerical computing. CS concepts outside of algorithms don't really come into it all that much.
Very large models train and evaluate across networks. Data pipelines are built across networks. You are a large handicap to a small team if you don’t know how networks work. I think a physics background is nothing more than checking off the math checkbox, which is certainly important
I made the mistake my sophomore year at CMU of enrolling in a graduate-level economics class called "Game Theory" because I got my course prefixes incorrect, and assumed it was a CS class about video games.

I am now much more versed in Nash equilibria than I ever thought I'd be, but damn, that class took a chainsaw to my GPA.

(comment deleted)
Ha! Grad school at CMU took a chainsaw to my GPA after 1st year. Studying 16h/day and still didn't have enough time to complete all assignments and understand the material.

Awesome school though, would do it again.

Serious question, from someone who hasn't had to do it: how is it possible to do productively study for 16 hours a day? Controlled substances? I don't last that long even on occasion, much less regularly.
All joking aside, CMU does very much have a problem with promoting and fetishizing a culture of stress.

I only have anecdotal evidence of this, but more so than just about anywhere else, CMU as a university prides itself on a very difficult workload and a lot of the solutions that students come up with are extremely unhealthy.

I have personal experience (EE,CE,AM '88). CMU sucks in terms of student experience - at least then it did. At least the physical plan is far superior now. The place was fugly in the 80s. The teaching was weak. I felt that I was paying for a reputation.

And on top of that, in our freshman year they had us all come to an auditorium to tell us this: "Sorry, we have to fail half of you out because there are too many of you. Look to your left and then to your right. Those two students will be gone." Any EE in that class can testify to the truthfulness of what I say.

I'm curious too. I've done controlled substances for studying and still can't do 16 hours a day.
It is not productive to study for 16h/day, or even 10h/day for an extended period. It is not only less effective for sustained learning or intellectual work than spending less but more focused time, it also leads to physical and mental health problems, and sometimes results in severe burnout.

The problem is that (a) students are young and many of them are quite inexperienced with managing their own time and work, (b) students are so stressed and sleep deprived that it is hard to introspect about process or get into a productive rhythm of focused productive work alternated with rest, and (c) there is often a workaholic student culture which creates peer pressure and presents the illusion that staring at a textbook for hours while already half asleep is the mark of a good student. For grad students (especially foreign students) sometimes there is additional pressure from abusive advisors.

It’s sad that e.g. MIT’s unofficial motto is “I hate this fucking place”.

Unfortunately the same kind of culture extends into some people’s professional lives. I dated a lawyer for a while who was a few years out of law school and working for a big firm, and with all the hours she needed to “work” and the few hours she could sleep each night her ability to think through complicated legal arguments or write briefs was severely compromised; sometimes she would be “reading” for an hour before bed with her eyes half closed, barely able to parse the words on the page. But that’s what the firm expected (and by their standards she was performing well), so she felt she had no choice.

Everyone takes Adderall. Not just that, but a lot of the time is spent explaining things to your classmates, getting answers to match our expectations, etc.

So it's not like 16 hours of reading and trying to understand the material, more like 16 hours of school work.

I've always wondered: is the information retained successfully in the long term even if acquired using Adderall?

I have taken Adderall for a few months, and I developed serious memory gaps. I have little recollection of several events during that time.

What's it like with Adderall? Does it impact your sleep cycle, or just allow you to concentrate?
I did the same thing as a grad student in chemical engineering — I thought it would be fun to take graduate-level quantum field theory as an elective. Despite the blow to my GPA, I really enjoyed the course and don't regret taking it at all.
Depends on the school. At a good school you can generally always find the classes to learn what you want to learn.
(comment deleted)
Couldn't the same be accomplished with a minor or concentration as is common in many universities?

(Registering formally for a minor gives you preference)

I don't really have an issue with this degree, but I think it's mostly a marketing ploy to have a "major in AI" versus "AI concentration" or "AI minor" (set of electives alongside the normal CS degree)

What's the "ploy"? It's got about 4-6 more on-focus classes than a traditional "minor"
This. I think people forget that majors are also an operational consideration.
The problem with CS education in general is that it's very hard to get teachers, since anyone who can teach CS could earn 2-100x the income in industry.
> "Hey, we are making it a priority that undergraduates have access to our rich AI curriculum."

Maybe these AI classes will be reserved for AI majors, so regular CS majors still have to pray for getting off the waitlist.

>include a strong emphasis on ethics and social responsibility
This should be for all CS majors, not just those in AI
Carnegie Mellon was the first university to offer a PhD in Machine Learning (via the Machine Learning Department which, again, I think is relatively unique in its existence). Regardless of how you feel about the hype, they made an early bet on the field and adding an undergraduate degree seems consistent.

Source: https://www.ml.cmu.edu/about/index.html

What I don't yet understand is how this new AI program differs from machine learning. Is AI about broader questions about conversational interactions and interpretability, closer to the Lisp heydays of 5 decades ago, or more about applications than theory?

Edit: years to decades

From the article:

> The bachelor's degree in AI will focus more on how complex inputs — such as vision, language and huge databases — are used to make decisions or enhance human capabilities

My understanding is that AI is more about applying ML concepts to mimic human intelligence.

so... what will we call a graduate holding such a degree?
A CS degree with an AI concentration closer to that of a masters student than an undergrad. While I think the importance of this degree is small, there are jobs that will prefer that.
It seems similar to when universities started spinning out stats degrees as separate from math
My degree was in Computer Science & Artificial Intelligence way back in 1998 at the University of Birmingham (UK) - interesting to see not that many places offered it until recently.

Good to see that other undergrads are going to have access to AI/ML courses rather than them being solely for post grads.

> providing students with in-depth knowledge of how to transform large amounts of data into actionable decisions.

That is a depressing definition of artificial intelligence.