5 ms·
Udacity goes live
- scarface548 15y agoExercises are in python. Learning python as needed seems like a good strategy
- weaksauce 15y agoPython is really fairly easy. You shouldn't have much trouble with it unless you are a beginner in programming in general. Even then it should still be possible with a little extra work.
- ramblerman 15y agoagreed, I've found these exercises very doable with close to no python experience. One thing that is really throwing me off atm, is all the static functions, sum(list), len(list) as opposed to more OO solutions
- frisco 15y agoHonestly, the class, "Programming a Robotic Car" sounded pretty lame. When am I going to program a robotic car? Never. As cool as it sounds in principle, I figured it would be pretty domain-specific and relevant only if you were doing autonomous robotics. However, I must say that the syllabus looks amazing, and pretty hardcore. It appears to have less to do with robotic cars per se and more to do with applied controls and online machine learning. Particle filters? Kalman filters? Extracting signals from noisy sensor data? Shallow planning and search? In a way that's made applicable and not presented as just a series of proofs and theorems? I've signed up.
- DarkShikari 15y agoHonestly, the class, "Programming a Robotic Car" sounded pretty lame. When am I going to program a robotic car? Never. Programming is not brick-laying. "Learning to program" is about learning to think and solve all kinds of problems, not learning now to do one specific thing that you are going to do for a job. You become a good programmer by learning about and solving all kinds of problems. Programming a robotic car sounds incredibly awesome to me; hardly "lame", even though I never intend to work in robotics. In college, I took courses like "Filesystems" (no, I don't intend to write a filesystem), "Operating Systems" (no, I don't intend to be a Linux kernel dev), and so forth. Just because that's not what I'm doing doesn't make them interesting, useful, and fun. A programmer who has only solved a very narrow range of problems -- and considers others s/he's not too familiar with to be "lame" -- is generally not a very good programmer.
- frisco 15y agoI mean, I agree with you in principle. I think programming a robotic car would be really cool. There's a difference between a foundation (FS, OS, algorithms, etc) and lots of random specialist exposures, though. I consider myself a generally good programmer. I've been doing it since I was ~6-7, so 15 years now, five of them professionally. I've solved problems in dozens of domains, using probably 20 languages in every major paradigm. But my background is in life sciences, and I've been increasingly feeling like checking out every "cool" technology for the consumption value is a great way to end up a dabbler. It's a little bit of a false dichotomoy, but not entirely. How does this matter to me? is a good first-order heuristic when you're already working 80 hours a week. That said, I do know the fun of diving into things that seem interesting without necessarily having an immediate application -- I learned most of my languages and technologies that way -- but for some reason, "Programming a Robotic Car" I guess just didn't seem intrinsically interesting as stated. Maybe "I'm never going to use this" is the wrong rationalization for that reaction.
- DarkShikari 15y agoIs it really a "specialist" exposure, though? I'm pretty sure "programming a robotic car" involves solving all sorts of problems, not merely ones related to the fact that it is a car, and it is robotic. Even in ordinary college CS, you're almost always faced with very specific assignments, like "write a memory allocator" or "write a search algorithm to help the cat find the mouse in this maze". The intent is to teach you a wide range of ideas and techniques; the specific goal of the task isn't really what's important.
- frisco 15y agoYeah, that's what I'm saying. The title made me think it would be specialist coverage, but it's actually widely-applicable tools just taught in the context of robotic cars. I'm pretty sure you could teach such a class either way.
- tassl 15y agoThe "Robotic Car" is nothing else but a way of attracting people to the course. Reading the contents of the course, we could easily substitute "Programming a Robotic Car" by "Artificial Intelligence for Robotics". I would like to see a bit more of Theory of Control on the topics but I guess it requires advanced Algebra. Every time that I read about technology I feel like we have to realize that every time more generalists will be needed. Mechanics, dynamics, control, computer vision, energy, fluids, signal processing, artificial intelligence, statistics are some of the skills needed for a real Robotic Car, and of course, nobody can expect to learn them in 7 weeks.
- Homunculiheaded 15y agoMy guess would be that the title of the class was aimed at students of ai-class.org, in which he touched on several of the topics you mention in the context of his work in automated driving. When I saw the title of the course it immediately struct me that this would be a deeper look into all the cool things he pointed out in ai-class.
- newhouseb 15y agoFor those wondering, the first week's worth of videos/tutorials is live and watchable if you sign up (i.e. it's not a dead end like most Coursera courses currently). The quiz interface (being inlined with the video content), is quite clever.
- TechNewb 15y agoTwo Coursera classes are live as well, Model Thinking and Software Engineering for Software as a Service: https://www.coursera.org/modelthinking/auth/welcome https://www.coursera.org/modelthinking/auth/welcome and https://www.coursera.org/saas/auth/welcome https://www.coursera.org/saas/auth/welcome
- dhawalhs 15y agoI logged in as soon as it went live and did a programming quiz. Immediately after that I received a mail from David Evans, "You're the first one to pass a programming quiz! --- Dave" Hah!
- WildUtah 15y agoThat was the best "First!" I've ever seen.
- skanuj 15y ago"Forgot password?" doesn't do anything. It doesn't allow me to sign up either, saying "That email has already been registered"
- graeme 15y agoI like what I see so far. I'm learning programming, and jut went through the first lesson of CS 101. Here's what I liked: 1. The videos are supplemented by written course notes. This is useful for people (like me) who prefer text to video. 2. There are quizzes to confirm understanding, and they come very shortly after learning a concept. This provides fast feedback. Crucially, the quizzes can be repeated until you gets the answer right, and an explanation follows. The first lesson is pretty basic, but the overall learning framework seems promising. It's focussed on making sure you understand. I'm just using this as a supplement, but it will be interesting to see where it goes.
- marcoamorales 15y agoI'm on my Junior year in CS major and I think I will take CS101 on Udacity. Not only do I think Udacity can do a better job than my college, but I think I can learn new things.
- worldimperator 15y agoHaving done the AI class last year, I have to say that I'm really positively surprised how much they apparently learned from the results of that class. Sebastian's style is way better now, with those digital scribbles and the combined programming step by step exercises for particle filters. That was exactly the stuff that threw me off sometimes at AI class (and I bet quite a few of others).
- jholman 15y agoI'm a little curious about some of the style choices in python code. For example: # used by Sebastian for k in range(len(measurements)): p = sense(p, measurements[k]) vs # shorter, saner, and more Pythonic for m in measurements: p = sense(p, m) I guess the old aphorism applies: a good Pascal programmer can write Pascal in any language. (Not to criticize Sebastian's programming ability, only to wonder about the pedagogical choice.)
- zaph0d 15y agoA great computer scientist != a great programmer.
- deleted 15y ago[deleted]
- ender7 15y agoYeah, this looks like academic code to me. I've never found an academic codebase that didn't make you want to cry.
- deleted 15y ago[deleted]
- ahmadss 15y agosince i'm a target audience for this course (non-technical person aspiring to learn how to code), how would i learn proper programmer convention (ie the Python way) vs. the computer scientist convention?
- jholman 15y agoThe first observation is that there is no computer scientist convention, only a heterogeneous collection of bad habits. :) Again, unlike this post's uncle and grandparent, I'm unwilling to assume that Sebastian is a bad coder in general, but this particular code is unPythonic. Maybe that's because he's a bad coder, maybe that's because he had teaching goals that I don't fully understand. I am aware of two reasonable answers to the "how do I learn idiomatic style" question (in any language, although Python is the only language in which I personally have deliberately sought a better accent). 1) Read great codebases. For Python, the #1 target here is probably the standard library. People also often mention high-profile projects like Django or Twisted; since I haven't tried that I don't know what percentage of that code is beautiful, but I'm guessing it's probably a mix (so you'd have to apply some judgement). 2) The path I have taken is to read a lot of blogs and Stack Overflow questions and so on. Consider this: http://stackoverflow.com/search?q=pythonic http://stackoverflow.com/search?q=pythonic In particular, answers by Alex Martelli are reliably very informative (even if I find his prose style a little sub-optimal). 3) Oh, and this is a bit abstract, but if you haven't typed 'import this' into your Python interpreter, you should do that, for some guidance about the abstract ethics of "being Pythonic".
- aik 15y agoKey point here is that although the courses sound potentially advanced, they seem targeted towards people who are beginners at programming/computer science. I'm not entirely sure if this is stressed enough on the site. However I'm also curious what the later units will look like, as I completed the final quiz in a few minutes for the first search engine unit without watching any lectures and without any python knowledge. Very basic stuff.
- cdutch 15y agoI'm having a hard time finding the first homework assignment. Is there one to be found at this point?
- graeme 15y agoNo, they'll be posted later. They added an improved FAQ to the main page of each course, in the overview section.
- itmag 15y agoIt seems to me that all the e-learning courses that are popping up these days are focused on programming. When will we see courses on psychology, Spanish, martial arts, etc? What would those courses even look like in an e-learning format?
- dpatru 15y agoThe tech for online learning is still being developed.so the courses offered are those close to the developers'interests and competencies, much like how the internet was first used for and by scientists. But the tech will spread.
- itmag 15y agoUh, I'm a developer and I work with a bunch of developers. Trust me, programming is not our numero uno interest in life. :-) Judging from our office discussions, the most popular courses would have to be on picking up chicks, making moonshine, and all sorts of crazy money-making schemes.
- motxilo 15y agohttp://www.anatomy-class.org http://www.anatomy-class.org http://www.greenbuilding-class.org http://www.greenbuilding-class.org https://6002x.mitx.mit.edu https://6002x.mitx.mit.edu
- ramblerman 15y agoI'd love to see something like this for math. A lot of these ML, AI courses have prerequisites in math that is pretty distant for me. I know Khan is highly praised, and I have found help there, but I find the site very unstructured. Perhaps it works best when you have an existing syllabus or path to follow next to it. It's also somewhat limited to college math
- bdg 15y agoI only looked over the 101 course, and maybe it's not aimed at someone who already has an understanding of those concepts, but I felt like it was a really fast fly-by of topics and skipped a lot of things. Thinking of the best way to teach this stuff is something I spend a bit of time doing, and honestly I'm not sure what the right approach is. Once I thought you should learn from Ada's work and the looms all the way up to things like the Enigma machine, and jump into the things that started happening in the 50s research. Basically, grow your knowledge from the ground up and make all the same discoveries. The other approach is to take a high-level fly by of concepts like strings. Most of us here on HN know that strings and how they work aren't as simple as presented in the 101 videos and there's so much more to know about them. I'm concerned that this style of teaching (implementing concepts without understanding how they work) is also the style that's lead to a lot of confusion in my personal learning experience as I progressed. Once upon a time everything in the browser like HTTP and rendering was magic and I wrote sloppy web apps. In a similar vein, I never really "got" calculus until I read a book that explained the history of how Newton made up "infinitesimals", Leibniz made up "derivatives" and someone else made up limits. I had no idea how calculus worked until I understood the origins... sure I could write differential equations based on some cheat-sheet, but that deep-rooted understanding never came along until I walked through Newton's shoes. And to be honest, it was simply the dy/dx notation that made no sense to me, and none of my teachers could explain it to me, it was always "oh, that's the derivative of that axis value" (might as well have said "oh, a monad is a monoid in the category of endofunctors"). On the other hand, learning and doing things without that deep understanding is exactly how I started programming and I turned out okay.
- tutysara 15y agoThe course contents doesn't open on a android tablet. It says loading... for sometime, and it just stops after that. I tried with stock browser and Dolphin browser and both have the same issue.
- 100k 15y agoProbably because of Flash. I thought the site was down Monday because it just said "Loading...". Then today, I realized I have a Flash blocker. Oops.