À propos de ce cours
7,792 consultations récentes

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau débutant

Approx. 55 heures pour terminer

Recommandé : 12 weeks of study, at 6 to 10 hours/week....

Anglais

Sous-titres : Anglais

Compétences que vous acquerrez

Python Syntax And SemanticsVideo GamesPython ProgrammingProblem SolvingComputer Science

100 % en ligne

Commencez dès maintenant et apprenez aux horaires qui vous conviennent.

Dates limites flexibles

Réinitialisez les dates limites selon votre disponibilité.

Niveau débutant

Approx. 55 heures pour terminer

Recommandé : 12 weeks of study, at 6 to 10 hours/week....

Anglais

Sous-titres : Anglais

Programme du cours : ce que vous apprendrez dans ce cours

Semaine
1
1 heure pour terminer

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.

...
6 vidéos (Total 31 min), 2 lectures, 1 quiz
6 vidéos
Computer Science5 min
Programming Languages3 min
Learning Outcomes and Problem-Based Learning4 min
How to Get the Most Out of this Course5 min
Suggestions for Learner Success5 min
2 lectures
Instructor Bios10 min
Acknowledgements10 min
1 exercice pour s'entraîner
Introduction16 min
Semaine
2
3 heures pour terminer

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.

...
7 vidéos (Total 58 min), 6 lectures, 6 quiz
7 vidéos
Observe Hacking Game2 min
Game Versions10 min
Observe Hacking Version 11 min
Describe Hacking Version 111 min
Create Test Plan for Hacking Version 113 min
Create Algorithm for Hacking Version 110 min
6 lectures
The PVG Virtual Machine20 min
Play Hacking Game10 min
Play Hacking Version 110 min
Describe Hacking Version 110 min
Create Test Plan for Hacking Version 110 min
Create Algorithm for Hacking Version 110 min
6 exercices pour s'entraîner
Game Creation Process4 min
Understand Hacking2 min
Game Versions10 min
Understand Hacking Version 12 min
The Game Creation Process2 min
Problem Solving Ontology10 min
Semaine
3
4 heures pour terminer

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.

...
12 vidéos (Total 79 min), 7 lectures, 11 quiz
12 vidéos
Python Interpretation10 min
Python Lexical Analysis7 min
Python Syntax Analysis11 min
Python Objects5 min
Python Semantics of Literals and Identifiers10 min
Python Semantics of Function Calls3 min
Python Program Interpretation5 min
Program Hacking Version 19 min
The Reflection Process2 min
Review Code for Hacking Version 15 min
Solution Issues2 min
7 lectures
The Python Shell in the Wing IDE20 min
Lexical Rules, Tables and Sample Problem (identifier, literal and delimiter)10 min
Syntax Diagrams and Sample Problem (expression statement, expression and function call)10 min
Semantic Rules and Sample Problem (identifier, literal and function call)10 min
Programming With the Wing IDE10 min
Hacking Version 1 Solution Code10 min
Software Quality Tests for Hacking Version 110 min
11 exercices pour s'entraîner
Python Evaluation Examples6 min
Interpretation (lexical analysis, syntax analysis and semantic analysis)8 min
Lexical Analysis (identifier, literal and delimiter)20 min
Syntax Analysis (expression statement, expression and function call)16 min
Python Objects8 min
Semantic Analysis (identifier, literal and function call)8 min
Evaluation (identifier, literal and function call)8 min
Programming (identifier, literal and function call)2 min
Program Hacking Version 14 min
Reflect on Language Concepts used in Hacking Version 112 min
The Game Creation Process2 min
Semaine
4
11 heures pour terminer

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.

