
#46 overallEvergreen
An Introduction to Interactive Programming in Python
Coursera
8 recommenders · 7 threads · recommended in 6 years, 2012–2020 · score 12.1
A free Coursera course from Rice University (Joe Warren and team) that teaches Python programming by building simple interactive games, using an in-browser interpreter with graphics. Part of the Fundamentals of Computing track.
Commenters call it a fun, beginner-friendly, hands-on introduction that teaches by building games, with one calling it superb and very entertaining.
Programming Languagesbeginnerfreevideo lectures#python#beginner#games#interactive#rice university#coursera
Recommendations by year
20062026
I began the JHU Data Scientist Specialization on Coursera and worked through the Data Scientists Toolbox and R Programming classes, but found them a bit lackluster in their presentation.
The course content (videos, slides) presents some basics with a large emphasis on having a "hacker ethos" to do more work and digging on your own to be successful. The quizzes and projects in the R course demanded the use of techniques that were outside of the content provided in the lecture. I am not against having a hacker ethos and personally am happy to research and learn on my own, but I fail to see the logic in charging money to tell people to Google. I expect a curriculum to be a self-contained unit of learning, or else I wouldn't bother with curriculum.
Contrast this to Coursera's excellent (and free) Rice University Interactive Python Programming classes that are really superb. The Rice University team put together an online Python interpreter complete with graphics capability so that students could test each other's code. The R class left peer review of students' code as "do not run the code, eyeball it and see if it looks right". I understand why they did it (execution of potentially harmful code), but Rice's solution was elegant.
"Programming for Everybody" by Rice University is highly recommended. Together with Coursera they do an specialization called "Fundamentals of Computing" which can be audited for free.
Hi there,
take a look at coursera course : An Introduction to Interactive Programming in Python. (https://class.coursera.org/interactivepython-2012-001/)
Very beginner friendly, not very theoretical, more hands-on, and most importantly, very entertaining. Check out video or two to get better idea how class looks a like.
Take care, davs
I can think of many - I have taken several starting since 2013. The tricky thing is that Coursera classes seem to get merged, re-mashed or otherwise re-branded. And as such only one currently is listed in my "Completed" courses section of my profile.
Having said that and with the caveat that these probably changed since I taken them, I recommend the following:
- Cryptography - https://www.coursera.org/learn/crypto - great introduction to the fundamentals and math behind cryptography. A lot of theory but also some practical exercises. This is my top recommended.
- Machine Learning - https://www.coursera.org/learn/machine-learning - a good introduction to the basic of machine learning; focuses on octave/matlab and does not dive into frameworks like scikitlearn or tensorflow
- Introduction to Interactive Programming with Python - https://www.coursera.org/learn/interactive-python-1 - I took a course from Rice University on Python programming through making games that was fun. As far as I can tell, this is the modern incarnation in two parts.
- Software Security - https://www.coursera.org/learn/software-security - goes into stack / overflow exploits, tools for testing, and web-based attacks
- Functional Programming Principles in Scala - https://www.coursera.org/specializations/scala - this was a good introduction to scala and functional programming - it got me thinking in a different way
- C++ for C Programmers - https://www.coursera.org/learn/c-plus-plus-a - I think this was the first coursera class I took. This course dove into the C++ STL and a lot of modern features introduced in C++11.
These courses are for beginners, but I started with what I learned from a few courses in Coursera and turned it into a career as a software engineer. https://www.coursera.org/learn/learn-to-program and https://www.coursera.org/learn/program-code from Jennifer Campbell and Paul Gries from the University of Toronto laid a great foundation to build on. I think I took them the first time they offered it and I still don't understand how they completely nailed a new medium like that first try. It was very accessible, but with enough detail to make sense and the videos were so clear and concise. The Python one from Rice University, is a fun, awesome course, where you build games to learn. https://www.coursera.org/learn/interactive-python-1
The coursera songwriting course is really great. Also Python for Beginners, the one that uses CodeSkulptor.
Do whatever you can to reduce your overheads. A few years of sacrificing to cut your overheads can be hugely beneficial to your overall happiness. I know this is easier said than done but, if you have any debts, get rid of them as soon as you are able to.
Have you considered starting something in your spare time? Do some freelancing, build some gizmo and release it online or whatever takes your fancy. You don't need to spend any money to step out of the employee box and to start developing a side income or outside projects. If anything it helps with saving money as you find yourself spending more time tinkering instead of being out spending money.
I don't know what you do exactly but I had great fun doing onegameamonth.com I did this free course https://www.coursera.org/course/interactivepython then started making crappy little games and had great fun doing it.
Go check out coursera.org, edx.org and udacity.com. Take some free courses in whatever amuses you. Either something technical to broaden your skills or something totally unrelated just because you want to.
CheckIO guys, the very first task (ATM) is annoyingly unclear. One shouldn't need to try to understand what you meant. You might want to look at the way problems and objectives are laid out in Rice's excellent interactive python class on Coursera : https://www.coursera.org/course/interactivepython
Also, from a pure "story" game design standpoint : there's no initial hook, and the story is fairly bland (I came in curious and 2 lines were enough to bore me). I believe you shouldn't try to do a backstory for the sake of it. Either think it through and do something good, or keep it very very very short.
Hope this helps, I know this kind of playtest feedback is always hard to listen to, but if you're gonna do something great, you need to pay attention... Plus I'm a business/product cofounder type of guy, currently learning Python, so I imagine I'm pretty damn close to your target audience.
Anyway, this is interesting and I'll be back to try it more and see if it gets better. Good luck and lots of courage on this!
I don't have a formal background in CS -- most of my schooling and professional background has been centered squarely on mechanical engineering. Attending college in 2004-2009, the school I went to spent just a couple class sessions teaching MATLAB and LabView. Neither language really appealed to me and after some initial struggles I realized that our TAs weren't really checking our scripts... so I faked a bunch of non-functional homework scripts just to move forward in the class. The experience soured me on programming for years.
Years later, the pandemic hit and I found myself with excess free time and nothing to do in the evenings. So I decided to take a series of Coursera classes to learn data science programming in Python and VBA. VBA became rather useful as I was able to program sophisticated macros for automating tasks in SolidWorks CAD. But my programming knowledge has still been rather limited compared to most professional programmers.
When ChatGPT came out and people started tinkering with it for programming, I was delighted to find that it was able to produce what appeared to be SolidWorks VBA scripts. But on further examination the scripts produced were often buggy and in need of rework. So I was rather skeptical for a while about ChatGPT's usefulness.
A few years later, I'm now in a job that requires a LOT of programming and scripting in a multitude of different languages (Python, Bash, and a few others) and the focus has shifted away from CAD. I'll humbly admit that ChatGPT has saved me multiple times in figuring out how to approach different problems. The code often works right on the first try. It's an essential tool for me now.
Forget about the 10k myth. I think it's absolutely feasible to switch careers at your age, and I assume it's software development you're thinking of. I think half a year to a year of intense study and practice should be enough to make you employable.
But first, figure out if this is something you would like doing. Take a course like e.g. this https://www.coursera.org/learn/python for a month (you can audit it for free) and see if you actually like programming. If you do, carry on.
Whenever i have someone ask me where to get started on CS - i give them a few options tiered to try and ensure some stickiness/higher utility for them specifically.
~Some Existing Touch Point With CS
Teachyourselfcs.com is definitely in the conversation - in general I recommend it to friends who have a pre-existing "gateway" to the field (software engineer or otherwise). The page talks about progressing from "type 2" to "type 1" software engineer - a deeper understanding affording a richer career/experience.
~Relatively Fresh - but have strong intent
For people who are more "virgin" and fresh but are willing to put in the work - I recommend OSSU ("open source curriculum") - and i've found for whatever reason that structure has let them gradient in with more success. (https://github.com/ossu/computer-science)
~Intrigued/Engaged - but intent is still nascent
For people who have a fleeting interest but don't necessarily have the time or intensity about their interest i usually recommend a starter python course - 90% of these people will fall off the path unless there is a more permeable access-point to the space that offers a positive feedback loop. The university of Michigan has some engaging options.
I tend to recommend the free online course https://www.py4e.com/ for people who want to learn python and programming in general. If they struggle with it, then https://www.codecademy.com/ is another good resource.
Try some MOOCs. There's "Python for everybody" specialization on Coursera, it's newbie-friendly but you get to build a little product that does something. IMO, that should be your first milestone - build something small that works and see how you feel about that. If you find it interesting, you can go for more courses and after some time you'll know where to go next, but if you're not really amused maybe you should give something else a try.