Channel logo

How to Program: Computer Science Concepts and Python Exercises

Season 1
Programming is an eminently learnable skill that gives you unrivalled problem-solving power you can apply in all areas of life. It's also a fun, creative activity that provides insight into how we control the devices that influence virtually every aspect of our lives. How to Program teaches you one of the world's most accessible and powerful computer languages, Python.
201624 episodesTV-PG
Free trial of The Great Courses Living or buy

Prime membership required

Terms apply

Episodes

  1. S1 E1 - What Is Programming? Why Python?
    April 28, 2016
    39min
    TV-PG
    "Hello, World!" Following tradition, write a program that produces this greeting as your first exercise in coding a computer program. Learn why Python is the ideal computer language for beginners and many others. After this lesson, follow the onscreen instructions for installing Python and the programming editor PyCharm.
    Free trial of The Great Courses Living or buy
  2. S1 E2 - Variables: Operations and Input/Output
    October 31, 2016
    37min
    TV-PG
    Study some of the basic operations of computers. First, investigate the memory hierarchy and what the CPU does. Then consider variables, which are like boxes where units of data are stored in a program. Look at simple arithmetic operations with variables, and try input/output commands.
    Free trial of The Great Courses Living or buy
  3. S1 E3 - Conditionals and Boolean Expressions
    October 31, 2016
    30min
    TV-PG
    Any time a computer takes different paths depending on your response, there is usually a conditional statement involved. Delve into these widely used tools, looking at branching points, comparisons, if/then statements, nesting conditionals, and Boolean (true/false) expressions.
    Free trial of The Great Courses Living or buy
  4. S1 E4 - Basic Program Development and Testing
    October 31, 2016
    29min
    TV-PG
    Take the plunge and write a program that's useful for saving money! In the process, learn the importance of planning ahead, testing often, and building your code incrementally. As your program takes shape, Professor Keyser describes instructive incidents from computer history and his own experience.
    Free trial of The Great Courses Living or buy
  5. S1 E5 - Loops and Iterations
    October 31, 2016
    28min
    TV-PG
    One of the biggest thrills from writing code comes from getting a computer to perform a sequence of instructions repeatedly until a task is complete. Discover the ease of writing such loop programs and also the peril of getting stuck in infinite loops. Investigate while loops, for loops, and iterations.
    Subscribe to The Great Courses Living or The Great Courses Signature Collection or purchase
  6. S1 E6 - Files and Strings
    October 31, 2016
    30min
    TV-PG
    Learn the fundamentals of files: what they are, how they're named, and how to interact with them. Typically, the file format that you write to and read from will be one long string - a sequence of alphanumeric characters. See how these differ from binary files such as images, which are composed of 1s and 0s.
    Free trial of The Great Courses Living or buy
  7. S1 E7 - Operations with Lists
    October 31, 2016
    30min
    TV-PG
    Python makes it very easy to create lists and perform a wide range of operations on them. Learn the fundamentals of building lists. Then experiment with indexing into lists, looping over lists, and making slices of lists, lists of lists, and list-like structures called tuples.
    Free trial of The Great Courses Living or buy
  8. S1 E8 - Top-Down Design of a Data Analysis Program
    October 31, 2016
    28min
    TV-PG
    Take what you have learned about lists, loops, files, and other techniques and design a program that lets you analyze weather data. Sound daunting? Discover the trick of top-down design, which breaks a complex task into manageable parts and is applicable not just to coding but to any major project.
    Free trial of The Great Courses Living or buy
  9. S1 E9 - Functions and Abstraction
    October 31, 2016
    32min
    TV-PG
    One of the key ideas in computer science is abstraction - using simple interfaces to manage complex procedures. See how functions can simplify away the details of complex process, freeing attention to focus on what goes into a function and what comes out. Learn when to use functions and the side effects that sometimes occur.
    Free trial of The Great Courses Living or buy
  10. S1 E10 - Parameter Passing, Scope, and Mutable Data
    October 31, 2016
    33min
    TV-PG
    Complete your introduction to elementary programming by looking at parameters - the major technique for passing information through functions. Learn when a parameter or variable is "in scope," how to work with list data that can change when passed as a parameter, and what it means for parameters to have default values.
    Free trial of The Great Courses Living or buy
  11. S1 E11 - Error Types, Systematic Debugging, Exceptions
    October 31, 2016
    32min
    TV-PG
    Confront the nemesis of all computer programmers: bugs. First, look into the history of this peculiar term. Then take a systematic approach to solving mysterious glitches in your own programs. Get acquainted with the debugger in PyCharm, and explore strategies for tracking down bugs and fixing them.
    Free trial of The Great Courses Living or buy
  12. S1 E12 - Python Standard Library, Modules, Packages
    October 31, 2016
    32min
    TV-PG
    Discover the remarkable programming tools called modules that you have at your fingertips with Python. Modules are ready-made programs that can be imported into your code as you write it, enhancing your creativity, expanding your options, and saving you time. Bundles of modules are called packages.
    Free trial of The Great Courses Living or buy
  13. S1 E13 - Game Design with Functions
    October 31, 2016
    31min
    TV-PG
    Use the knowledge you've gained so far to design a grid-based matching game - an entertaining way to practice top-down development of more complex programs using functions. You'll see how rough-and-ready lines of code known as stubs come in very handy as you tackle such projects.
    Free trial of The Great Courses Living or buy
  14. S1 E14 - Bottom-Up Design, Turtle Graphics, Robotics
    October 31, 2016
    31min
    TV-PG
    Now experiment with bottom-up design, an approach that starts with the available elements and builds from there. Utilize a Python module called turtle graphics to model robot motion, relying on the basic turtle commands: forward, backward, and turn left or right by an angle you specify.
    Free trial of The Great Courses Living or buy
  15. S1 E15 - Event-Driven Programming
    October 31, 2016
    32min
    TV-PG
    Explore the visual style of programming seen on the web and in the graphical user interface of an operating system. Get started with pyglet, a Python package created to help support development of games and other audio-visual environments. Use pyglet to make a graphical version of the game from Lesson 13.
    Subscribe to The Great Courses Living or The Great Courses Signature Collection or purchase
  16. S1 E16 - Visualizing Data and Creating Simulations
    October 31, 2016
    31min
    TV-PG
    Delve into data visualization and simulations - two areas where computers have had a revolutionary but under-recognized impact. Learn how to do both with matplotlib, a Python package for creating plots, graphs, and charts. Use it to design a financial simulation that can help you plan your retirement.
    Free trial of The Great Courses Living or buy
  17. S1 E17 - Classes and Object-Oriented Programming
    October 31, 2016
    35min
    TV-PG
    Learn about an exciting approach to programming called object-oriented design, which bundles functions together with data into a series of objects, whose tools and properties can be defined in a single class. Try your hand at this powerful technique by constructing a bank account program.
    Free trial of The Great Courses Living or buy
  18. S1 E18 - Objects with Inheritance and Polymorphism
    October 31, 2016
    33min
    TV-PG
    Dig deeper into object-oriented design, seeing how encapsulation - combining data and the functions that deal with data into a single package - is the basis for two other object-oriented features: inheritance and polymorphism. Apply these ideas to sports statistics.
    Free trial of The Great Courses Living or buy
  19. S1 E19 - Data Structures: Stack, Queue, Dictionary, Set
    October 31, 2016
    31min
    TV-PG
    Data structures allow you to perform operations more effectively. Start with two of the most basic data structures, stacks and queues, discovering that both can be executed using lists. Then move to non-linear data structures, exemplified by dictionaries and sets, which can be implemented using a hash table.
    Free trial of The Great Courses Living or buy
  20. S1 E20 - Algorithms: Searching and Sorting
    October 31, 2016
    30min
    TV-PG
    Enter the realm of algorithms, the heart of computer science. See how a well-designed algorithm - a general set of steps that accomplish a task - allows you to work out the logic of a program before you commit it to code. Try this with search and sort exercises.
    Free trial of The Great Courses Living or buy
  21. S1 E21 - Recursion and Running Times
    October 31, 2016
    32min
    TV-PG
    Expand your study of algorithms to cover recursion, one of the most fascinating ideas in computer science. Apply recursion to form a pair of sorting algorithms. Then see how another approach, iteration, excels at tasks that take too long with recursion, such as calculating the Fibonacci sequence.
    Free trial of The Great Courses Living or buy
  22. S1 E22 - Graphs and Trees
    October 31, 2016
    32min
    TV-PG
    In computing, a graph is a mathematical structure composed of vertices and edges. Discover its incredible power to capture relationships such as the airline routes between cities and the friends in a social network. Try writing programs utilizing graphs and a special type of graph called trees.
    Free trial of The Great Courses Living or buy
  23. S1 E23 - Graph Search and a Word Game
    October 31, 2016
    30min
    TV-PG
    Examine a famous graph algorithm called breadth-first search, which shows the shortest path connecting nodes in a tree. Use this technique to write a program creating an entertaining game, in which a word is transformed one letter at a time, with each new iteration required to be a valid word.
    Free trial of The Great Courses Living or buy
  24. S1 E24 - Parallel Computing Is Here
    October 31, 2016
    35min
    TV-PG
    One of the major trends in the present and future of computing is parallel processing. Put this clever technique to work in Python. Then close with Professor Keyser's suggestions for your further explorations of programming, along with his reflections on the personal benefits of this remarkable human achievement.
    Free trial of The Great Courses Living or buy

Details

More info

Subtitles
None available
Producers
The Great Courses
Cast
John Keyser
Studio
The Great Courses
By clicking play, you agree to our Terms of Use.