...
12 vidéos (Total 74 min), 18 lectures, 30 quiz
12 vidéos
Observe Hacking Version 21 min
Describe Hacking Version 25 min
Regression Testing and Deleting Obsolete Tests4 min
Create Algorithm for Hacking Version 21 min
Python Assignment Statement8 min
Python Binary Expression and Operator Token8 min
Python Import Statement and Keyword Token7 min
Python Multi-argument Function Call5 min
Python Method Call and Attribute Reference7 min
Program Hacking Version 211 min
Review Code for Hacking Version 25 min
18 lectures
Play Hacking Version 210 min
Describe Hacking Version 210 min
Create Test Plan for Hacking Version 210 min
Create Algorithm for Hacking Version 210 min
Syntax Diagrams and Sample Problem (statement and assignment statement )10 min
Semantic Rules (assignment statement)10 min
Lexical Rules and Tables (operator)10 min
Syntax Diagrams (binary expression and binary operator)10 min
Semantic Rules (binary expression)10 min
Lexical Rules and Tables (keyword)10 min
Syntax Diagrams (import statement and module)10 min
Semantic Rules (import statement)10 min
Syntax Diagrams and Sample Problem (multi-argument function call)10 min
Semantic Rules and Sample Problem (multi-argument function call)10 min
Syntax Diagrams (method call and attribute reference)10 min
Semantic Rules (method call and attribute reference)10 min
Hacking Version 2 Solution Code10 min
Software Quality Tests for Hacking Version 210 min
30 exercices pour s'entraîner
Solution Issues in Hacking Version 110 min
Understand Hacking Version 22 min
Delete Obsolete Tests for Hacking Version 22 min
Lexical Analysis (review)16 min
Syntax Analysis (statement and assignment statement)20 min
Semantic Analysis (assignment statement)12 min
Evaluation (assignment statement)14 min
Programming (assignment statement)2 min
Lexical Analysis (operator)20 min
Syntax Analysis (binary expression and binary operator)36 min
Semantic Analysis (binary expression)18 min
Evaluation (binary expression and operator)14 min
Programming (binary expression and operator)2 min
Lexical Analysis (keyword)18 min
Syntax Analysis (import statement and module)12 min
Semantic Analysis (import statement)10 min
Evaluation (import statement and keyword)10 min
Programming (import statement and keyword)2 min
Lexical Analysis (review)22 min
Syntax Analysis (multi-argument function call)36 min
Semantic Analysis (multi-argument function call)28 min
Evaluation (multi-argument function call)14 min
Programming (multi-argument function call)2 min
Lexical Analysis (review)18 min
Syntax Analysis (method call and attribute reference)28 min
Semantic Analysis (method call and attribute reference)16 min
Evaluation (method call and attribute reference)12 min
Programming (method call and attribute reference)2 min
Program Hacking Version 24 min
Reflect on language concepts used in Hacking Version 216 min
Semaine
5
10 heures pour terminer

Module 4: Hacking Version 3

In Module 4, you will modify your game design to support multiple gameplay paths using a new problem decomposition criteria called case-based decomposition, which utilizes a selection control structure. You will learn one new Python statement (if), one new Python expression (unary expression), and one new Python type (bool). You will employ these Python constructs to write, test, and debug Hacking Version 3.

...
8 vidéos (Total 40 min), 13 lectures, 19 quiz
8 vidéos
Observe Hacking Version 335s
Create Algorithm for Hacking Version 34 min
Python If Statement and Boolean Type10 min
Python Elif and Else Clauses7 min
Python Keyword Operator, Short Circuit Evaluation, Unary Expression, and Operator Precedence7 min
Program Hacking Version 32 min
Review Code for Hacking Version 34 min
13 lectures
Play Hacking Version 310 min
Describe Hacking Version 310 min
Create Test Plan for Hacking Version 310 min
Create Algorithm for Hacking Version 310 min
Lexical Rules, Tables and Sample Problem (newline, indent and dedent)10 min
Syntax Diagrams (if statement)10 min
Semantic Rules (if statement)10 min
Syntax Diagrams (elif and else clause)10 min
Semantic Rules (elif and else clauses)10 min
Syntax Diagrams and Sample Problem (keyword operator, unary expression, unary operator, and operator precedence)10 min
Semantic Rule (keyword operator and unary expression)10 min
Hacking Version 3 Solution Code10 min
Software Quality Tests in Hacking Version 310 min
19 exercices pour s'entraîner
Solution Issues in Hacking Version 26 min
Understand Hacking Version 32 min
Delete Obsolete Tests for Hacking Version 32 min
Lexical Analysis (newline, indent and dedent)34 min
Syntax Analysis (if statement)44 min
Semantic Analysis (if statement)30 min
Evaluation (if statement and boolean)14 min
Programming (if statement and boolean type)2 min
Lexical Analysis (review)44 min
Syntax Analysis (elif and else clauses)1h 12min
Semantic Analysis (elif and else clause)36 min
Evaluation (elif and else clauses)
Programming (elif and else clause)2 min
Lexical Analysis (review)42 min
Syntax Analysis (keyword operator, unary expression, unary operator, and operator precedence)1 h
Semantic Analysis (short circuit evaluation and operator precedence)36 min
Programming (keyword operator, short circuit evaluation, unary expression, and operator precedence)2 min
Program Hacking Version 36 min
Reflect on language concepts used in Hacking Version 310 min
Semaine
6
12 heures pour terminer

