Great progressive course structure. You start out with the basics and gradually move into more advanced topics.
The instructors. Each week had numerous lecture videos (each no more than 15 minutes with a majority being less than 10). The material was always relevant to the coding assignments and contained many good coding examples. Greiner's weekly coding tips were always very informative. I write programs for work and was able to use many of his tips there.
Keeping with the instructors, their presentation styles were great. Each video consisted of them talking about a subject with their code in the background, which they would also write in real-time. It's a very effective method of teaching, much better than reading PowerPoint slides verbatim. They're also geeky and fun, and don't try to conceal this in their videos. It really does make learning fun!
The discussion forums were active and a big help. Coding can be difficult at times, but in this class, there were thousands of other people ready to help you. Having your classmates as a resource makes everything a whole lot easier and less stressful. Need some help with a function? Post your question and code snippets in the forum and you'll get a response in under 10 minutes. The instructors also frequented the forums and had a weekly Code Clinic for each week's project. You could submit your code there for specific help from the instructors.
None, and I really mean that.
This course was so well put together that it sets a very high standard for other MOOCs. Everything else is going to pale in comparison to what Rixner, Warren, Greiner, and Wong have here.
All in all, definitely take this course. You will learn a lot and will have fun in the process. Even if you're just starting to code, give it a shot; the class offers lots of help at every step!
This is a great introduction to MOOC's and to programming in general. I am a programmer with many, many years of experience (hair grayer than Joe's). I wanted to see what this MOOC thing was about and chose their class as I had never taken a formal class in Python and wanted to write a version of one of my childhood games - Asteroids.
First, Dr. Rixner has written a great development tool, CodeSkulptor, which by its nature of being in a hosted/cloud environment allows anyone to take the class from anywhere - shared machine, home computer, etc. Is it Enterprise capable? No, but it does allow almost any student with a basic internet connection the ability to focus on the code and the results without worrying about their environment. I think this sets a great bar for any MOOC class trying to teach such a wide range of students.
Second, the course teaches some of the most fundamental, but important concepts of programming. They did this without losing site of the end result of what they were wanting to accomplish breaking up the class material in a way which started with the basics and then gently introducing major concepts of both OO Programming, the Python language and in Game programming.
The focus here is on Introduction to the core building blocks and some of the best practices you will use time and time again. I particularly liked their introduction and reinforcement of Lists, Dictionaries and Sets without getting hung up in the algorithms behind it. I also liked how they would go thru and cover common mistakes and introduce the ideas of best practices.
Will you cover advanced topics such as Inheritance, Pickling, Profiling? No, but what they teach here will give any person the basic building blocks to allow them to move on as they need. They also have done a great job in selecting and building upon core ideas in the projects such that the final project, RiceRocks - a clone of Asteroids, happens naturally. Most Intro classes I've taken over the years have never given such an immediate and positive sense of accomplishment.
And last of all, they did a great job in making this a fun class. It is obvious that these men spent a lot of time developing the material.
Take this class if you want to learn a little about programming, take this class if you want to learn a little about Python, take this class if you want to learn a little about gaming programming, or be like me and take this class as a fun diversion to see what this MOOC thing is about.
Best online course! It's the perfect mix of fun and learning. The lecturers are awesome and really enthusiastic about the course. The projects are carefully chosen and fun to work on. This course really gives you something to look forward to every week and by the end of it, you'd be addicted to it. An amazing, enlightening and fun experience.
This is a well-conceived, designed, and implemented course. I am aware of what it takes to put together good training material and Joe Warren, Scott Rixner, John Greiner, and Stephen Wong do an excellent job of executing this class. I admire the fact that they continue to evolve the course, given the feedback they receive. They have done a great job of balancing instructional material, technical data, documentation, and humor to keep the class flowing at an appropriate pace. I started the class with no formal programming experience though I have been involved in software development by producing 2D and 3D graphics for quite some time. My career experience gave me a strong conceptual understanding of the software development issues but this course gave me the fundamental understanding that I had desired. This was my 3rd MOOC that I have taken and this has by far been the best. It did take a significant commitment of time to complete the course and I feel that my time was well spent being involved in this course!
I first coded 30 years ago. Z80 machine code and Spectrum basic. Then I went on to do music as a profession and now having found time wanted to get back to my true love.. coding! I followed many courses but I must state that the Course offered by Rice University is by far the best one I have come across over the web. I'm still searching for a better one. The professors running the course are brilliant and I like their sense of humour and their simple unassuming ways. Kudos to you Rice Uni and Kudos to you great lecturers Joe Warren, Professor, Department of Computer Science, Scott Rixner, Associate Professor, Department of Computer Science, Stephen Wong, Lecturer, Department of Computer Science and John Greiner, Lecturer, Department of Computer Science. I am now half way thru and am a much better coder and writing my own code. My goal is to write some simple music software and games and distribute free.
This class takes people from no programming experience to being able to make Pong, a Blackjack game, and a spaceship game (with shooting rockets, sound, animated explosions). Prepare to be challenged, though, don't give up at the difficult spots--you've got to use the cycle of--read requirements, draw or write it out/brainstorm in English, psuedocode, code, test piece of code, ... Sometimes it takes a day of sleeping on it to resolve the tough problems. Definitely worth it.
A big thanks to professors Scott, Joe, and John. They have some funny videos of friendly competition between Scott and Joe which are entertaining--will they be wearing a tie next week? :-)
Really surprised at how much I've learned in a short time and thankful for this free class.
As a programming language Python is excellent for beginners to professionals. It has all the features of other languages but is easy to learn and you can get results immediately. The Python class from Rice on Coursera.org is excellent and the instructors are superb. They provide all the material you need from websites for course material, to a programming webpage (codeskulptor.org) to extra material and programs you can run and read yourself.
The course has weekly video lectures that are paced slowly so you can take notes or just sit back and watch. The instructors post handouts for you as well. The quizzes give you a chance to stretch what you learn and to try new ideas that bring home the lectures. The quizzes are actually fun and a good learning experience of themselves. Because there is no grade for the course, you can take the quizzes up to five times and learn more and more from each one.
The projects were great fun to build and see run. The instructors give you a template for each project so you're not starting from scratch. And, what is more, they give you a step by step list of how to build your program, one piece at a time. This makes the projects easier and you know what to do as you go. I don't think it limits your learning but rather gives you a way to organize what you've learned and then apply it to the program.
When your project is done, you have a URL for it and, if you want, you can send the URL to friends who can then play the games you programmed. I actually ran one of the games on my phone; it's not great on the small screen, but it did run which was cool.
The lecturers have fun teaching and that makes the course much more enjoyable. The class is fun for them, so it's fun for you, too. I used the forums once for help and sure enough, a student answered my question there. (The best browser for the course is Chrome which we had to use for Space (or Rice) Asteroids, the last project. If you use Firefox, and I did, you'll find some quirks like the arrow keys don't work right so go with Chrome and make life easier.)
If you want to learn programming, and do so in a popular language that is easy to learn, this course is for you.
I scored 89%... should have done better but misunderstood one deadline and didn't get the project in that week. I am a 57-year-old ME who hadn't programmed much the last 20 years.
This really a tremendous way to teach, progressively adding another level to game building each week, reaching a climax the final week with a fairly involved Asteroids game. This type of teaching really works for me.
Basically, each week they have a video teaching Python language concepts. Then a video showing some more advanced programming concepts (often they aren't even used until the next week.) Then some ideas for what is needed to complete the project and how to get started. And finally some tips on what people commonly misunderstand.
Anyway, Joe, Scott and John made an excellent instructing team. Completing this course was well worth the time spent. I would take one of their courses again.
This was first on-line course I've actually finished. Even though I have found coursera.org about a year ago.
The reason that helped me to accomplish this course is its developers: Joe Warren, Scott Rixner and their colleagues.
When I attempted to learn some programming by youtube videos or something else, it always ended up in few days as i got bored pretty much within 15 minutes.
A small project every week - this is a brilliant idea! not just loads of theory with meaningless examples, but actually something that works! These guys are genius!
Course kept me interested in what's coming next throughout all 2 months.
The idea to create a game which you can actually play!
That what kept me going. Also guys help a lot by keeping videos funny and not so "nuclear-programming", but more of "fun-time programming"
I have a background of few years of C programming while in a school 7 years ago, and general engineering profession.
Course was pretty easy for me.
What I suggest that might help and extend the students knowledge base - is to provide some links to another topic-related video tutorials online in the end of each lesson.
This class is excellent.
I completely agree with all the positive comments.
The instructors are just fantastic. Each lecture is well presented and their enthusiasm for teaching really shines through. You also get a good sense of their fun, geeky personalities.
It is clear that the course instructors have put a lot of work into putting together this course. It is very well thought out and presented.
I have never programmed before and I really feel like I have received a very solid grounding in Python. Also, the projects for each week require you to program a computer game, making it fun to complete the assignments.
As a complete beginner, I did have to invest a lot of time each week to complete the assignments on time (up to 15 hours or so a week as the assignments got more difficult). But, it was well worth it and I felt such a sense of accomplishment as I successfully completed each program.
This course provides a lot of resources for students to get help and feedback on their programs, which is very useful for beginners.
There is a lot of peer (fellow students) and Teaching Assistant help (as well as responses from the instructors) via the class discussion forums, so even if you fall behind on the submission schedule (for the assignments), you can continuing working on the projects (even after the course has ended) as it is easy to get feedback on all your work. In fact, it gets a little bit addictive! So, even if you don't always have the time to put into this course, you can still follow it and complete it in your own time, and it is well worth the effort if you are interested in learning programming.
This is the very first on-line learning course I have taken and it has set a very high standard.
I enjoyed it immensely and I hope to continue learning to program in Python.
IMHO this courses is really one the best of Coursera. 1) Instructors; you really enojy and be profitable of the teacher's style. 2) the tools: CodeSkulptor. Fullstop. If you start, like me , to programming twenty years ago, you'll be grateful to what technology (and people inspiration) makes possible today. 3) The weekly mini-projects. No , serious where you can learn moving from Pong to Asteroids! Great Ideas, great teaching skills, and great fun. Anyone have taken this course never look at videogame at the same way. And starts to love Python elegance too. Thank you. I really enjoyed it, and I strongly recommend it.
If you have some programming experience but are totally new to Python, this is the perfect class for you. If you've never written a program or script before, then you should find an introduction to programming class and take that first. On the flipside, you don't need to know anything at all about Python to take this class and you'll be writing interactive games almost right away.
The layout of this class is great. Teaching in a virtual environment (recorded lectures) seems challenging, but the teaching staff that created and delivered this class did a great job making this class enjoyable. They provide you with all the tools you need to succeed with each week's assignment. If you watch the lectures and do the projects, you will be proficient at Python by the end of the course.
Expect to spend about 10 hours per week on the course between lectures, quizzes, a mini-project, and grading other students' projects (you have to grade 5 students' projects each week and the criteria is spelled out very clearly).
I agree with all the praise this course gets from the other commenters. It is a well designed course which teaches important programming concepts in a way that is us fun and rewarding. Usually a coding framework is provided and you fill in your code as needed. That way you just focus on learning specific segments of programming in an organized way.
It's not just about games. The games make it fun and rewarding. You get a cool game you can email to your friends and impress them ;) , but your are at the same time learning real-world, useful programming techniques.
I really enjoyed this course and feel I now have a firm foundation and understanding of python programming. I give it an A+.
I have taken quite a few courses in Coursera and I have to admit that this one tops them all. I will be feeling lonely now that this course has come to an end and Joe and Scott will be missed for sure. However this course has also given me the added confidence which was missing in me. I was able to complete all the quizes and mini project successfully even though I thought I won't initially. The course design was excellent and it covered all the basics that one needs to know to be up and running with python programming in a fun and easy way. I look forward to more courses from RICE and Joe and Scott in particular.
This was the first Cousera course that I felt that I got more out of than I put into. Codeskulpter, while annoyingly lost everything when I hit F5 because I was used to doing that to run my code (totally my fault btw), was very easy to use and easy to share with my friends when I made a game and I could get feedback rather quickly. The teachers liked to have fun and Joe looks like he is related to Quinton Tarantino. Great Python beginners course, maybe coming from a Codecademy course. If you know Python but not any GUI, then it is still very useful, you just might think there is too much time between assignments. But that's good if you are as busy as I am. This class leaves me wanting more.
I am a java, J2EE programmer. I works on front end too plus was using python's pyramid framework from last one and half year.
I just wanna say that there is a lot to learn in this course not just for the beginners but for programmers also and teachers are really very sprited and fun to be work with :)
This is a fun class, well organized, with lots of support for learning in the form of an IDE (CodeSkulptor) in which to develop the programs, with links to Python documentation and practice problems, discussion forums, and quizzes. The class and material are well-paced and the unifying theme is games. Every week includes about two hours of video lectures, two quizzes, a programming project, and peer assessments. A template is provided for each programming project, so that helps structure the code. The forums are very active, and it is easy to get help and clarifications. The peer assessments also help you learn from your online classmates. I highly recommend this class if you would like to learn a leading scripting language and application of object-oriented programming concepts in a supportive environment.
I go with what everyone else said about this course but want to add a few cons:
From about week two or three it's starting to get less optimal for people who are completely new to programming. Things aren't being explained thoroughly that people who are new to programming won't understand (unless they research it or ask someone).
But I think it's only because it sometimes can be hard to see from a beginner's perspective if your brain is already hardwired to programming techniques for years. :)
So other than that the instructors sure try their best to get accross the concepts and are doing well!
Then there was another thing that was lacking.
A friend of mine once said "You don't learn the programming language, you learn how to program." (referring to my education back then)
That's exactly what I was missing in this course. You didn't learn how to program efficiently. You only learned the functions etc. and pretty much the basics. I would wish for at least some more tips for how to write code so it's efficient, in which situations you should pay attention to what coding style etc.
And I think that's pretty much it.
Other than that I really liked the geeky and kind characters of the professors :)
I had almost none experience in programming unlike I was having programming classes at my university. I thought I'm useless for this. BUT these guys really helped me to overcome all the difficulties in understanding what is programming, what is it for and how to use it. Before this class object oriented programming was a mystery for me and the only thing I was able to say about that was "it has encapsulation and polymorphism". That what I was learned before and I think only God knows what did people mean when they say that way. BUT the class did the job and now I know how to create classes, how to use them and I think I understand them. I spent something around 10 hours per week for this class in listening lectures, answering quizzes and writing games. BUT it was a REAL FUN to do that. Thank you, guys, for this.
Being a professional programmer who was unfamiliar with python, I found the class very interesting. Have games as projects kept me focused and driven towards watching the videos and completing the projects. My one suggestion would be to offer different levels of templates for each project so that people with more programming experience would have more to do and therefore a bigger challenge.
Nonetheless, this was a good class. Much better than udacity.com intro to computer science class which teaches python without teaching any OO.
I took this class to relearn programming and experience is fantastic.
It is amazing that Prof. Joe Warner and Prof. Scott Rixner take you to the level - where you start writing code and that too with good understanding of basic concepts.
Prof. John Greiner really pointed out some trivial mistakes one makes during programming. From my previous experience in programming, I can say that these are important things to learn. He teaches that in very simple and informal way.
Amazing way of teaching and kudos to all of you and Coursera to make this happen
This class is extremely well-taught, clear, concise, and very engaging. The evaluations include projects that rely on programming simple games to help the students engage the material and retain the concepts.
This is really a good class. Although I did not have time to do the quiz and the projects. I wish i could have time to complete it later.
Thanks to Joe Warren, Scott Rixner and John Greiner who spent so much time on the class and i really benefit a lot from it.
I will continue in the future and introduce the class to more friends.
The class was excellent! I loved every minute. I would recommend for everyone who would like to fall in love with programming. And special thought for teachers: you can get great ideas how to teach other people to program. Don't forget the course is the first in the row. There are two others coming this summer. The second was opened few hours ago. Hurry up!
I highly recommend both this class and the professors. The material was presented clearly and it was possible to work through each mini-project. The online format worked great for me as I did some of the work at very odd hours of the day. This course was not a 'breeze' even with the project templates that were provided and the hard work really helped me to learn.
This is the most complete CS course on Coursera I took so far. The course material was excellent and the material was presented in a very engaging way. Quizzes, mini-projects and the additional exercises were very good learning resources. I have also to praise the idea of including student's videos to the learning experience. Clear documentation of assignments and practical projects is a rare breed among MOOCs. A lot of time is lost in translation... This course however excelled in this area as well. The detailed documentation of the mini-projects was very helpful. A great MOOC course overall.
I found the class really enjoyable and useful. It teaches Python in an unconventional way. Each week we had to complete a mini project which is just an additional step to the final project that helps us to build a full fledged arcade game. All the instructors were very helpful. If you are interested in learning the Python language, this course is highly recommended.
It's a great class. I really love the way the instructors present materials. They talk about each single subject in a clear and fun style. You will definitely be proud of yourself after you build up your own code for those games!