top | item 10929985

Berkeley AI Materials

158 points| zwarag | 10 years ago |ai.berkeley.edu

17 comments

order
[+] DanFeldman|10 years ago|reply
I took this class (188) from Abbeel, who is now involved in advising OpenAI from YCR. It's an incredibly well structured class, on par with the intro course at Berkeley, 61a. For anyone who wants a relatively fun introduction to core AI concepts, try working through the projects (which will require learning most of the materials anyway). They're not coding intensive, just thinking intensive; Each question in a project probably takes ~5 lines to write!
[+] sbuccini|10 years ago|reply
I took this class last semester with Russell, and they've changed up some of the projects since you've taken it.

There was one CSP project that was particularly gnarly, but really fun! Still, the difficulty is relative and the revamped projects aren't anywhere near the difficulty level of other classes.

Give 'em a shot!

[+] maroonblazer|10 years ago|reply
Anyone know what the math prereqs are for this course? The intro video makes reference to an assessment that potential students can take, but I can't find it.
[+] natch|10 years ago|reply
The surprising thing here is that Berkeley, which I considered to have a leading edge CS department, is still using a teaching code base with Python 2.7, when Python 3.0 came out in 2008.

Yes, 2.7 is still widely used in the industry. As are some other languages. But this is new code (well I'm thinking it's newer than 2008, or at least they've had ample time to update it before releasing it now in 2016).

So why not use 3.x? Aren't students better served by learning modern language features, and not being left behind at the previous, outmoded version?

[+] entilzha|10 years ago|reply
Thats because CS at Berkeley is definitely not about what programming language/version you use. As a relatively recent graduate (december 2014), I can definitely say that the major teaches computer science, not programming with X, Y or Z language.

Ironically, I think this leads to knowing the languages that are incidentally used better than if you focused on the language itself (Python, Java, Scheme, C, Assembly predominantly)

Finally, not as much time is spent on that because it is much more valuable to students to see improvements in instructional material semester after semester, and changing from Python 2.X to 3.X really doesn't contribute much to learning the AI material

[+] eatkinson|10 years ago|reply
FWIW Berkeley does use Python 3 in their intro to programming class [1,2]. This is useful because if I remember correctly, Python 2 does not have things like the "nonlocal" keyword or coroutines.

[1]: Website for 61A: http://cs61a.org/

[2]: Materials associated with 61A: http://composingprograms.com/

[+] daveguy|10 years ago|reply
Python 2.7 is the current and future of Python. Google didn't even release their AI framework, tensorflow, in Python 3 initially (late 2015). All relevant features have been backported and library support is superior. There will be a compatible transition of features in a community+industry supported 2.8. Hopefully the original python crew can swallow their pride long enough to support it.

Python 2.7 is also better for learning with the simple print syntax. Hopefully Guido and Co can figure out a way to support a print statement in their Py3k playground environment.

[+] hn9780470248775|10 years ago|reply
It's the Department of Computer Science, not the Department of Programming.
[+] freyr|10 years ago|reply
Python 2.7 is starting to lose ground and Python 3 is the future.

But a lot of older software companies (e.g., Google) have been using Python 2 for a long time, and the switch to Python 3 might not make sense in these cases. So it is still common. Newer companies using Python 3 out of the gate will eventually become more common, making it the future of Python. Eventually Berkeley will switch.