About this Course
4.6
5 ratings
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Beginner Level

Beginner Level

Hours to complete

Approx. 52 hours to complete

Suggested: 12 weeks of study, at 6 to 10 hours/week....
Available languages

English

Subtitles: English
100% online

100% online

Start instantly and learn at your own schedule.
Flexible deadlines

Flexible deadlines

Reset deadlines in accordance to your schedule.
Beginner Level

Beginner Level

Hours to complete

Approx. 52 hours to complete

Suggested: 12 weeks of study, at 6 to 10 hours/week....
Available languages

English

Subtitles: English

Syllabus - What you will learn from this course

Week
1
Hours to complete
1 hour to complete

Module 0: Introduction

In Module 0, you will meet the instructional team and be introduced to the four themes of this course: computer science, problem solving, Python programming, and how to create video games....
Reading
6 videos (Total 31 min), 2 readings, 1 quiz
Video6 videos
Computer Science5m
Programming Languages3m
Learning Outcomes and Problem-Based Learning4m
How to Get the Most Out of this Course5m
Suggestions for Learner Success5m
Reading2 readings
Instructor Bios10m
Acknowledgements10m
Quiz1 practice exercise
Introduction16m
Week
2
Hours to complete
3 hours to complete

Module 1: Design Hacking Version 1

In Module 1, you will explore the game creation process that is used in this course. You will use this process to design Version 1 of the first game, Hacking. You will use two problem-solving techniques: problem decomposition and algorithms. You will explore five criteria for problem decomposition: experiential decomposition, feature selection, problem refinement, spatial decomposition, and temporal decomposition. To create your design for Hacking Version 1, you will use three interactive learning objects: the description builder, functional test plan builder, and algorithm builder....
Reading
7 videos (Total 58 min), 6 readings, 6 quizzes
Video7 videos
Observe Hacking Game2m
Game Versions10m
Observe Hacking Version 11m
Describe Hacking Version 111m
Create Test Plan for Hacking Version 113m
Create Algorithm for Hacking Version 110m
Reading6 readings
The PVG Virtual Machine20m
Play Hacking Game10m
Play Hacking Version 110m
Describe Hacking Version 110m
Create Test Plan for Hacking Version 110m
Create Algorithm for Hacking Version 110m
Quiz6 practice exercises
Game Creation Process4m
Understand Hacking2m
Game Versions10m
Understand Hacking Version 12m
The Game Creation Process2m
Problem Solving Ontology10m
Week
3
Hours to complete
4 hours to complete

Module 2: Program Hacking Version 1

In Module 2, you will discover how lexics, syntax, and semantics can be used to understand and describe programming languages. You will use these concepts to understand your first Python statement (expression statement), first three Python expressions (literal, identifier, function call), and first five Python types (int, str, float, function, NoneType). You will use these Python constructs to write, test, and debug Hacking Version 1, a text-based game version. You will then reflect on your game version by using a third problem-solving technique called abstraction, including the specific technique of solution generalization, to solve similar problems....
Reading
12 videos (Total 79 min), 7 readings, 11 quizzes
Video12 videos
Python Interpretation10m
Python Lexical Analysis7m
Python Syntax Analysis11m
Python Objects5m
Python Semantics of Literals and Identifiers10m
Python Semantics of Function Calls3m
Python Program Interpretation5m
Program Hacking Version 19m
The Reflection Process2m
Review Code for Hacking Version 15m
Solution Issues2m
Reading7 readings
The Python Shell in the Wing IDE20m
Lexical Rules, Tables and Sample Problem (identifier, literal and delimiter)10m
Syntax Diagrams and Sample Problem (expression statement, expression and function call)10m
Semantic Rules and Sample Problem (identifier, literal and function call)10m
Programming With the Wing IDE10m
Hacking Version 1 Solution Code10m
Software Quality Tests for Hacking Version 110m
Quiz11 practice exercises
Python Evaluation Examples6m
Interpretation (lexical analysis, syntax analysis and semantic analysis)8m
Lexical Analysis (identifier, literal and delimiter)20m
Syntax Analysis (expression statement, expression and function call)16m
Python Objects8m
Semantic Analysis (identifier, literal and function call)8m
Evaluation (identifier, literal and function call)8m
Programming (identifier, literal and function call)2m
Program Hacking Version 14m
Reflect on Language Concepts used in Hacking Version 112m
The Game Creation Process2m
Week
4
Hours to complete
11 hours to complete

