This experience is optimized for Internet Explorer version 9 and above.

Please upgrade your browser

Send the Gift of Lifelong Learning!

How to Program: Computer Science Concepts and Python Exercises

How to Program: Computer Science Concepts and Python Exercises

Professor John Keyser, Ph.D.
Texas A&M University

Gifting Information


To send your gift, please complete the form below. An email will be sent immediately to notify the recipient of your gift and provide them with instructions to redeem it.

  • 500 characters remaining.

Frequently Asked Questions

With an eGift, you can instantly send a Great Course to a friend or loved one via email. It's simple:
1. Find the course you would like to eGift.
2. Under "Choose a Format", click on Video Download or Audio Download.
3. Click 'Send e-Gift'
4. Fill out the details on the next page. You will need to the email address of your friend or family member.
5. Proceed with the checkout process as usual.
Q: Why do I need to specify the email of the recipient?
A: We will send that person an email to notify them of your gift. If they are already a customer, they will be able to add the gift to their My Digital Library and mobile apps. If they are not yet a customer, we will help them set up a new account so they can enjoy their course in their My Digital Library or via our free mobile apps.
Q: How will my friend or family member know they have a gift?
A: They will receive an email from The Great Courses notifying them of your eGift. The email will direct them to If they are already a customer, they will be able to add the gift to their My Digital Library and mobile apps. If they are not yet a customer, we will help them set up a new account so they can enjoy their course in their My Digital Library or via our free mobile apps.
Q: What if my friend or family member does not receive the email?
A: If the email notification is missing, first check your Spam folder. Depending on your email provider, it may have mistakenly been flagged as spam. If it is not found, please email customer service at ( or call 1-800-832-2412 for assistance.
Q: How will I know they have received my eGift?
A: When the recipient clicks on their email and redeems their eGift, you will automatically receive an email notification.
Q: What if I do not receive the notification that the eGift has been redeemed?
A: If the email notification is missing, first check your Spam folder. Depending on your email provider, it may have mistakenly been flagged as spam. If it is not found, please email customer service at ( or call customer service at 1-800-832-2412 for assistance.
Q: I don't want to send downloads. How do I gift DVDs or CDs?
A: eGifting only covers digital products. To purchase a DVD or CD version of a course and mail it to a friend, please call customer service at 1-800-832-2412 for assistance.
Q: Oops! The recipient already owns the course I gifted. What now?
A: Great minds think alike! We can exchange the eGifted course for another course of equal value. Please call customer service at 1-800-832-2412 for assistance.
Q: Can I update or change my email address?
A: Yes, you can. Go to My Account to change your email address.
Q: Can I select a date in the future to send my eGift?
A: Sorry, this feature is not available yet. We are working on adding it in the future.
Q: What if the email associated with eGift is not for my regular Great Course account?
A: Please please email customer service at ( or call our customer service team at 1-800-832-2412 for assistance. They have the ability to update the email address so you can put in your correct account.
Q: When purchasing a gift for someone, why do I have to create an account?
A: This is done for two reasons. One is so you can track the purchase of the order in your ‘order history’ section as well as being able to let our customer service team track your purchase and the person who received it if the need arises.
Q: Can I return or Exchange a gift after I purchase it?
A: Because the gift is sent immediately, it cannot be returned or exchanged by the person giving the gift. The recipient can exchange the gift for another course of equal or lesser value, or pay the difference on a more expensive item

Priority Code


How to Program: Computer Science Concepts and Python Exercises

Course No. 9151
Professor John Keyser, Ph.D.
Texas A&M University
Share This Course
3.8 out of 5
74 Reviews
71% of reviewers would recommend this series
Course No. 9151
Video Streaming Included Free

What Will You Learn?

  • Learn why Python is the ideal computer language for beginners.
  • Discover the ease of writing loop programs and also the peril of getting stuck in infinite loops.
  • 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.
  • Learn when a parameter or variable is in scope," how to work with data that is mutable, and what it means for parameters to have default values."
  • Design a grid-based matching game and use pyglet to make a graphical version of the game.
  • 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 a specified angle.

Course Overview

Learning a new language opens a wealth of opportunities. But there’s one language family that provides benefits like no other: the languages of computer programming. Now widely taught in schools—even in elementary schools—programming is an eminently learnable skill that gives you unrivalled problem-solving power you can apply in all areas of life. Programming is also a fun, creative activity that imparts deep insights into how we control the devices that influence virtually every aspect of our lives.

Writing computer code has truly gone mainstream in recent years. Simple, general-purpose computer languages that resemble English can be readily used by anyone, thanks to fundamental building blocks that allow even complete beginners to write short pieces of working code, while also taking the mystery and complexity out of more complicated scripts. Remarkable advances in hardware and in user interfaces mean that skills that were once highly technical, complicated, and difficult to learn are today within the reach of everyone who is willing to engage with a computer.

And now a pathbreaking guide is available with How to Program: Computer Science Concepts and Python Exercises. These 24 engaging and information-rich half-hour lessons use one of the world’s most accessible, popular, and powerful computer languages, Python 3, as a gateway to the universe of programming. Taught by Professor John Keyser of the Department of Computer Science and Engineering at Texas A&M University, one of the top-ranked computer science programs in the country, this unique video course offers the following advantages:

  • 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 Python computer language (named after the comedy troupe Monty Python) is ideal for beginners, with code based on ordinary English words and the flexibility to create many useful and creative programs.
  • 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.

Following some of the lessons, Professor Keyser leads you through supplementary problems that reinforce key programming strategies. In addition, the guidebook that accompanies the course features dozens of additional drills and practice exercises, always with answers, together with a reference section that includes definitions of computer science terms, important Python commands, and other useful information. No matter what level of experience and skill you have with computers, you can rest assured that this course will suit your needs from the first step: walking you through how to install Python 3 and the programming editor PyCharm, both of which are available free online.

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.

Professor Keyser begins with the basic code commands, and you start programming with him right away. In Lesson 1, you write a one-line program knowing just one command! You quickly build from there, mastering core principles and tools, including operators and variables, conditionals and loops, strings and files, functions, modules, packages, and more. By the end of the first half of the course, you will have tried out all of the most important fundamentals of programming.

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.
  • Creative: Programming lets you express your creativity, allowing you to implement your ideas in code. And just as there is never simply one way to express a thought in a language, there are usually many ways to get a program to do what you want. A good design sense will point you to the optimum solution for your particular problem.
  • 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.

Hide Full Description
24 lectures
 |  31 minutes each
  • 1
    What Is Programming? Why Python?
    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." x
  • 2
    Variables: Operations and Input/Output
    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. x
  • 3
    Conditionals and Boolean Expressions
    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. x
  • 4
    Basic Program Development and Testing
    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. x
  • 5
    Loops and Iterations
    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. x
  • 6
    Files and Strings
    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. x
  • 7
    Operations with Lists
    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. x
  • 8
    Top-Down Design of a Data Analysis Program
    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. x
  • 9
    Functions and Abstraction
    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. x
  • 10
    Parameter Passing, Scope, and Mutable Data
    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." x
  • 11
    Error Types, Systematic Debugging, Exceptions
    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. x
  • 12
    Python Standard Library, Modules, Packages
    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. x
  • 13
    Game Design with Functions
    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. x
  • 14
    Bottom-Up Design, Turtle Graphics, Robotics
    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. x
  • 15
    Event-Driven Programming
    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. x
  • 16
    Visualizing Data and Creating Simulations
    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. x
  • 17
    Classes and Object-Oriented Programming
    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. x
  • 18
    Objects with Inheritance and Polymorphism
    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. x
  • 19
    Data Structures: Stack, Queue, Dictionary, Set
    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. x
  • 20
    Algorithms: Searching and Sorting
    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. x
  • 21
    Recursion and Running Times
    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. x
  • 22
    Graphs and Trees
    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. x
  • 23
    Graph Search and a Word Game
    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. x
  • 24
    Parallel Computing Is Here
    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 the course with Professor Keyser's suggestions for your further explorations of programming, along with his reflections on the personal benefits of this remarkable human achievement. x

Lecture Titles

Clone Content from Your Professor tab

What's Included

What Does Each Format Include?

Video DVD
Video Download Includes:
  • Ability to download 24 video lectures from your digital library
  • Downloadable PDF of the course guidebook
  • FREE video streaming of the course from our website and mobile apps
Video DVD
Audio Download Includes:
  • Ability to download 24 audio lectures from your digital library
  • Downloadable PDF of the course guidebook
  • FREE audio streaming of the course from our website and mobile apps
Video DVD
DVD Includes:
  • 24 lectures on 4 DVDs
  • 314-page printed course guidebook
  • Downloadable PDF of the course guidebook
  • FREE video streaming of the course from our website and mobile apps
  • Closed captioning available

What Does The Course Guidebook Include?

Video DVD
Course Guidebook Details:
  • 314-page printed course guidebook
  • Suggested Reading
  • Exercises and answers
  • A guide to Python commands

Enjoy This Course On-the-Go with Our Mobile Apps!*

  • App store App store iPhone + iPad
  • Google Play Google Play Android Devices
  • Kindle Fire Kindle Fire Kindle Fire Tablet + Firephone
*Courses can be streamed from anywhere you have an internet connection. Standard carrier data rates may apply in areas that do not have wifi connections pursuant to your carrier contract.

Your professor

John Keyser

About Your Professor

John Keyser, Ph.D.
Texas A&M University
Dr. John Keyser is a Professor and the Associate Department Head for Academics in the Department of Computer Science and Engineering at Texas A&M University, where he has taught since earning his Ph.D. in Computer Science from the University of North Carolina. As an undergraduate, he earned three bachelor’s degrees—in Computer Science, Engineering Physics, and Applied Math—from Abilene Christian University. Dr....
Learn More About This Professor
Also By This Professor


How to Program: Computer Science Concepts and Python Exercises is rated 3.7 out of 5 by 74.
Rated 3 out of 5 by from Exercises at the end of each lecture Speaker is clear and articulate. My criticisms are: There are some errors, specifically, some of the examples he gives will not run on the computer until the errors ar corrected. The Course Guidebook is too sketchy and does not include some important information from the lectures, e.g. continue and break commands. The printed material is essential to learning the program.
Date published: 2017-03-07
Rated 5 out of 5 by from remarkable course Professor Keyser explores python programming in a carefully paced manner with an engaging enthusiasm. The viewer is shown how to install the free programming application python on their own computer, then frequent pauses allow the viewer to try examples on their own. Starting from simple concepts, the course advances to explore cutting-edge concepts in programming. Highly recommended!
Date published: 2017-03-02
Rated 4 out of 5 by from Good overview of Python basics I'm fairly satisfied with this course. The production quality was good, the lectures were well organized and in reasonable sized chunks. The course covered enough of the Python language for me to get in and start playing around with it a bit more, however I already program recreationally so for someone with no programming experience it might be difficult.
Date published: 2017-02-28
Rated 2 out of 5 by from Good material but bad mistakes I started into the course with the greatest expectation. However, when I got to the second major error in his code examples, I lost my respect. The code he writes and runs is fairly good but the code he shows and doesn't run is sometimes completely wrong. The example that prompted this review was in the lecture on loops when explaining the use of the 'continue' statement, namely: if day_to_skip == 0: continue which he explicitly dissects without noticing the glaring error. The proper code would have started with the following: if day_to_skip == day: Proper attention to detail and a competent set of reviewers should have caught this obvious error. This was not the first error in the few beginning lessons.
Date published: 2017-02-26
Rated 3 out of 5 by from I'm only on Lesson 5, but the instructor is great The content is great and easy to follow, but....there are way too many errors in the text. At first it was an irritation, but it is getting to be a pain. There are errors in the text, in the code examples and in the results. Didn't anyone at the Great Courses check the information provided?
Date published: 2017-02-26
Rated 4 out of 5 by from How to Program: Computer Science Concepts and Pyth I only bought this a couple weeks ago so haven't had a lot of time to work with it. What I have done so far is great, everything is explained clearly with lots of examples. I also am a hands on learner so being able to do as I learn is very important to me.
Date published: 2017-02-23
Rated 5 out of 5 by from Good to be alive in the 21st century with The Great Courses. Your excellent course on programming in the Python universe is putting me back on track to exploring Python, Arduino and Raspberry Pi
Date published: 2017-02-21
Rated 5 out of 5 by from Taught me exactly what I wanted to learn This is a great course. Would recommend to friends.
Date published: 2017-02-19
Rated 3 out of 5 by from ok i feel theres a lot more could be explained, when running his examples i get a LOT of item not defined and syntax errors,sometimes what he shows it should do doesnt come out that way when I run it.he sometimes teaches like we already know what he is talking about. i need to read the book over and over to figure out what he means,ie he doesnt explian FOR - IN, or why he set payment = 1,why why is what I need
Date published: 2017-02-14
Rated 5 out of 5 by from in-depth core concepts that can be readily used! Teacher was in-depth, on point in the content of Python. From basics to advanced functions, I have been able to start using python programming in conjunction with support books to complete my project.
Date published: 2017-02-12
Rated 3 out of 5 by from Recommended buy Too Short The course is good and can be recommended for those interested in the field. However, it is too short and should have been extended to 30 or 36 lectures. Computer science and programming are such a broad topic that this course had to leave out large portions even in a cursory introduction. For example, the introductory lecture(s) could have presented a little more on the history of programming and could have given a little more information on current programming languages. It is entirely fair and reasonable that the lecturer picked one language, in this case Python, as a teaching medium, but potential programmers might have to be familiar with others as well, so even a cursory set of references to other major languages would have been useful. Also, the lectures made almost no mention of major areas such as text processing, scientific computing, and advanced graphics. That is why an otherwise fine course should have been longer. Too much was left out for just 24 lectures.
Date published: 2017-02-12
Rated 5 out of 5 by from Got My Moneys Worth I did buy this a month ago and I'm very pleased . I've done some programming in other languages but had questions . This coarse is filling in many of the questions I had and given me a much better understanding of the basics of how software functions and therefore how to approach my own needs . Thank you .
Date published: 2017-02-05
Rated 4 out of 5 by from A Great Programming Course I have not actually finished all the lessons in this course yet, but I have seen enough to appreciate the power and flexibility of the Python language. However I do think that much of the material after the first few lessons would be a little overwhelming for someone without any programming experience.
Date published: 2017-01-23
Rated 5 out of 5 by from This is a good basic course I would recommend this course for anybody that is just starting to get into coding.
Date published: 2017-01-19
Rated 1 out of 5 by from haven't received it yet.
Date published: 2017-01-11
Rated 4 out of 5 by from programing the book is very readable as far as type and legibility. I am not a great programer so understanding it takes time. Lots of stuff including a text book and program module to download free. You need memory on your computer! fun but I am less than a scrip kitty so it is challenging.
Date published: 2017-01-01
Rated 5 out of 5 by from Broad Based Introduction Had to get familiar with Python in short amount of time. Got a microscopic and broad based explanation of Python in a complementary manner that allowed me to have a working knowledge of the language rapidly. Rally appreciated this course and teacher!
Date published: 2016-12-30
Rated 2 out of 5 by from Useless guide book The guide book printing is so light that it is very difficult to read. I was sent a replacement, but the problem of dim text also exists in the replacement. It is hard to evaluate a course when the course material is defective.
Date published: 2016-12-11
Rated 5 out of 5 by from Programming Course Just a quick note: I've taken a BASIC course, studied some C and now this course, and the light bulbs are turning on. Things are making more sense to me in how it is being delivered. I'm NOT a good programmer, but I believe programs like this will surely make me better. Thank You for an excellent presentation. Much Appreciated Bill Wood La Crosse Wis...
Date published: 2016-12-06
Rated 3 out of 5 by from How to Program: Computer Science Concepts and Pyth The course is rally good and relevant to what I expected to learn. However, I have gone through several chapters and cannot get the game program to run --- I have purchased the course transcript and still can't run the program. I plan to continue the course. However, some of the future chapters require this program to run for other and further demonstration.
Date published: 2016-11-29
Rated 4 out of 5 by from It's OK, so far. I went smoothly through 3 modules of this course and did not get stuck on any point so far. I noticed some typos but was able to quickly figure it out, st that's not an issue. I skipped through the course guide line book and noticed that there are 6 different recommended books. I am curious if anybody completed this course without getting recommended books and if it is even possible to do so? I am not sure if I want to buy 6 books for one programming language.
Date published: 2016-11-21
Rated 4 out of 5 by from Great content, examples riddled with errors I am an experienced programmer using this course to help teach my kids about programming. I'm there for them to answer questions and clarify things they don't understand, so the problems I'm about to discuss aren't a huge issue for us, but I think they could be for many other students. We are about halfway through the lectures, and so far, they have been excellent in content and delivery. The examples have been pretty well chosen, and the work assignments have been good for the kids, giving them practice and a chance to clarify things they didn't fully understand. We often pause the lecture, not only at the marked spots, but at other spots as well, to discuss what a bit of code does, and why, or what they think the program would do if we ran it. In many cases, we actually give it a try. The problem is that the examples shown on the screen - FOR EVERY SINGLE LECTURE SO FAR - have been riddled with typos and other errors that don't match what the professor is saying. This confuses the heck out of the kids; at first I found it annoying, but now find it mildly amusing, and gradually it's becoming a game of "what's wrong this time?" that is actually educational - though I doubt it was intended (and wouldn't be much fun without someone experienced along to interpret). So I recommend the course with reservations... if you are already a programmer and want a refresher and/or an introduction to Python language, it could be good. If you have a mentor to watch with, it can be excellent. If you are on your own, beware of the many errors in what's shown on the screen. Remember that in Python programming, every bit of punctuation, capitalization, and line indentation matters to what a program means... and getting those things wrong time after time, in lecture after lecture, can be really confusing - especially if you are trying to puzzle out why an example, carefully copied directly from the screen in front of you, doesn't work, or produces different output from what is shown. I am disappointed in the Great Courses for not carefully checking the visuals of this course, and hope that someone takes it in hand to correct them for a second edition. The course content deserves it.
Date published: 2016-11-11
Rated 4 out of 5 by from How to Program: Computer Concepts and Python Python programming by Professor Keyser is an excellent course, but not perfect - lol. I've read several of the prior reviews, and was somewhat surprised. I have an extensive background in mainframe computing, and a growing background in learning programming and systems in the PC and internet worlds. Yes, the course guide book was partially printed in a shaded font which made it difficult to read, but you could always just access online, or download the PDF version, which is much easier to read because you can play with the font size and display environment. Yes, many of the code examples on the screen were too little and/or fuzzy to read. This also was a minor nuisance, as the professor either talked you through it, or provided better examples later. Yes, with my background, or if you had any experience in programming, particularly at the PC level, the first half of the course tended to be rather slow and boring. This course though, is meant for everyone, and succeeds at that level quite well. The early stages are fairly straight forward, and intuitive, and the course does pick up the pace quite a bit as it moves farther along in the process. While the depth of issues explored suffers somewhat of necessity, the range of issues, (PC programming basics, (syntax, logic, modular development and design, testing/debugging), Python specific functions and libraries, and Object Oriented Programming, (OOP)), is quite good. Professor Keyser obviously has an excellent command of his subject matter, and even more importantly, the ability to present what he knows to new learners in a way that facilitates their ability to actually learn it. Two thumbs up to Professor Keyser. I was impressed enough with this course to order it again as a gift for someone else.
Date published: 2016-11-08
Rated 1 out of 5 by from Deeply disappointing The instructions for loading and installing the Python IDE failed completely, I wasted 3 hours trying to get pycharm working with no luck. Do not waste your time or money with this.
Date published: 2016-11-02
Rated 4 out of 5 by from Python In fact I haven't finished all 24 segments but what I have learned from this course so far is very valuable Professor Keiser is very instructive in giving the viewers insightful computer programming of Python. His analogy in explanation between computer terminology and physical world excellently denotes the way to understanding of the programming. I will stick around this course until I've learned more about Python.
Date published: 2016-09-30
Rated 4 out of 5 by from Organized flow of subjects is appreciated. I have not yet completed but so far so good presentation.
Date published: 2016-09-19
Rated 5 out of 5 by from Haven't completed the course as of yet I ordered this before I got sick and since then have had the attention span of a Cocker Spaniel puppy so I haven't done a lot with it. It has really helped me though as the online courses assume one already knows all the "command" and function calls. They also assume one knows C++ which I don't. This course is much better for someone who knows nothing about Python. The only other codes I know, (other than Cobal, Fortran and Forth! from college days, I forgot the old "Apple-soft" variation of basic.) are HTML and of course the old BASIC that I wrote a ton of programs in for work. I'm retired now. I have always learned by doing and this course is good for doing that. (I eventually get to the same place as those who are better disciplined than I am.)
Date published: 2016-09-18
Rated 4 out of 5 by from
Date published: 2016-09-15
Rated 5 out of 5 by from The Full Monte! Computer Science exposed! OMG! Like the "Flying Circus" and "Holy Grail" of development programming combined. My only problem is that although the console is named "Idle" (after Eric Idle), there is no "Michael Palin" stuttering editor, or "John Cleese" debugger; and these are among my favorite all-time performers. The best thing about the Python offering is the development advice, and the great instruction by Prof Keyser on computer science topics. The topics include data structures, algorithms, programming language features, and software life cycle issues; across application domains that I find are indeed associated with Python. Application domains presented include: 1. Financial; including interest calculations, retirement income longevity, and currency rate arbitrage. 2. Games; like "Candy Crush Saga" stuff, various board games. 3. Visual art, robotics, and education; especially via turtle graphics. Although many universities (like UC Berkley) have AI and topics like machine learning using Python, that space easily is an advanced course. Development environments include PyCharm by JetBrain, as used in the course. Separate from Keyser's instruction, Eclipse and Visual Studio, the major enterprise development environments, have free community editions, and training on using Python on those products. Python is consistently a top 5 rated employment "language to learn", with Java, C++, C#, and Javascript. An obvious question is "what's the best programming language"? The answer IMHO is, more than one, in a competitive marketplace, in various application spaces. I've watched languages develop over time, especially C++, Java, and C#, and attest to the dramatic feature and price improvements of a competitive language landscape. Python is a typical example of massive feature improvements. When Python started out in 1991, it didn't even have classes. Now, Python 3.5 has "generics" and "callables" (aka typed function pointers), which makes it easier to consider implementing advanced design patterns like dependency injection. Python always intended (see WikiPedia) to be extensible, experimental, and "fun". Indeed, great plan. NOTE BENE- I'm talking to folks who do not like the changes above 2.7, and consider them unstable because many modules now need a rewrite. As to the Python minimalist language features (maybe half the keywords of Java), it feels like R with classes and great library resources; and I've found R and Python frequently in the same "data scientist" space, where Python is used by those with more development experience. I have to express a preference for C++/Java/C# "cleverness" features like a switch statement, enumerations, more explicit keywords, and stronger typing for enterprise programming in the large. In any case, for medium and small projects, like Raspberry PI IoT (Internet of Things) "embedded", specific AI and machine learning functionality, LOGO/ Turtle educational learning; Python may be spot on. Unmentioned resources I've found include: 1. WikiPedia, "Python programming language" gives a history of the language from its 1991 inception by the BDFL (Benevolent Dictator For Life) Van Possum. Also, a free Python textbook is offered. 2. Design Patterns in Python, 3. The best enterpreneurial development cycle tutorial (not language specific) is the "The Lean Startup" by Reis. "Fail early, fail fast" development, as Keyser correctly instructs. Now, what's missing is a final exam, and a final "bootcamp" project. FINAL EXAM: available at EdX, with certification-I haven't completed it yet, and will check back when I'm done. The completion rate is 15%. I *dare* ya to take the exam! I *double* *DOG* dare ya! PROJECTS: available galore in conjunction with Raspberry PI 3, especially for education. I'm doing a "home automation" project with friends, and I'll check back when done, as the project may change. My inspiration here is green energy saving ideas from "Everyday Engineering" by Ressler from Great Courses. Alternately, I'm aware that some top 5 bank IT groups may have this Great Courses Python training as a requirement of employment. So, do a transaction fraud detection module via PySpark via In any case, have fun. I am.
Date published: 2016-09-01
Rated 4 out of 5 by from
Date published: 2016-08-18
  • y_2017, m_7, d_19, h_14
  • bvseo_bulk, prod_bvrr, vn_bulk_1.0.0-hotfix-1
  • cp_2, bvpage2n
  • co_hasreviews, tv_5, tr_69
  • loc_en_US, sid_9151, prod, sort_[SortEntry(order=SUBMISSION_TIME, direction=DESCENDING)]
  • clientName_teachco
  • bvseo_sdk, p_sdk, 3.2.0
  • CLOUD, getContent, 4.4ms

Questions & Answers


1-10 of 11 Questions
1-10 of Questions

Customers Who Bought This Course Also Bought

Buy together as a Set
Save Up To $207.00
Choose a Set Format
Video title