Carnegie Mellon Launches Undergraduate Degree In AI (cmu.edu)
Earlier this week, Carnegie Mellon University announced plans to offer an undergrad degree in artificial intelligence. The news may be especially attractive for students given how much tech giants have been ramping up their AI efforts in the recent years, and how U.S. News & World Report ranked Carnegie Mellon University as the No. 1 graduate school for AI. An anonymous reader shares the announcement with us: Carnegie Mellon University's School of Computer Science will offer a new undergraduate degree in artificial intelligence beginning this fall, providing students with in-depth knowledge of how to transform large amounts of data into actionable decisions. SCS has created the new AI degree, the first offered by a U.S. university, in response to extraordinary technical breakthroughs in AI and the growing demand by students and employers for training that prepares people for careers in AI.
The bachelor's degree program in computer science teaches students to think broadly about methods that can accomplish a wide variety of tasks across many disciplines, said Reid Simmons, research professor of robotics and computer science and director of the new AI degree program. 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, he added. 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. Simmons said the program also would include a strong emphasis on ethics and social responsibility. This will include independent study opportunities in using AI for social good, such as improving transportation, health care or education.
The bachelor's degree program in computer science teaches students to think broadly about methods that can accomplish a wide variety of tasks across many disciplines, said Reid Simmons, research professor of robotics and computer science and director of the new AI degree program. 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, he added. 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. Simmons said the program also would include a strong emphasis on ethics and social responsibility. This will include independent study opportunities in using AI for social good, such as improving transportation, health care or education.
since AI is basically transcribing human thinking to machines.
Whatever you learn will be obsolete in four years
When we had the dot com boom we had a glut of computing students who graduated after the bust resulting in a glut of overqualified people with no jobs and buried in student debt. Anytime a university sets up a "fad degree" you know it's time to get out of the field. There is probably cloud and blockchain degrees as well.
So what's new?
I studied AI as my bachelor in 2009-2013 at Utrecht University. My study was competing with 3 other AI bachelor's programmes in a 100km radius. It's pretty rare for a university that's reasonably developed in technical fields to NOT offer a bachelor's programme on AI nowadays.
I don't know why, but AI fails to stimulate my geekness. Everything in tech since I got interested in the 90s has stimulated my imagination, but for the first time AI falls flat. Maybe it's because the applications of AI are just not that interested. Google auto-colorizing black and white photos? Yeah, I guess that's cool, but there's a finite amount of unintentional colorless photos in the world, so eventually they will all be colorized. Also, interacting with a talking TV via Siri has to be the least geeky thing I can think of, 2001 HAL aside. I know some will say I'm just getting old, but tech fads still excite me. Bitcoin had potential and blockchain still may have some uses, and VR/AR is going to be amazing. AI applications are just too mundane, mainly because all it can do is replace stuff humans do. Self-driving car, self-cropping photos, self-cooking toaster, etc. sure that's all convenient but it's not exciting at all.
Just comparing it with my undergrad curriculum, which made sure that at least half of my classes were NOT related to my major, I'd say this gives a solid foundation. I would give some more stats courses beyond regression and intro do probability, though.
Of course it is. Losers should stop saying to not call AI AI. Losers.
I was thinking along similar lines before I read your post. I'm about to head back to school for my masters and put some thought into which area I wanted to study. Partly, I want to retire as early as I can, which means making good money first. There is a huge demand for AI professionals, leading to high salaries. It just doesn't interest me much, though.
In my case I think it's partially because I've been on a software quality kick the last few years. If aerospace engineering was done like software engineering, planes would crash every day. It doesn't have to be like that. We can do it right, the first time. The attitude of "it seems like it pretty much worked when I tried it, let's ship it" gets on my nerves.
While AI isn't exactly "it seems like it pretty much works", it tends to lean much more in that direction than the systems I want to create, systems about which I can say "this is known to be absolutely correct; it has been mathematically proven correct".
âoeIf we want to be serious about quality, it is time to get tired of finding bugs and start preventing their happening in the first place.ââ" Alan Page
Do a BSc. CS and a major in AI or a masters in AI.
Then you can use all that training for something else!
I have an EE with a major in Computer Engineering.
I've done programming, control systems, motors, electric power delivery and power conversion, communications, microcontrollers.. even.. windows programming.
Silly. But.. the cycle continues.
If anything that boosted their credibility :)
It proves that they are not just academically inclined, but effective in the real world.
You are just getting butthurt for being exposed as the paedo you are.
To always read that as "Carnegie Breast".
>The whole 'provably correct code' disappeared from reality as soon as I was half a step beyond academia.
It did at one point. Maybe around 1988 or so. In the 1970s programmers were people with degrees in math, so there was a lot more correctness. As math majors, they had done plenty of mathematical proofs, so the idea of knowing that you're getting the right answer made sense to my mom's generation.
We've had a phase of "sloppy" programming for a while now, but over that time our tools have improved immensely. Static analysis, which can automatically prove certain things about code, is coming back into style. New tools, and possibly new languages, may allow for a degree of reliability that wasn't feasible in 1988.
To give two examples, functional programming, which is currently in production use, can readily prove certain things. The most basic is using a functional language by itself proves that every function has no side effects - the only thing it does is return a value, which is determined entirely by the arguments passed to the function. Starting with those guarantees, it's fairly easy for tools to prove some other useful things about the function. Another example is that SQL schemas allow you to fairly easily make certain guarantees about the system. I do that at times and it's faster than not enforcing guarantees, because I don't have to debug problems caused by assumptions not actually being true. SQL *can* be used to make "we hope it works" systems, but in some cases that takes longer. It can be faster for me to apply rules which guarantee things, rather than tracing down problems related to assumptions.
I have hope that better and better tools and processes will be developed, and I'd like to help develop them. So far I've started by applying practices such as code review in organizations that didn't previously do it. We've found that code review / peer review reduces bugs enough to make it worthwhile. As a bonus it is a great training tool - programmers learn from each other practical approaches that apply directly to your codebase - because they ARE your codebase.
I went off on a tangent at the end there.
Obviously code review doesn't guarantee or prove anything.
Other techniques CAN guarantee, or prove, certain things about the code, and it doesn't have to be time-consuming or expensive. Heck just using a strongly typed language guarantees certain things that aren't guaranteed in languages without strong typing.
In 4 years the bloom will probably be off the AI rose already.
Imagine if some hip college started offering a degree in 3-D printing 5years ago and you invested the time and money to get one. Where would you be now? And don't forget, 3-D printing was just as big back then as AI is now, it was going to fundamentally change the world in ways no one could've even dream of.
"Undergraduate Degree In AI"
AI needs Overgraduates.
I thought you were at least going to be some TDD true believer, but your answer to improving "software correctness" is ... code reviews? What the hell were you doing before? People just checking random shit into the tree? Somehow you've managed to sound like some gen-y kid who just did "intro to python 101" at state uni and some crusty old boomer who thinks computing peaked with the VAX or whatever. It's like the worst of both worlds, congrats!
Most of that machine-learning stuff is really image processing. The research papers were going as far as gradient aligned anisotropic sampling filters before they suddenly jumped into neural networks and machine learning. That stuff is/was necessary for the movie production industry because they normally hired qualified animators to spend their days airbrushing out wires and props, doing lip-sync, and fixing just about anything else. Even car driving is basically matching what the sensors detect with the correct action associated from set of digital memories of past scenes.
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
They were researching "formal verification methods" in the 1990's. Using techniques like temporal logic, and automated deduction engines, they could formally verify that a CPU would be correct in all state transitions. There wouldn't be a point where an instruction could return in the wrong security ring.
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
If Slashdot can go an entire day without the autistic screeching over the nothing burger that is 'AI', I will give them a dollar.
Standard CMU undergrad CS curriculum: https://csd.cs.cmu.edu/academic/undergraduate/bachelors-curriculum-admitted-2017
CMU AI degree curriculum: https://www.cs.cmu.edu/bs-in-artificial-intelligence/curriculum
I dunno. IMO this could be a concentration or a graduate program. I think a classical undergrad CS program would be worth more to a student because it's more generic and thus more widely applicable.
I have hope that better and better tools and processes will be developed, and I'd like to help develop them. So far I've started by applying practices such as code review in organizations that didn't previously do it. We've found that code review / peer review reduces bugs enough to make it worthwhile.
This stands out in this day and age. I'm glad you've successfully introduced peer review, but I haven't heard of a shop in the last decade that doesn't implement peer review. Sounds like a change at the top is needed if you're at a shop that far behind.
if a student writes AI that completes all their coursework for them, do they still get a degree?
There has in fact been change at the top. It was a tiny company. About a year before I joined they had one "programmer" who wrote all the code. He wasn't trained as a programmer. A family started the business together. The brother who was "good at computers" did all the code. Since then, it's been bought by a larger company with more mature processes, but headquarters still mostly leaves us alone and let's us do things our own way.
In the last two years I've implemented code review, introduced test scripts, and pushed getting the version control (Git) in shape.
My entire career has been with very small companies or groups, so although I've *read* a lot about best practices, I haven't had much opportunity to see what's really done by most companies and truly provides the best bang-for-buck in software quality. You said " This stands out in this day and age. ... I haven't heard of a shop in the last decade that doesn't implement peer review." What other practices have you seen used a lot, practical processes which really provide clear value?
> Have a job paying 60k, save 30k, and for each day you work you earn one day of retirement.
That's true! It's something I'm working on.
> rather than spending $$$ going back to school in the hopes of a higher paying job.
After the tax credit, my masters from Georgia Tech will only cost me about $4,500. Maybe less if I can get my employer to pitch in or something. Conservatively, my masters should bump my income by *at least* $5K / year, so it'll pay for itself the first year. After that, it's an extra $5K-$15K each year of additional means to live beneath.
My bachelors was also an expensive online program offered by a respectable university. The degree program increased my income enough to pay for the school even BEFORE I graduated. The final exams for some of the classes were industry certifications like Cisco CCNA and Security+. Having those certifications caught the attention of recruiters so my income went up while I was still in school.
Boston University already requires all their engineers to take a course in data science (http://www.bu.edu/today/2018/new-eng-curriculum-requires-data-science/). This makes more sense than an entire degree in the subject.
Who is going to step away from their seven digit salary, working on bleeding edge technology, to teach said technology to ungrateful assholes? I'd want to know what qualifications my lecturer had...
I took ECE at Cornell University. Of course everyone talked about AI, but it was always an application of disciplines. Taking an AI major is not that different from taking a self-driving car major... relevant at this very moment, but not much beyond.
Fast Federal Court and I.T.C. updates
I just noticed a typo in what I wrote. My bachelors was INexpensive, not expensive. It should read:
--
My bachelors was also an inexpensive online program offered by a respectable university. The degree program increased my income enough to pay for the school even BEFORE I graduated.
--
...and so will all others.
What other practices have you seen used a lot, practical processes which really provide clear value?
Measure key metrics like cycle time, quality (bugs), code coverage, test stability, and escapes. Review weekly as a team, however small that may be. You generally don't optimize or improve what isn't measured and regularly reviewed. Release small changes often rather than big changes less frequently, and automate as much of the release process as possible.
quality (bugs)
What? Most quality issues have to do with "undefined features", not bugs. A bug is when something is not working to spec. If the spec does not explicitly require nor explicitly forbid, then it's not a "bug", but a feature. We like to use the term "defect" when talking about anything that is "not working" because it is a more general word to imply that something is wrong, be it the code or the spec or the architecture.
If the "defect" is a change to the spec, we leave the defect open and attach it to a feature request to change and implement the new spec. We treat the feature as if it's a defect for priority reasons.
All lies. It is not AI. It is big data processing algorithms gone wild. It is naming things after the brain and calling it a day. Oooh, neural network. It is the internet, an internet that has been devoured by Google and focuses only on making investors money and advertising while touting government propaganda as if it were truth. Even if we were to come up with some sort of "Artificial Intelligence" using these metrics, it will indeed be artificial. Completely artificial. A lie. Nothing ultimately intelligent about it. Maybe they will teach that in class.