Module 3: Hacking Version 2

In Module 3, you will identify solution issues in your game. You will apply a second form of the abstraction problem-solving technique, called using templates, to solve a solution issue by using a graphics library. You will then use lexics, syntax, and semantics to learn two new Python statements (assignment, import), two new Python expressions (binary expression, attribute reference), and one new Python type (module). You will employ these Python constructs and a simple graphics library to write, test, and debug Hacking Version 2....
Reading
12 videos (Total 74 min), 18 readings, 30 quizzes
Video12 videos
Observe Hacking Version 21m
Describe Hacking Version 25m
Regression Testing and Deleting Obsolete Tests4m
Create Algorithm for Hacking Version 21m
Python Assignment Statement8m
Python Binary Expression and Operator Token8m
Python Import Statement and Keyword Token7m
Python Multi-argument Function Call5m
Python Method Call and Attribute Reference7m
Program Hacking Version 211m
Review Code for Hacking Version 25m
Reading18 readings
Play Hacking Version 210m
Describe Hacking Version 210m
Create Test Plan for Hacking Version 210m
Create Algorithm for Hacking Version 210m
Syntax Diagrams and Sample Problem (statement and assignment statement )10m
Semantic Rules (assignment statement)10m
Lexical Rules and Tables (operator)10m
Syntax Diagrams (binary expression and binary operator)10m
Semantic Rules (binary expression)10m
Lexical Rules and Tables (keyword)10m
Syntax Diagrams (import statement and module)10m
Semantic Rules (import statement)10m
Syntax Diagrams and Sample Problem (multi-argument function call)10m
Semantic Rules and Sample Problem (multi-argument function call)10m
Syntax Diagrams (method call and attribute reference)10m
Semantic Rules (method call and attribute reference)10m
Hacking Version 2 Solution Code10m
Software Quality Tests for Hacking Version 210m
Quiz30 practice exercises
Solution Issues in Hacking Version 110m
Understand Hacking Version 22m
Delete Obsolete Tests for Hacking Version 22m
Lexical Analysis (review)16m
Syntax Analysis (statement and assignment statement)20m
Semantic Analysis (assignment statement)12m
Evaluation (assignment statement)14m
Programming (assignment statement)2m
Lexical Analysis (operator)20m
Syntax Analysis (binary expression and binary operator)36m
Semantic Analysis (binary expression)18m
Evaluation (binary expression and operator)14m
Programming (binary expression and operator)2m
Lexical Analysis (keyword)18m
Syntax Analysis (import statement and module)12m
Semantic Analysis (import statement)10m
Evaluation (import statement and keyword)10m
Programming (import statement and keyword)2m
Lexical Analysis (review)22m
Syntax Analysis (multi-argument function call)36m
Semantic Analysis (multi-argument function call)28m
Evaluation (multi-argument function call)14m
Programming (multi-argument function call)2m
Lexical Analysis (review)18m
Syntax Analysis (method call and attribute reference)28m
Semantic Analysis (method call and attribute reference)16m
Evaluation (method call and attribute reference)12m
Programming (method call and attribute reference)2m
Program Hacking Version 24m
Reflect on language concepts used in Hacking Version 216m

Instructors

Avatar

Duane Szafron

Professor
Computing Science
Avatar

Paul Lu

Professor
Computing Science

About University of Alberta

UAlberta is considered among the world’s leading public research- and teaching-intensive universities. As one of Canada’s top universities, we’re known for excellence across the humanities, sciences, creative arts, business, engineering and health sciences....

Frequently Asked Questions

  • Once you enroll for a Certificate, you’ll have access to all videos, quizzes, and programming assignments (if applicable). Peer review assignments can only be submitted and reviewed once your session has begun. If you choose to explore the course without purchasing, you may not be able to access certain assignments.

  • When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile. If you only want to read and view the course content, you can audit the course for free.

  • All learners can access all the videos, assessments, interactive learning objects (ILO), virtual machine (VM) image, and forums for free.

  • No. The PVG course by itself does not qualify for credit.

    Getting course credit from the University of Alberta requires a learner to apply to the University as either a degree or an open-studies student. Once accepted, a student must enrol, and attend classes and labs on-campus. For such students, PVG can be used as part of a for-credit introductory course to computer science and programming, called Computing Science (CMPUT) 174, Introduction to the Foundations of Computing, Part 1.

More questions? Visit the Learner Help Center.