Problem Solving, Python Programming, and Video Games

  • 4.2
Approx. 78 hours to complete

Course Summary

Learn how to solve problems and create your own video games using programming languages. This course will teach you how to use programming concepts to create video games that are both fun and challenging.

Key Learning Points

  • Learn how to solve programming problems using problem-solving techniques
  • Understand the principles of video game design and programming
  • Create your own video games using programming languages

Related Topics for further study


Learning Outcomes

  • Understand programming concepts and how to apply them to problem-solving
  • Create your own video games using programming languages
  • Learn about video game design principles and how to apply them to your own games

Prerequisites or good to have knowledge before taking this course

  • Basic understanding of programming concepts
  • Access to a computer with internet connection

Course Difficulty Level

Intermediate

Course Format

  • Online
  • Self-paced

Similar Courses

  • Introduction to Game Development
  • Game Design and Development

Related Education Paths


Notable People in This Field

  • Mark Brown
  • Extra Credits

Related Books

Description

This course is an introduction to computer science and programming in Python. Upon successful completion of this course, you will be able to:

Outline

  • Module 0: Introduction
  • Course Themes
  • Computer Science
  • Programming Languages
  • Learning Outcomes and Problem-Based Learning
  • How to Get the Most Out of this Course
  • Suggestions for Learner Success
  • Instructor Bios
  • Acknowledgements
  • Introduction
  • Module 1: Design Hacking Version 1
  • Game Creation Process
  • Observe Hacking Game
  • Game Versions
  • Observe Hacking Version 1
  • Describe Hacking Version 1
  • Create Test Plan for Hacking Version 1
  • Create Algorithm for Hacking Version 1
  • The PVG Virtual Machine
  • Play Hacking Game
  • Play Hacking Version 1
  • Describe Hacking Version 1
  • Create Test Plan for Hacking Version 1
  • Create Algorithm for Hacking Version 1
  • Game Creation Process
  • Understand Hacking
  • Game Versions
  • Understand Hacking Version 1
  • The Game Creation Process
  • Problem Solving Ontology
  • Module 2: Program Hacking Version 1
  • Python Evaluation Examples
  • Python Interpretation
  • Python Lexical Analysis
  • Python Syntax Analysis
  • Python Objects
  • Python Semantics of Literals and Identifiers
  • Python Semantics of Function Calls
  • Python Program Interpretation
  • Program Hacking Version 1
  • The Reflection Process
  • Review Code for Hacking Version 1
  • Solution Issues
  • The Python Shell in the Wing IDE
  • Lexical Rules, Tables and Sample Problem (identifier, literal and delimiter)
  • Syntax Diagrams and Sample Problem (expression statement, expression and function call)
  • Semantic Rules and Sample Problem (identifier, literal and function call)
  • Programming With the Wing IDE
  • Hacking Version 1 Solution Code
  • Software Quality Tests for Hacking Version 1
  • Python Evaluation Examples
  • Interpretation (lexical analysis, syntax analysis and semantic analysis)
  • Lexical Analysis (identifier, literal and delimiter)
  • Syntax Analysis (expression statement, expression and function call)
  • Python Objects
  • Semantic Analysis (identifier, literal and function call)
  • Evaluation (identifier, literal and function call)
  • Programming (identifier, literal and function call)
  • Program Hacking Version 1
  • Reflect on Language Concepts used in Hacking Version 1
  • The Game Creation Process
  • Module 3: Hacking Version 2
  • Solution Issues in Hacking Version 1
  • Observe Hacking Version 2
  • Describe Hacking Version 2
  • Regression Testing and Deleting Obsolete Tests
  • Create Algorithm for Hacking Version 2
  • Python Assignment Statement
  • Python Binary Expression and Operator Token
  • Python Import Statement and Keyword Token
  • Python Multi-argument Function Call
  • Python Method Call and Attribute Reference
  • Program Hacking Version 2
  • Review Code for Hacking Version 2
  • Play Hacking Version 2
  • Describe Hacking Version 2
  • Create Test Plan for Hacking Version 2
  • Create Algorithm for Hacking Version 2
  • Syntax Diagrams and Sample Problem (statement and assignment statement )
  • Semantic Rules (assignment statement)
  • Lexical Rules and Tables (operator)
  • Syntax Diagrams (binary expression and binary operator)
  • Semantic Rules (binary expression)
  • Lexical Rules and Tables (keyword)
  • Syntax Diagrams (import statement and module)
  • Semantic Rules (import statement)
  • Syntax Diagrams and Sample Problem (multi-argument function call)
  • Semantic Rules and Sample Problem (multi-argument function call)
  • Syntax Diagrams (method call and attribute reference)
  • Semantic Rules (method call and attribute reference)
  • Hacking Version 2 Solution Code
  • Software Quality Tests for Hacking Version 2
  • Solution Issues in Hacking Version 1
  • Understand Hacking Version 2
  • Delete Obsolete Tests for Hacking Version 2
  • Lexical Analysis (review)
  • Syntax Analysis (statement and assignment statement)
  • Semantic Analysis (assignment statement)
  • Evaluation (assignment statement)
  • Programming (assignment statement)
  • Lexical Analysis (operator)
  • Syntax Analysis (binary expression and binary operator)
  • Semantic Analysis (binary expression)
  • Evaluation (binary expression and operator)
  • Programming (binary expression and operator)
  • Lexical Analysis (keyword)
  • Syntax Analysis (import statement and module)
  • Semantic Analysis (import statement)
  • Evaluation (import statement and keyword)
  • Programming (import statement and keyword)
  • Lexical Analysis (review)
  • Syntax Analysis (multi-argument function call)
  • Semantic Analysis (multi-argument function call)
  • Evaluation (multi-argument function call)
  • Programming (multi-argument function call)
  • Lexical Analysis (review)
  • Syntax Analysis (method call and attribute reference)
  • Semantic Analysis (method call and attribute reference)
  • Evaluation (method call and attribute reference)
  • Programming (method call and attribute reference)
  • Program Hacking Version 2
  • Reflect on language concepts used in Hacking Version 2
  • Module 4: Hacking Version 3
  • Solution Issues in Hacking Version 2
  • Observe Hacking Version 3
  • Create Algorithm for Hacking Version 3
  • Python If Statement and Boolean Type
  • Python Elif and Else Clauses
  • Python Keyword Operator, Short Circuit Evaluation, Unary Expression, and Operator Precedence
  • Program Hacking Version 3
  • Review Code for Hacking Version 3
  • Play Hacking Version 3
  • Describe Hacking Version 3
  • Create Test Plan for Hacking Version 3
  • Create Algorithm for Hacking Version 3
  • Lexical Rules, Tables and Sample Problem (newline, indent and dedent)
  • Syntax Diagrams (if statement)
  • Semantic Rules (if statement)
  • Syntax Diagrams (elif and else clause)
  • Semantic Rules (elif and else clauses)
  • Syntax Diagrams and Sample Problem (keyword operator, unary expression, unary operator, and operator precedence)
  • Semantic Rule (keyword operator and unary expression)
  • Hacking Version 3 Solution Code
  • Software Quality Tests in Hacking Version 3
  • Solution Issues in Hacking Version 2
  • Understand Hacking Version 3
  • Delete Obsolete Tests for Hacking Version 3
  • Lexical Analysis (newline, indent and dedent)
  • Syntax Analysis (if statement)
  • Semantic Analysis (if statement)
  • Evaluation (if statement and boolean)
  • Programming (if statement and boolean type)
  • Lexical Analysis (review)
  • Syntax Analysis (elif and else clauses)
  • Semantic Analysis (elif and else clause)
  • Evaluation (elif and else clauses)
  • Programming (elif and else clause)
  • Lexical Analysis (review)
  • Syntax Analysis (keyword operator, unary expression, unary operator, and operator precedence)
  • Semantic Analysis (short circuit evaluation and operator precedence)
  • Programming (keyword operator, short circuit evaluation, unary expression, and operator precedence)
  • Program Hacking Version 3
  • Reflect on language concepts used in Hacking Version 3
  • Module 5: Hacking Version 4 & 5
  • Solution Issues in Hacking Version 3
  • Create Algorithm for Hacking Version 4
  • Python Sequences and Subscription
  • Python Tuple and List Types
  • Python Sequence Element Replacement
  • Python For Statement
  • Program Hacking Version 4
  • Review Code for Hacking Version 4
  • Solution Issues in Hacking Version 4
  • Observe Hacking Version 5
  • Describe Hacking Version 5
  • Create Test Plan for Hacking Version 5
  • Create Algorithm for Hacking Version 5
  • Python While Statement
  • Python Repetition Examples and Range Type
  • Program Hacking Version 5
  • Review Code for Hacking Version 5
  • Create Algorithm for Hacking Version 4
  • Syntax Diagrams (subscription)
  • Semantic Rules (subscription)
  • Syntax Diagrams (expression list, parenthesized expression, list display)
  • Semantic Rules (tuple and list type)
  • Syntax Diagrams (assignment target: subscription)
  • Semantic Rules (assignment target: subscription)
  • Syntax Diagrams (for statement)
  • Semantic Rules (for statement)
  • Hacking Version 4 Solution Code
  • Software Quality Tests for Hacking Version 4
  • Play Hacking Version 5
  • Describe Hacking Version 5
  • Create Test Plan for Hacking Version 5
  • Create Algorithm for Hacking Version 5
  • Syntax Diagrams (while statement)
  • Semantic Analysis (while statement)
  • Hacking Version 5 Solution Code
  • Lexical Analysis (review)
  • Syntax Analysis (subscription)
  • Semantic Analysis (subscription)
  • Evaluation (sequences and subscription)
  • Programming (sequences and subscription)
  • Syntax Analysis (expression list, parenthesized expression and list display)
  • Semantic Analysis (tuple and list type)
  • Evaluation (tuple and list type)
  • Programming (tuple and list types)
  • Syntax Analysis (assignment target: subscription)
  • Semantic Analysis (assignment target: subscription)
  • Evaluation (sequence element replacement)
  • Programming (sequence element replacement)
  • Syntax Analysis (for statement)
  • Semantic Analysis (for statement)
  • Evaluation (for statement)
  • Programming (for statement)
  • Program Hacking Version 4
  • Reflect on Language Concepts used in Hacking Version 4
  • Understand Hacking Version 5
  • Delete Obsolete Descriptions from Hacking Version 5
  • Syntax Analysis (while statement)
  • Semantic Analysis (while statement)
  • Evaluation (while statement)
  • Programming (while statement)
  • Evaluation (range type)
  • Programming (range type)
  • Program Hacking Version 5
  • Reflect on Language Concepts used in Hacking Version 5
  • Module 6: Hacking Version 6
  • Solution Issues in Hacking Version 5
  • Python Function Definitions
  • Python Function Parameters
  • Python Main Function and Identifier Scope
  • Python Return Statement
  • Python Side Effects
  • Program Hacking Version 6
  • Review Code for Hacking Version 6
  • Syntax Diagrams (function definition)
  • Semantic Rules (function definition)
  • Syntax Diagrams (parameter list)
  • Semantic Rules (parameter list)
  • Syntax Diagrams (return statement)
  • Semantic Rules (return statement)
  • Hacking Version 6 Solution Code
  • Software Quality Tests for Hacking Version 6
  • Lexical Analysis (review)
  • Syntax Analysis (function definition)
  • Semantic Analysis (function definition)
  • Evaluation (function definition)
  • Programming (function definition)
  • Syntax Analysis (parameter list)
  • Semantic Analysis (parameter list)
  • Evaluation (function parameters)
  • Programming (function parameters)
  • Evaluation (main function)
  • Programming (main function)
  • Syntax Analysis (return statement)
  • Semantic Analysis (return statement)
  • Evaluation (return statement)
  • Programming (return statement)
  • Evaluation (side effects)
  • Programming (side effects)
  • Program Hacking Version 6
  • Reflect on Language Concepts used in Hacking Version 6
  • Module 7: Hacking Version 7
  • Solution Issues in Hacking Version 6
  • Observe Hacking Version 7
  • Create Algorithm for Hacking Version 7
  • Program Hacking Version 7
  • Identify Solution Issues in Hacking Version 7
  • Play Hacking Version 7
  • Describe Hacking Version 7
  • Create Test Plan for Hacking Version 7
  • Create Algorithm for Hacking Version 7
  • Hacking Version 7 Solution Code
  • Understand Hacking Version 7
  • Program Hacking Version 7
  • Module 8: Poke the Dots Version 1 & 2
  • Introduction to Poke the Dots
  • Observe Poke the Dots Version 1
  • Create Algorithm for Poke the Dots Version 1
  • Python Import Statement Variations
  • Python Pass Statement
  • Program Poke the Dots Version 1
  • Review Code for Poke the Dots Version 1
  • Solution Issues in Poke the Dots Version 1
  • Create Algorithm for Poke the Dots Version 2
  • Python Class Definition
  • Program Poke the Dots Version 2
  • Review Code for Poke the Dots Version 2
  • Play Poke the Dots
  • Play Poke the Dots Version 1
  • Describe Poke the Dots Version 1
  • Create Test Plan for Poke the Dots Version 1
  • Create Algorithm for Poke the Dots Version 1
  • Syntax Diagrams (import statement variations)
  • Semantic Rules (import statement variations)
  • Syntax Diagrams (pass statement)
  • Semantic Rules (pass statement)
  • Poke the Dots Version 1 Solution Code
  • Updated Algorithm for Poke the Dots Version 1
  • Create Algorithm for Poke the Dots Version 2
  • Syntax Diagrams (class definition)
  • Semantic Rules (class definition)
  • Poke the Dots Version 2 Solution Code
  • Software Quality Tests for Poke the Dots Version 2
  • Understand Poke the Dots
  • Understand Poke the Dots Version 1
  • Lexical Analysis (review)
  • Syntax Analysis (import statement variations)
  • Semantic Analysis (import statement variations)
  • Programming (import statement variations)
  • Syntax Analysis (pass statement)
  • Semantic Analysis (pass statement)
  • Programming (pass statement)
  • Program Poke the Dots Version 1
  • Reflect on Language Concepts used in Poke the Dots Version 1
  • Syntax Analysis (class definition)
  • Syntax Analysis (assignment target: attribute reference)
  • Semantic Analysis (class definition)
  • Programming (class definition)
  • Program Poke the Dots Version 2
  • Reflect on Language Concepts used in Poke the Dots Version 2
  • Module 9: Poke the Dots Version 3
  • Solution Issues in Poke the Dots Version 2
  • Observe Poke the Dots Version 3
  • Create Algorithm for Poke the Dots Version 3
  • Program Poke the Dots Version 3
  • Review Code for Poke the Dots Version 3
  • Play Poke the Dots Version 3
  • Describe Poke the Dots Version 3
  • Create Test Plan for Poke the Dots Version 3
  • Create Algorithm for Poke the Dots Version 3
  • Poke the Dots Version 3 Solution Code
  • Understand Poke the Dots Version 3
  • Delete Obsolete Descriptions for Poke the Dots Version 3
  • Delete Obsolete Tests for Poke the Dots Version 3
  • Program Poke the Dots Version 3
  • Reflect on Event Categories Used in Poke the Dots Version 3
  • Module 10: Poke the Dots Version 4
  • Solution Issues in Poke the Dots Version 3
  • Create Algorithm for Poke the Dots Version 4
  • Python User-defined Methods and Self
  • Python Private Attributes
  • Program Poke the Dots Version 4
  • Review Code for Poke the Dots Version 4
  • Create Algorithm for Poke the Dots Version 4
  • Semantic Rules (user-defined methods)
  • Poke the Dots Version 4 Solution Code
  • Software Quality Tests for Poke the Dots Version 4
  • Lexical Analysis (review)
  • Semantic Analysis (user-defined methods)
  • Programming (user-defined methods)
  • Program Poke the Dots Version 4
  • Reflect on Language Concepts used in Poke the Dots Version 4
  • Module 11: Poke the Dots Version 5
  • Solution Issues in Poke the Dots Version 4
  • Observe Poke the Dots Version 5
  • Create Algorithm for Poke the Dots Version 5
  • Program Poke the Dots Version 5
  • Solution Issues in Poke the Dots Version 5
  • Play Poke the Dots Version 5
  • Describe Poke the Dots Version 5
  • Create Test Plan for Poke the Dots Version 5
  • Create Algorithm for Poke the Dots Version 5
  • Poke the Dots Version 5 Solution Code
  • Understand Poke the Dots Version 5
  • Program Poke the Dots Version 5

Summary of User Reviews

Discover how to solve problems and develop programming skills to create video games with this course. Users have rated this course highly and praised its ability to teach complex concepts in a clear and concise way. One key aspect that many users found good was the hands-on approach to learning through practical assignments and projects.

Pros from User Reviews

  • Hands-on approach to learning
  • Clear and concise teaching style
  • Provides a solid foundation for beginners
  • Great for those interested in game development
  • Offers practical assignments and projects

Cons from User Reviews

  • Some users found the course too basic
  • Course may not be challenging enough for experienced programmers
  • Not enough focus on advanced game development techniques
  • Some technical issues with the platform
  • Some users felt the course was too short
English
Available now
Approx. 78 hours to complete
Duane Szafron, Paul Lu
University of Alberta
Coursera

Instructor

Duane Szafron

  • 4.2 Raiting
Share
Saved Course list
Cancel
Get Course Update
Computer Courses