We may earn an affiliate commission when you visit our partners.
Joe Warren, Scott Rixner, John Greiner, and Stephen Wong

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse.

Read more

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple. These applications will involve windows whose contents are graphical and respond to buttons, the keyboard and the mouse.

In part 2 of this course, we will introduce more elements of programming (such as list, dictionaries, and loops) and then use these elements to create games such as Blackjack. Part 1 of this class will culminate in building a version of the classic arcade game "Asteroids". Upon completing this course, you will be able to write small, but interesting Python programs. The next course in the specialization will begin to introduce a more principled approach to writing programs and solving computational problems that will allow you to write larger and more complex programs.

Enroll now

What's inside

Syllabus

Week 5 - Mouse input, list methods, dictionaries
Read mouse input, learn about list methods and dictionaries, draw images
Week 6 - Classes and object-oriented programming
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Designed for beginners with little to no coding experience, easing them into programming concepts
Employs a user-friendly, browser-based programming environment, simplifying interactive application development
Provides hands-on practice building interactive Python applications, including a version of the classic arcade game "Asteroids"
Introduces fundamental programming concepts, such as lists, dictionaries, and loops, gradually building understanding
Covers basic game physics, sprites, and sound integration, empowering learners to create interactive games

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Hands-on python programming through games

According to learners, this course receives largely positive feedback, particularly for its hands-on approach to learning Python programming through building engaging game projects like Blackjack and Asteroids. Students appreciate how the practical assignments help solidify concepts taught in the clear video lectures. The course utilizes the unique browser-based CodeSkulptor environment, which is noted as easy for beginners but also a departure from standard Python setups, prompting some to seek additional practice elsewhere. While it effectively builds on the foundation of Part 1 and provides a solid understanding of core programming and OOP, some learners found the pace, especially in sections like game physics, to be quite challenging, requiring significant dedication.
Requires Part 1 knowledge; pace can be challenging.
"You definitely need to have taken Part 1 and understood it well to keep up with this section."
"Some sections, like game physics and collisions, were quite challenging and required extra effort or background."
"The material progresses quickly, so consistent practice and review are needed."
Simple browser IDE, but non-standard Python.
"The CodeSkulptor environment was easy to get started with for a beginner like me."
"While CodeSkulptor is simple and tailored for the course, I sometimes wished we used a standard Python environment."
"It's a good tool for learning course concepts, but less useful for general Python development outside this class."
Provides strong basic programming skills.
"After completing this course, I feel I have a solid understanding of basic programming concepts and OOP."
"It gave me the confidence to try writing my own simple programs and understand how they work."
"A great next step after Part 1 to build foundational Python skills needed for more complex tasks."
Concepts are taught effectively for beginners.
"Lectures explain complex topics like classes and physics in an understandable way."
"The instructors do a great job breaking down challenging programming ideas clearly."
"I found the video lectures easy to follow and well-paced for my level."
Building games makes learning fun and practical.
"Building the games like Blackjack and Asteroids was incredibly fun and motivating."
"The practical projects helped solidify the concepts learned in lectures; I felt like I was really coding."
"I enjoyed applying Python to create functional games; it made learning interactive and rewarding."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in An Introduction to Interactive Programming in Python (Part 2) with these activities:
Compile your course materials
Compile your course materials to stay organized and have everything you need in one place.
Browse courses on Python
Show steps
  • Gather your notes, assignments, and quizzes
  • Organize your materials
  • Create a study plan
Review Python basics
Review Python basics to refresh your memory and prepare for the course.
Browse courses on Python
Show steps
  • Review your notes from previous courses
  • Take practice quizzes
  • Complete online tutorials
Read 'Learn Python in 10 Minutes'
Review the book 'Learn Python in 10 Minutes' to solidify your understanding of Python basics and prepare for the course.
Show steps
  • Read the book
  • Take notes on key concepts
  • Complete the exercises
Five other activities
Expand to see all activities and additional details
Show all eight activities
Follow Python tutorials
Follow Python tutorials to supplement your learning and explore specific topics in more detail.
Browse courses on Python
Show steps
  • Identify relevant tutorials
  • Follow the tutorials
  • Complete the exercises
Practice writing Python code
Practice writing Python code to reinforce the concepts learned in class and improve your coding skills.
Browse courses on Python
Show steps
  • Debug your code
  • Set up a Python development environment
  • Write simple Python programs
Create a Python presentation
Create a Python presentation to demonstrate your understanding of a specific topic and improve your communication skills.
Browse courses on Python
Show steps
  • Choose a topic
  • Research and gather information
  • Create the presentation
  • Practice and rehearse
  • Deliver the presentation
Create a Python project
Create a Python project to apply your skills and demonstrate your understanding of the course material.
Browse courses on Python
Show steps
  • Identify a project idea
  • Design and plan your project
  • Implement your project
  • Test and debug your project
  • Document your project
Participate in Python coding competitions
Participate in Python coding competitions to test your skills against others and further your knowledge.
Browse courses on Python
Show steps
  • Identify coding competitions
  • Practice and prepare
  • Participate in the competition