Module 5: Hacking Version 4 & 5

In Module 5, you will modify your game design using two new abstraction techniques, called control abstraction and data abstraction. You will explore two different control abstractions, called definite and indefinite repetition. You will learn two new Python statements (for, while), four new Python expressions (subscription expression, expression list, parenthesized expression, list display), and three new Python types (tuple, list, range). You will employ these Python constructs to write, test, and debug Hacking Version 4 and Hacking Version 5.

...
17 vidéos (Total 73 min), 18 lectures, 29 quiz
17 vidéos
Create Algorithm for Hacking Version 44 min
Python Sequences and Subscription8 min
Python Tuple and List Types5 min
Python Sequence Element Replacement4 min
Python For Statement5 min
Program Hacking Version 42 min
Review Code for Hacking Version 45 min
Solution Issues in Hacking Version 43 min
Observe Hacking Version 51 min
Describe Hacking Version 555s
Create Test Plan for Hacking Version 52 min
Create Algorithm for Hacking Version 54 min
Python While Statement4 min
Python Repetition Examples and Range Type8 min
Program Hacking Version 51 min
Review Code for Hacking Version 54 min
18 lectures
Create Algorithm for Hacking Version 410 min
Syntax Diagrams (subscription)10 min
Semantic Rules (subscription)10 min
Syntax Diagrams (expression list, parenthesized expression, list display)10 min
Semantic Rules (tuple and list type)10 min
Syntax Diagrams (assignment target: subscription)10 min
Semantic Rules (assignment target: subscription)10 min
Syntax Diagrams (for statement)10 min
Semantic Rules (for statement)10 min
Hacking Version 4 Solution Code10 min
Software Quality Tests for Hacking Version 410 min
Play Hacking Version 510 min
Describe Hacking Version 510 min
Create Test Plan for Hacking Version 510 min
Create Algorithm for Hacking Version 510 min
Syntax Diagrams (while statement)10 min
Semantic Analysis (while statement)10 min
Hacking Version 5 Solution Code10 min
29 exercices pour s'entraîner
Lexical Analysis (review)46 min
Syntax Analysis (subscription)44 min
Semantic Analysis (subscription)14 min
Evaluation (sequences and subscription)12 min
Programming (sequences and subscription)2 min
Syntax Analysis (expression list, parenthesized expression and list display)44 min
Semantic Analysis (tuple and list type)16 min
Evaluation (tuple and list type)12 min
Programming (tuple and list types)4 min
Syntax Analysis (assignment target: subscription)32 min
Semantic Analysis (assignment target: subscription)26 min
Evaluation (sequence element replacement)8 min
Programming (sequence element replacement)2 min
Syntax Analysis (for statement)44 min
Semantic Analysis (for statement)38 min
Evaluation (for statement)8 min
Programming (for statement)2 min
Program Hacking Version 46 min
Reflect on Language Concepts used in Hacking Version 48 min
Understand Hacking Version 52 min
Delete Obsolete Descriptions from Hacking Version 54 min
Syntax Analysis (while statement)40 min
Semantic Analysis (while statement)34 min
Evaluation (while statement)
Programming (while statement)2 min
Evaluation (range type)
Programming (range type)2 min
Program Hacking Version 56 min
Reflect on Language Concepts used in Hacking Version 514 min
Semaine
7
7 heures pour terminer

Module 6: Hacking Version 6

In Module 6, you will learn a new control abstraction called a user-defined function. You will learn how to implement user-defined functions using two new Python statements (function definition, return). You will employ these Python constructs to significantly improve the quality of your code in Hacking Version 6.

