The digital transformation in many academic fields and industries requires a general understanding of how computer programs work.
Python is one of the most popular programming languages globally (ranked 4th as of January 2018).
Two professors from the University of Toronto have therefore launched an introductory online course entitled "Learn to Program: The Fundamentals" on the Coursera platform.
The course gives an introduction to programming using Python. It was originally designed for university students and high school students, but anyone who is interested in learning how to code can participate.
"Everyone Learning How to Program Should Learn How to Experiment"
Edukatico: Dear Professor Campbell and Professor Gries, what was your motivation behind launching an online course on programming?
Campbell / Gries: That’s a complicated question!
We had read that active learning, and in particular the inverted classroom, were more effective teaching techniques than the traditional lecture format.
We had considered creating a series of videos for this, and Coursera happened to ask whether the UofT was interested in creating a few MOOCs. We were invited to participate by the UofT administration, and were lucky enough to be the first University of Toronto MOOC.
Edukatico: Why did you choose Python as the first programming language for beginners?
Campbell / Gries: We have been teaching Python since the mid-2000s, so it was a natural choice to continue using it.
Edukatico: From your experience, what is the hardest part of learning how to program? What should beginners know before they start?
Campbell / Gries: Everyone learning how to program should learn how to experiment as soon as possible, and that means learning how to use a debugger.
A bug happens when you give the computer a series of instructions that don’t do what you think they do. The debugger lets you watch your program execute one line at a time.
Most questions can be answered by writing a short program and stepping through it one line at a time, paying careful attention to how the values in the program are changing.
"Participants Will be Able to Write Programs and to Read Other People's Code."
Edukatico: What are the key topics covered in your course? Will students be able to write their own programs when they have completed the course?
Campbell / Gries: We cover the fundamentals: a sequence of operations, variable assignment, function definitions, control flow (how do you repeat code, how do you choose among actions), ways to manage a collection of information, documenting your code to help other programmers, and how to automatically test your code (that’s your safety net).
[Participants] will be able to write their own programs, but just as importantly they’ll be ready to read other people’s code. There is a ton of open-source code out there that people can study.
Edukatico: Who can participate in your course? Are there any prerequisites?
Campbell / Gries: Anyone can take it!
It can really help to have a good understanding of early-high school functions, like knowing what f(x) = 3 * x – 5 means and being able to figure out what f(2) is.
Edukatico: Thank you for this brief overview and all the best for your MOOC!
The introductory course on programming is offered as a MOOC (massive open online course) on the Coursera platform. There is also a more advanced course from the same professors that specifically explains how to write high-quality code. The courses are free to learn in the audit track (if you don't want to go for the course certificate).
Edukatico is Your Search Portal for Online Courses
With our Course Manager, you can organize your online courses across various providers.