Coursera - Learn to Program - The Fundamentals and Crafting Quality Code
WEB-Rip | AVC1 @ 500 Kbit/s | 960x540 | AAC Stereo @ 128 Kbit/s 48 KHz | 8 Hours | 610 MB
Genre: Development / Programming | Language: English
WEB-Rip | AVC1 @ 500 Kbit/s | 960x540 | AAC Stereo @ 128 Kbit/s 48 KHz | 8 Hours | 610 MB
Genre: Development / Programming | Language: English
Learn to Program: The Fundamentals
Behind every mouse click and touch-screen tap, there is a computer program that makes things happen. This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language.
About the Course
A computer program is a set of instructions for a computer to follow, just as a recipe is a set of instructions for a chef. Laptops, kitchen appliances, MP3 players, and many other electronic devices all run computer programs. Programs have been written to manipulate sound and video, write poetry, run banking systems, predict the weather, and analyze athletic performance. This course is intended for people who have never seen a computer program. It will give you a better understanding of how computer applications work and teach you how to write your own applications. More importantly, you’ll start to learn computational thinking, which is a fundamental approach to solving real-world problems. Computer programming languages share common fundamental concepts, and this course will introduce you to those concepts using the Python programming language. By the end of this course, you will be able to write your own programs to process data from the web and create interactive text-based games.
Recommended Background
This course is intended for people who have never programmed before. A knowledge of grade school mathematics is necessary: you need to be comfortable with simple mathematical equations, including operator precedence. You should also be comfortable working with simple functions, such as f(x) = x + 5.
Course at a Glance
10 weeks
6-8 hours of work / week
English
English subtitles
Instructors
Jennifer Campbell
University of Toronto
Paul Gries
University of Toronto
Learn to Program: Crafting Quality Code
Not all programs are created equal. In this course, we'll focus on writing quality code that runs correctly and efficiently. We'll design, code and validate our programs and learn how to compare programs that are addressing the same task.
About the Course
Most programs are used for years and are worked on by many people. Having programs that are easy to understand is essential, in the same way that a well-organized essay is far easier to follow than a disorganized one. We’ll show you an approach that helps to break down problems into smaller tasks that are easier to both solve and read.
This design approach also makes it more straightforward to find and fix flaws. You'll be introduced to the tools that professional programmers use; they're called "testing" and "debugging".
For most complex problems, there are many programs that solve them. Some are inherently slower than others. You'll learn how to read two programs and compare them for efficiency.
Recommended Background
This course assumes “Learn To Program: The Fundamentals”, or similar background. You should be comfortable with these topics in Python 3:
Function definition, function call, method call
Types: bool, int, float, str, list, dict, tuple
Control structures: if, for, while
File reading and writing
You should also be familiar with the function design recipe, the Python visualizer, the IDLE debugger, and from Learn To Program: The Fundamentals. If you did not take LTP1, please register, visit the class archive, and review at least these videos:
Week 1:
Python and Computer Memory
Variables
Week 2:
Docstrings and Function help
Function Design Recipe
Visualizing Function Calls
Week 3:
Functions, Variables, and the Call Stack
Week 4:
IDLE's Debugger
Week 5:
Mutability and Aliasing
Course at a Glance
10 weeks
6-8 hours of work / week
English
English subtitles
Instructors
Jennifer Campbell
University of Toronto
Paul Gries
University of Toronto