TTC Video  How to Program: Computer Science Concepts and Python Exercises [2 Versions]
TTC Video – How to Program: Computer Science Concepts and Python Exercises
Lecturer: John Keyser, Ph.D.


From the very first lesson, Professor Keyser plunges you into Python coding and the concepts of computer science, with a friendly and accessible style that has won him numerous teaching awards.
The course covers fundamental ideas with clarity and depth, teaching you programming from the most basic commands to the techniques that help you develop ambitious pieces of software.
Professor Keyser focuses on practical problem-solving, presenting dozens of real-life examples and exercises, walking you through solutions, and helping you practice and build your skills.

Programming Made Crystal Clear

Assuming no prior background in computer science, Professor Keyser’s lessons are so clear, carefully paced, and comprehensive that they will appeal to both novice and experienced programmers. Even those who use Python often will learn new and useful tips that fill gaps in their understanding, clarify concepts that were previously obscure, and broaden one-task tricks into versatile tools. As a result, this course is perfect for

beginners and students-from teenagers to retirees-who have never written a line of code;
self-taught programmers who want to deepen their knowledge of program design and make their code more efficient and elegant;
programmers new to Python, and Python users who want to upgrade their skills to the newest version of Python and more effectively exploit its many features;
professionals at any stage of their career who recognize the benefits of better understanding the technology that modern businesses rely on;
anyone wanting a fascinating insider’s perspective on how to think about all the ways we tell
those who never dreamed that coding could be as exciting, intellectually stimulating, and rewarding as it truly is.

Build Your Programming Fluency

There are numerous programming tutorials and videos available online, but they are generally brief or narrow, giving you only specific and specialized instructions without context. How to Program is a college-level course with more than a semester’s worth of material explored over 12 hours of lessons that you can pause, practice, and watch again as you hone your skills, guided by an expert teacher. And while you can find snippets of pre-written Python code online that may or may not work for your needs, this course takes you from writing individual lines of code to designing and thinking about code like a programmer, teaching you broadly applicable rules and tools that you use to create your own custom-made programs.

The first half of the course provides the foundation of programming, while the second half of the course explores a wider range of applications and deeper principles, both of which also help you further consolidate your understanding of programming fundamentals. Applications include the coding behind games and graphics, as well as teaching you how to analyze sports statistics, simulate a retirement fund, and direct the path of a simple robot. Along the way, you get a feel for when to use a top-down design or a bottom-up strategy. You discover the power of object-oriented programming and the trade-offs of sequential programming versus event-driven programming. And you see for yourself how data structures and algorithms make possible even more powerful programs. Best of all, these and many other concepts become second nature as your programming fluency grows.
Discover a New World in Coding

“I got hooked writing my first simple computer program back in third grade,” recalls Professor Keyser. This course will show you how fun, creative, and empowering programming can be. Professor Keyser’s approach is clear, practical, and engaging-it’s easy to see why his teaching has been honored so many times. Throughout the course, he offers tips on how to be a better programmer, hard-won lessons from decades of coding, and reflections on the aspects of programming that are most rewarding:

Practical: Often it’s faster to write a program to perform a task, such as repeated calculations or opening two applications in tandem, than it is to track down an existing piece of software that does exactly what you need. And as your coding skill grows, you’ll find that you are creating unique programs that other people need.
Exhilarating: Figuring out how to apply the tools to solve each programming problem is a unique challenge, a puzzle that often has several solutions-but which is fastest, simplest, most efficient? Even debugging offers new and exciting mysteries to solve. When the pieces finally fall into place, you get a wonderful feeling of accomplishment that a mental model has been turned into working software.
Transformational: Programming transforms the way you think, training you to look at problems logically, develop plans that can be followed sequentially, and recognize how to break down a complex task into more manageable pieces. All of these are useful approaches in areas outside of computing.

So, as with any new language, programming opens up a new world, while also influencing the way you look at your old, familiar world. It may be that as you work through the enjoyable and challenging exercises in How to Program, the most important benefit you are gaining is not only a toolkit to help you create your own programs in Python 3-it’s also a set of enhanced mental tools for every sphere of life.