...
8 vidéos (Total 64 min), 8 lectures, 19 quiz
8 vidéos
Python Function Definitions15 min
Python Function Parameters6 min
Python Main Function and Identifier Scope9 min
Python Return Statement5 min
Python Side Effects6 min
Program Hacking Version 69 min
Review Code for Hacking Version 68 min
8 lectures
Syntax Diagrams (function definition)10 min
Semantic Rules (function definition)10 min
Syntax Diagrams (parameter list)10 min
Semantic Rules (parameter list)10 min
Syntax Diagrams (return statement)10 min
Semantic Rules (return statement)10 min
Hacking Version 6 Solution Code10 min
Software Quality Tests for Hacking Version10 min
19 exercices pour s'entraîner
Lexical Analysis (review)38 min
Syntax Analysis (function definition)56 min
Semantic Analysis (function definition)24 min
Evaluation (function definition)
Programming (function definition)2 min
Syntax Analysis (parameter list)44 min
Semantic Analysis (parameter list)38 min
Evaluation (function parameters)
Programming (function parameters)2 min
Evaluation (main function)
Programming (main function)2 min
Syntax Analysis (return statement)36 min
Semantic Analysis (return statement)22 min
Evaluation (return statement)
Programming (return statement)4 min
Evaluation (side effects)
Programming (side effects)4 min
Program Hacking Version 66 min
Reflect on Language Concepts used in Hacking Version 614 min
Semaine
8
1 heure pour terminer

Module 7: Hacking Version 7

In Module 7, you will not learn any new problem-solving techniques or Python language features. Instead you will exercise your problem-solving skills and practice the language constructs you already know to improve your proficiency. You will add some fun features to the Hacking game by designing, coding, testing, and debugging Hacking Version 7.

...
5 vidéos (Total 12 min), 5 lectures, 2 quiz
5 vidéos
Observe Hacking Version 71 min
Create Algorithm for Hacking Version 73 min
Program Hacking Version 73 min
Identify Solution Issues in Hacking Version 72 min
5 lectures
Play Hacking Version 710 min
Describe Hacking Version 710 min
Create Test Plan for Hacking Version 710 min
Create Algorithm for Hacking Version 710 min
Hacking Version 7 Solution Code10 min
2 exercices pour s'entraîner
Understand Hacking Version 72 min
Program Hacking Version 76 min
Semaine
9
8 heures pour terminer

Module 8: Poke the Dots Version 1 & 2

In Module 8, you will design and implement Version 1 of a new graphical game called Poke the Dots. You will then modify your game design using data abstraction to create user-defined classes. You will learn two new Python statements (class definition, pass) that will allow you to construct your own Python types. You will employ these Python constructs to implement Poke the Dots Version 2.

...
12 vidéos (Total 84 min), 16 lectures, 17 quiz
12 vidéos
Observe Poke the Dots Version 155s
Create Algorithm for Poke the Dots Version 112 min
Python Import Statement Variations9 min
Python Pass Statement2 min
Program Poke the Dots Version 113 min
Review Code for Poke the Dots Version 19 min
Solution Issues in Poke the Dots Version 12 min
Create Algorithm for Poke the Dots Version 22 min
Python Class Definition15 min
Program Poke the Dots Version 25 min
Review Code for Poke the Dots Version 27 min
16 lectures
Play Poke the Dots10 min
Play Poke the Dots Version 110 min
Describe Poke the Dots Version 110 min
Create Test Plan for Poke the Dots Version 110 min
Create Algorithm for Poke the Dots Version 110 min
Syntax Diagrams (import statement variations)10 min
Semantic Rules (import statement variations)10 min
Syntax Diagrams (pass statement)10 min
Semantic Rules (pass statement)10 min
Poke the Dots Version 1 Solution Code10 min
Updated Algorithm for Poke the Dots Version 110 min
Create Algorithm for Poke the Dots Version 210 min
Syntax Diagrams (class definition)10 min
Semantic Rules (class definition)10 min
Poke the Dots Version 2 Solution Code10 min
Software Quality Tests for Poke the Dots Version10 min
17 exercices pour s'entraîner
Understand Poke the Dots2 min
Understand Poke the Dots Version 12 min
Lexical Analysis (review)50 min
Syntax Analysis (import statement variations)24 min
Semantic Analysis (import statement variations)16 min
Programming (import statement variations)2 min
Syntax Analysis (pass statement)32 min
Semantic Analysis (pass statement)28 min
Programming (pass statement)2 min
Program Poke the Dots Version 12 min
Reflect on Language Concepts used in Poke the Dots Version 18 min
Syntax Analysis (class definition)
Syntax Analysis (assignment target: attribute reference)
Semantic Analysis (class definition)32 min
Programming (class definition)2 min
Program Poke the Dots Version 22 min
Reflect on Language Concepts used in Poke the Dots Version 28 min
Semaine
10
1 heure pour terminer

Module 9: Poke the Dots Version 3

