I decided to take a leap of faith in my abilities to run multiple Coursera courses at the same time as I felt that the material in this one course would compliment my efforts in my other course.
Both Learn to Program: The Fundamentals and Introduction to Systematic Program Design – Part One are considered to be beginner level courses for people without any background in programming.
The systematic program design class seems to offer a pragmatic way to approach problem domains and more formulaic recipe designs which I think might help my coding efforts in all future coding endeavors.
I’m still debating whether I’m going to register for the signature track version of the course or just keep it as the free version, as I have a big trip right in the middle of the final couple of weeks – but I have three weeks to decide whether I want to upgrade to the signature track version of the course.
An added note here, after reading the following related blog posts, I’m starting to get a bit nervous about this course:
After reading an article on MOOC’s from Forbes – How MOOC’s will Revolutionize Corporate Learning and Development, I took a look at what Khan Academy had to offer.
Essentially Khan Academy is “a library of over 4,600 videos on everything from arithmetic to physics, finance, and history and hundreds of skills to practice, we’re on a mission to help you learn what you want, when you want, at your own pace.”
There is a whole section of stuff pertaining to Python Programming that could be useful for revision or to clarify key Python related programming concepts.
Leaning objectives for this week:
– IF statements
So this week we learned:
Input/Output and str Formatting
Docstrings and Function help
Function Design Recipe
Visualizing Function Calls
I even tried my hand at writing a little monthly payment calculator module for calculating monthly payments for fixed payment mutual funds, it goes something like this (monthlyincome.py):
print(“Monthly Payment Calculator”)
investment = float(input(“enter investment amount: “))
NAV = float(input(“enter NAV per unit: “))
pay_per_unit = float(input(“enter payment per unit: “))
monthly_income = (investment/NAV * pay_per_unit)/12
Here’s the visualizer: http://goo.gl/iFaiWL
It was recommended to me that the following document provides the standard for style when coding in Python, so I list it here as a reference:
Python Style Guide for main text
Python Style Guide for Docstring Conventions
Ok I admit programming is fun!
I got to play with IDLE and creating and defining my own variables, expressions, functions, etc… in Python.
Some of the exercises got us to create some little scripts to convert temperature, calculate the area and perimeter of a triangle but I let my mind run wild and did up little scripts to compute age and distance. I was particularly proud of my mile to kilometre script as I’ve been doing a lot of distance based activities like running and walking, etc… helps in determining speed and calories burned.
Programming already yielding benefits!
I did run into a few terminology and concept issues:
1. Arguments vs Parameters
Which term to use when defining a function or performing a function call
2. Visualizing this memory address and the concept of objects
There is a great visualizer that seems to help with this conceptual issue: Python Visualizer
Here’s the syllabus to the course I’m taking:
This course provides an introduction to computer programming intended for people with no programming experience.
It covers the basics of programming in Python including elementary data types (numeric types, strings, lists, dictionaries and files), control flow, functions, objects, methods, fields and mutability. Here is a tentative list of topics.
||Installing Python, IDLE, mathematical expressions, variables, assignment statement, calling and defining functions, syntax and semantic errors
||Strings, input/output, Booleans, function reuse, function design recipe, docstrings
||import, namespaces, if statements
||for loops, fancy string manipulation
||while loops, lists, mutability
In preparation for my Python course, Wikibooks has some free resources to help learn the language:
Non-Programmer’s Tutorial for Python 3
I also got an e-mail from the Learn to Program: The Fundamentals course recommending a textbook
Practical Programming (2nd Edition): An Introduction to Computer Science Using Python 3
Awhile back I remember watching a TED talk on the future of free education and a free education course provider called Coursera.
The talk was called What we’re learning from online education by Daphne Koller.
After filtering through the available courses in the computer programming field I found a course that starts on August 19th called Learn to Program: The Fundamentals.
The course is taught by Jennifer Campbell and Paul Gries at the University of Toronto but offered freely through the Coursera site.
The programming language they use for the course is Python.
So I took a leap and registered in the course. It begins on August 19th.
I also reviewed a lot of the materials on Python’s own site: Python.org