Programming for Everyone – A free online Coursera course for learning Python
On the 7th April I started the Coursera course Programming for Everyone with Charles Severance (Dr Chuck). Programming for Everyone is a 10 week course, using the free text book Python for Informatics, online lectures and assessments and forum support to allow someone who has little or no coding experience to be able to write programs in Python (2.7).
Each week a new lecture is released via video, where Dr Chuck covers one of the first 10 chapters of the accompanying textbook. The course syllabus is as follows;
Week 1 – Introduction to Python
Week 2 – Expressions
Week 3 – Conditionals
Week 4 – Functions
Week 5 – Loops
Week 6 – Strings
Week 7 – Files
Week 8 – Lists
Week 9 – Dictionaries
Week 10 – Tuples & Regular Expressions
Each week, after watching the lecture and reading up on the relevant chapter in the text book you are given either one or two assignments to complete. Assignments on this course are completed using the ‘Auto Grader’ in which you can write and run Python code, and once you obtain the desired output, a pass grade is recorded. Each assignment is worth 10 points, and a mid term and final exam, which can be retaken multiple times are worth 20 points each. Put of a maximum of 180 points, you are required to achieve 75% to obtain a statement of accomplishment and 90% for a Certificate with Distinction.
The lecture videos with Dr Chuck are easy to follow and understand, and combined with the text book for reference you will be given the information you need to complete each assignment. If you do get stuck, the course also has a help forum where other students and course staff can assist you. On the few occasions that I did get stuck, I went to the forums and found that I was given help very quickly, and any support you need is happily provided here.
The course was brilliant for me as an introduction to Python, requiring only a few hours a week of my time, I really enjoyed the layout and content of the course.
If I could improve one aspect of the course however, it would be a guide on where to go next with my programming skills. Maybe Dr Chuck will one day release another course to allow further development. I would love for somewhere to provide a course where you are given real programming challenges, i.e. write a program to do ????? So I can put my skills into practice and get ideas for what I can do with them.
I also struggled somewhat on the later assignments. Quite often the lecture would cover a new aspect of programming, but the assignment would require you to combine this newly acquired knowledge with a previously completed assignment. This is where I struggled, and I think my downfall was that I didn’t practice enough with the new skills I learnt, I just learnt enough to pass the assignment, and not to truly master what I was doing.
I would love at some point if the Auto Grader could be used to give us more practice assignments, even if these are unmarked, so I can keep using my skills in a variety of tasks to make sure I really do understand what I’m doing.
I have also been advised that maybe I should have learnt with Python 3.0 rather than 2.7, but that once I have the hang of it, the differences should be easily learnt, so this would not be a major issue.
The excellent thing about this course is that all the information is free for you to use in whatever way you wish. So if you like the sound of the course, but Coursera don’t have one scheduled to start, you can work through the course material yourself here. The Open Michigan website contains the course textbook and all the video lectures to help you learn.
I think that the Coursera course Programming for Everyone was an excellent way for me to start to learn Python, and I would highly recommend this course to people who are looking for a foot in the door. Dr Chuck is an amazing lecturer, who I wholeheartedly thank for taking the time to provide us with this amazing course!
I earned 94.4% and received a Statement of Accomplishment with Distinction!
Like me on Facebook - Follow me on Instagram - Follow me on Twitter