In Module 9, you will not learn any new problem-solving techniques or Python language features. Instead you will exercise your problem-solving skills and practice the language constructs you already know to improve your proficiency. You will add some fun features to the Poke the Dots game by designing, coding, testing, and debugging Poke the Dots Version 3.

...
5 vidéos (Total 10 min), 5 lectures, 5 quiz
5 vidéos
Observe Poke the Dots Version 31 min
Create Algorithm for Poke the Dots Version 31 min
Program Poke the Dots Version 31 min
Review Code for Poke the Dots Version 34 min
5 lectures
Play Poke the Dots Version 310 min
Describe Poke the Dots Version 310 min
Create Test Plan for Poke the Dots Version 310 min
Create Algorithm for Poke the Dots Version 310 min
Poke the Dots Version 3 Solution Code10 min
5 exercices pour s'entraîner
Understand Poke the Dots Version 32 min
Delete Obsolete Descriptions for Poke the Dots Version 32 min
Delete Obsolete Tests for Poke the Dots Version 32 min
Program Poke the Dots Version 32 min
Reflect on Event Categories Used in Poke the Dots Version 36 min
Semaine
11
3 heures pour terminer

Module 10: Poke the Dots Version 4

In Module 10, you will modify your game design using a new form of control abstraction called user-defined methods. User-defined methods allow you to restrict access to the attributes of a class to improve data abstraction. You will employ user-defined methods to implement Poke the Dots Version 4.

...
6 vidéos (Total 39 min), 4 lectures, 5 quiz
6 vidéos
Create Algorithm for Poke the Dots Version 45 min
Python User-defined Methods and Self11 min
Python Private Attributes3 min
Program Poke the Dots Version 46 min
Review Code for Poke the Dots Version 47 min
4 lectures
Create Algorithm for Poke the Dots Version 410 min
Semantic Rules (user-defined methods)10 min
Poke the Dots Version 4 Solution Code10 min
Software Quality Tests for Poke the Dots Version 410 min
5 exercices pour s'entraîner
Lexical Analysis (review)40 min
Semantic Analysis (user-defined methods)38 min
Programming (user-defined methods)2 min
Program Poke the Dots Version 42 min
Reflect on Language Concepts used in Poke the Dots Version 48 min
Semaine
12
1 heure pour terminer

Module 11: Poke the Dots Version 5

In Module 11, you will not learn any new problem-solving techniques or Python language features. Instead you will exercise your problem-solving skills and practice the language constructs you already know to improve your proficiency. You will add some fun features to the Poke the Dots game by designing, coding, testing, and debugging Poke the Dots Version 5.

...
5 vidéos (Total 8 min), 5 lectures, 2 quiz
5 vidéos
Observe Poke the Dots Version 51 min
Create Algorithm for Poke the Dots Version 548s
Program Poke the Dots Version 51 min
Solution Issues in Poke the Dots Version 54 min
5 lectures
Play Poke the Dots Version 510 min
Describe Poke the Dots Version 510 min
Create Test Plan for Poke the Dots Version 510 min
Create Algorithm for Poke the Dots Version 510 min
Poke the Dots Version 5 Solution Code10 min
2 exercices pour s'entraîner
Understand Poke the Dots Version 52 min
Program Poke the Dots Version 52 min

Enseignants

Avatar

Duane Szafron

Professor
Computing Science
Avatar

Paul Lu

Professor
Computing Science

À propos de Université de l'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....

Foire Aux Questions

  • Une fois que vous êtes inscrit(e) pour un Certificat, vous pouvez accéder à toutes les vidéos de cours, et à tous les quiz et exercices de programmation (le cas échéant). Vous pouvez soumettre des devoirs à examiner par vos pairs et en examiner vous-même uniquement après le début de votre session. Si vous préférez explorer le cours sans l'acheter, vous ne serez peut-être pas en mesure d'accéder à certains devoirs.

  • Lorsque vous achetez un Certificat, vous bénéficiez d'un accès à tout le contenu du cours, y compris les devoirs notés. Lorsque vous avez terminé et réussi le cours, votre Certificat électronique est ajouté à votre page Accomplissements. À partir de cette page, vous pouvez imprimer votre Certificat ou l'ajouter à votre profil LinkedIn. Si vous souhaitez seulement lire et visualiser le contenu du cours, vous pouvez accéder gratuitement au cours en tant qu'auditeur libre.

  • 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.

D'autres questions ? Visitez le Centre d'Aide pour les Etudiants.