Career center

Learners who complete An Introduction to Interactive Programming in Python (Part 2) will develop knowledge and skills that may be useful to these careers:
Data Scientist
Data Scientists use scientific methods, processes, algorithms, and systems to extract knowledge and insights from data. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in programming. Python is a popular language for data science due to its extensive libraries and ease of use.
Software Developer
Software Developers are responsible for designing, implementing, and maintaining software systems. To become a Software Developer, a course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in programming. The skills you will learn, such as object-oriented programming, are especially relevant to this field.
Web Developer
Web Developers are responsible for designing, developing, and maintaining websites. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in the basics of developing interactive web applications in Python.
Data Analyst
Data Analysts collect, analyze, and interpret data to provide insights for decision-making. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful to build a foundation in Python. The course introduces students to list methods, dictionaries, and set data structures, commonly used to organize and manipulate data for analysis.
Systems Analyst
Systems Analysts study an organization's current business processes to define and implement new and improved systems. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in Python, a language becoming more popular in systems analysis due to its simplicity and versatility.
Computer Programmer
Computer Programmers write and test code that allows computer applications and software programs to run. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in programming fundamentals. The course covers topics like classes, objects, methods, and data structures, essential for Computer Programmers.
Game Designer
Game Designers conceptualize, develop, and test a game's concept, rules, and content. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in Python, a programming language often used in game development. Students will familiarize themselves with object-oriented programming and work with graphic images, which are core aspects of game design.
Computer Systems Analyst
Computer Systems Analysts analyze and design the hardware, software, and networks used by an organization. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in Python, a programming language commonly used for scripting and automating tasks in systems analysis.
Information Security Analyst
Information Security Analysts protect an organization's computer networks and systems from unauthorized access, use, disclosure, disruption, modification, or destruction. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in programming. The course covers object-oriented programming, dictionaries, and sets, which are commonly used to work with and secure data.
Database Administrator
Database Administrators are responsible for the performance, reliability, and security of an organization's databases. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in programming. Python is a popular language for working with databases due to its simplicity and versatility.
Quality Assurance Analyst
Quality Assurance Analysts test software products to identify and report bugs and defects. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in programming fundamentals. The course covers topics like object-oriented programming and data structures, commonly used in software testing.
Technical Writer
Technical Writers create instruction manuals, technical reports, and other documentation to communicate complex technical information clearly and concisely. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in programming. The course provides hands-on experience with Python, which is valuable for understanding the subject matter being documented.
User Experience Designer
User Experience Designers research, design, and evaluate the user experience of products and services. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in programming. Python is commonly used to create prototypes and simulations for user experience design.
Business Analyst
Business Analysts analyze and evaluate an organization's business processes to identify areas for improvement. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in programming. Python is commonly used for data analysis, a valuable skill for Business Analysts to understand business data and trends.
Product Manager
Product Managers are responsible for the planning, development, and launch of products. A course called *An Introduction to Interactive Programming in Python Part 2* may be useful for building a foundation in programming. Python is commonly used for data analysis, a skill becoming increasingly valuable for Product Managers.

Reading list

We've selected 15 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in An Introduction to Interactive Programming in Python (Part 2).
Provides a comprehensive introduction to Python and computer science principles, serving as a valuable foundation for the course's focus on interactive programming and game development.
Provides a concise and comprehensive reference for Python, serving as a valuable resource for understanding the language's syntax, semantics, and built-in functions.
Provides comprehensive and accessible coverage of essential Python concepts, including variables, data structures, loops, and functions, making it a suitable supplement for the course's focus on interactive programming in Python.
Provides practical guidance on game development using Python and the Pygame library, aligning with the course's focus on creating interactive applications and games.
Provides a comprehensive collection of Python recipes and solutions for common programming tasks, serving as a valuable reference guide for the course's practical applications.
Explores advanced Python concepts and idioms, extending the course's coverage of Python's capabilities and providing insights into idiomatic Python programming.
Introduces fundamental programming concepts and problem-solving techniques using Python, complementing the course's focus on application development by emphasizing computational thinking.
Delves deeper into data structures and algorithms using Python, extending the course's coverage of these topics and providing a solid foundation for future programming endeavors.
Introduces algorithms and data structures in an accessible and engaging way, providing a solid foundation for understanding the concepts used in the course's interactive programming projects.
Focuses on problem-solving techniques using Python, complementing the course's emphasis on developing interactive applications and games by providing a deeper understanding of algorithmic thinking.
Specifically focuses on object-oriented programming in Python, complementing the course's introduction to the topic and providing in-depth coverage of advanced concepts.
Provides a hands-on introduction to data science concepts and techniques using Python, offering a valuable perspective on data analysis and manipulation, which can enhance the course's exploration of interactive data visualizations.
Offers practical guidance on automating tasks with Python, providing valuable insights into the language's capabilities beyond interactive applications, enriching the course's learning experience.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2025 OpenCourser