Informações sobre o curso
7,606 visualizações recentes

100% online

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível iniciante

Aprox. 55 horas para completar

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

Inglês

Legendas: Inglês

Habilidades que você terá

Python Syntax And SemanticsVideo GamesPython ProgrammingProblem SolvingComputer Science

100% online

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível iniciante

Aprox. 55 horas para completar

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

Inglês

Legendas: Inglês

Programa - O que você aprenderá com este curso

Semana
1
1 hora para concluir

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 vídeos ((Total 31 mín.)), 2 leituras, 1 teste
6 videos
Computer Science5min
Programming Languages3min
Learning Outcomes and Problem-Based Learning4min
How to Get the Most Out of this Course5min
Suggestions for Learner Success5min
2 leituras
Instructor Bios10min
Acknowledgements10min
1 exercício prático
Introduction16min
Semana
2
3 horas para concluir

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 vídeos ((Total 58 mín.)), 6 leituras, 6 testes
7 videos
Observe Hacking Game2min
Game Versions10min
Observe Hacking Version 11min
Describe Hacking Version 111min
Create Test Plan for Hacking Version 113min
Create Algorithm for Hacking Version 110min
6 leituras
The PVG Virtual Machine20min
Play Hacking Game10min
Play Hacking Version 110min
Describe Hacking Version 110min
Create Test Plan for Hacking Version 110min
Create Algorithm for Hacking Version 110min
6 exercícios práticos
Game Creation Process4min
Understand Hacking2min
Game Versions10min
Understand Hacking Version 12min
The Game Creation Process2min
Problem Solving Ontology10min
Semana
3
4 horas para concluir

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 vídeos ((Total 79 mín.)), 7 leituras, 11 testes
12 videos
Python Interpretation10min
Python Lexical Analysis7min
Python Syntax Analysis11min
Python Objects5min
Python Semantics of Literals and Identifiers10min
Python Semantics of Function Calls3min
Python Program Interpretation5min
Program Hacking Version 19min
The Reflection Process2min
Review Code for Hacking Version 15min
Solution Issues2min
7 leituras
The Python Shell in the Wing IDE20min
Lexical Rules, Tables and Sample Problem (identifier, literal and delimiter)10min
Syntax Diagrams and Sample Problem (expression statement, expression and function call)10min
Semantic Rules and Sample Problem (identifier, literal and function call)10min
Programming With the Wing IDE10min
Hacking Version 1 Solution Code10min
Software Quality Tests for Hacking Version 110min
11 exercícios práticos
Python Evaluation Examples6min
Interpretation (lexical analysis, syntax analysis and semantic analysis)8min
Lexical Analysis (identifier, literal and delimiter)20min
Syntax Analysis (expression statement, expression and function call)16min
Python Objects8min
Semantic Analysis (identifier, literal and function call)8min
Evaluation (identifier, literal and function call)8min
Programming (identifier, literal and function call)2min
Program Hacking Version 14min
Reflect on Language Concepts used in Hacking Version 112min
The Game Creation Process2min
Semana
4
11 horas para concluir

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 vídeos ((Total 74 mín.)), 18 leituras, 30 testes
12 videos
Observe Hacking Version 21min
Describe Hacking Version 25min
Regression Testing and Deleting Obsolete Tests4min
Create Algorithm for Hacking Version 21min
Python Assignment Statement8min
Python Binary Expression and Operator Token8min
Python Import Statement and Keyword Token7min
Python Multi-argument Function Call5min
Python Method Call and Attribute Reference7min
Program Hacking Version 211min
Review Code for Hacking Version 25min
18 leituras
Play Hacking Version 210min
Describe Hacking Version 210min
Create Test Plan for Hacking Version 210min
Create Algorithm for Hacking Version 210min
Syntax Diagrams and Sample Problem (statement and assignment statement )10min
Semantic Rules (assignment statement)10min
Lexical Rules and Tables (operator)10min
Syntax Diagrams (binary expression and binary operator)10min
Semantic Rules (binary expression)10min
Lexical Rules and Tables (keyword)10min
Syntax Diagrams (import statement and module)10min
Semantic Rules (import statement)10min
Syntax Diagrams and Sample Problem (multi-argument function call)10min
Semantic Rules and Sample Problem (multi-argument function call)10min
Syntax Diagrams (method call and attribute reference)10min
Semantic Rules (method call and attribute reference)10min
Hacking Version 2 Solution Code10min
Software Quality Tests for Hacking Version 210min
30 exercícios práticos
Solution Issues in Hacking Version 110min
Understand Hacking Version 22min
Delete Obsolete Tests for Hacking Version 22min
Lexical Analysis (review)16min
Syntax Analysis (statement and assignment statement)20min
Semantic Analysis (assignment statement)12min
Evaluation (assignment statement)14min
Programming (assignment statement)2min
Lexical Analysis (operator)20min
Syntax Analysis (binary expression and binary operator)36min
Semantic Analysis (binary expression)18min
Evaluation (binary expression and operator)14min
Programming (binary expression and operator)2min
Lexical Analysis (keyword)18min
Syntax Analysis (import statement and module)12min
Semantic Analysis (import statement)10min
Evaluation (import statement and keyword)10min
Programming (import statement and keyword)2min
Lexical Analysis (review)22min
Syntax Analysis (multi-argument function call)36min
Semantic Analysis (multi-argument function call)28min
Evaluation (multi-argument function call)14min
Programming (multi-argument function call)2min
Lexical Analysis (review)18min
Syntax Analysis (method call and attribute reference)28min
Semantic Analysis (method call and attribute reference)16min
Evaluation (method call and attribute reference)12min
Programming (method call and attribute reference)2min
Program Hacking Version 24min
Reflect on language concepts used in Hacking Version 216min
Semana
5
10 horas para concluir

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 vídeos ((Total 40 mín.)), 13 leituras, 19 testes
8 videos
Observe Hacking Version 335s
Create Algorithm for Hacking Version 34min
Python If Statement and Boolean Type10min
Python Elif and Else Clauses7min
Python Keyword Operator, Short Circuit Evaluation, Unary Expression, and Operator Precedence7min
Program Hacking Version 32min
Review Code for Hacking Version 34min
13 leituras
Play Hacking Version 310min
Describe Hacking Version 310min
Create Test Plan for Hacking Version 310min
Create Algorithm for Hacking Version 310min
Lexical Rules, Tables and Sample Problem (newline, indent and dedent)10min
Syntax Diagrams (if statement)10min
Semantic Rules (if statement)10min
Syntax Diagrams (elif and else clause)10min
Semantic Rules (elif and else clauses)10min
Syntax Diagrams and Sample Problem (keyword operator, unary expression, unary operator, and operator precedence)10min
Semantic Rule (keyword operator and unary expression)10min
Hacking Version 3 Solution Code10min
Software Quality Tests in Hacking Version 310min
19 exercícios práticos
Solution Issues in Hacking Version 26min
Understand Hacking Version 32min
Delete Obsolete Tests for Hacking Version 32min
Lexical Analysis (newline, indent and dedent)34min
Syntax Analysis (if statement)44min
Semantic Analysis (if statement)30min
Evaluation (if statement and boolean)14min
Programming (if statement and boolean type)2min
Lexical Analysis (review)44min
Syntax Analysis (elif and else clauses)1h 12min
Semantic Analysis (elif and else clause)36min
Evaluation (elif and else clauses)
Programming (elif and else clause)2min
Lexical Analysis (review)42min
Syntax Analysis (keyword operator, unary expression, unary operator, and operator precedence)1h
Semantic Analysis (short circuit evaluation and operator precedence)36min
Programming (keyword operator, short circuit evaluation, unary expression, and operator precedence)2min
Program Hacking Version 36min
Reflect on language concepts used in Hacking Version 310min
Semana
6
12 horas para concluir

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 vídeos ((Total 73 mín.)), 18 leituras, 29 testes
17 videos
Create Algorithm for Hacking Version 44min
Python Sequences and Subscription8min
Python Tuple and List Types5min
Python Sequence Element Replacement4min
Python For Statement5min
Program Hacking Version 42min
Review Code for Hacking Version 45min
Solution Issues in Hacking Version 43min
Observe Hacking Version 51min
Describe Hacking Version 555s
Create Test Plan for Hacking Version 52min
Create Algorithm for Hacking Version 54min
Python While Statement4min
Python Repetition Examples and Range Type8min
Program Hacking Version 51min
Review Code for Hacking Version 54min
18 leituras
Create Algorithm for Hacking Version 410min
Syntax Diagrams (subscription)10min
Semantic Rules (subscription)10min
Syntax Diagrams (expression list, parenthesized expression, list display)10min
Semantic Rules (tuple and list type)10min
Syntax Diagrams (assignment target: subscription)10min
Semantic Rules (assignment target: subscription)10min
Syntax Diagrams (for statement)10min
Semantic Rules (for statement)10min
Hacking Version 4 Solution Code10min
Software Quality Tests for Hacking Version 410min
Play Hacking Version 510min
Describe Hacking Version 510min
Create Test Plan for Hacking Version 510min
Create Algorithm for Hacking Version 510min
Syntax Diagrams (while statement)10min
Semantic Analysis (while statement)10min
Hacking Version 5 Solution Code10min
29 exercícios práticos
Lexical Analysis (review)46min
Syntax Analysis (subscription)44min
Semantic Analysis (subscription)14min
Evaluation (sequences and subscription)12min
Programming (sequences and subscription)2min
Syntax Analysis (expression list, parenthesized expression and list display)44min
Semantic Analysis (tuple and list type)16min
Evaluation (tuple and list type)12min
Programming (tuple and list types)4min
Syntax Analysis (assignment target: subscription)32min
Semantic Analysis (assignment target: subscription)26min
Evaluation (sequence element replacement)8min
Programming (sequence element replacement)2min
Syntax Analysis (for statement)44min
Semantic Analysis (for statement)38min
Evaluation (for statement)8min
Programming (for statement)2min
Program Hacking Version 46min
Reflect on Language Concepts used in Hacking Version 48min
Understand Hacking Version 52min
Delete Obsolete Descriptions from Hacking Version 54min
Syntax Analysis (while statement)40min
Semantic Analysis (while statement)34min
Evaluation (while statement)
Programming (while statement)2min
Evaluation (range type)
Programming (range type)2min
Program Hacking Version 56min
Reflect on Language Concepts used in Hacking Version 514min
Semana
7
7 horas para concluir

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 vídeos ((Total 64 mín.)), 8 leituras, 19 testes
8 videos
Python Function Definitions15min
Python Function Parameters6min
Python Main Function and Identifier Scope9min
Python Return Statement5min
Python Side Effects6min
Program Hacking Version 69min
Review Code for Hacking Version 68min
8 leituras
Syntax Diagrams (function definition)10min
Semantic Rules (function definition)10min
Syntax Diagrams (parameter list)10min
Semantic Rules (parameter list)10min
Syntax Diagrams (return statement)10min
Semantic Rules (return statement)10min
Hacking Version 6 Solution Code10min
Software Quality Tests for Hacking Version10min
19 exercícios práticos
Lexical Analysis (review)38min
Syntax Analysis (function definition)56min
Semantic Analysis (function definition)24min
Evaluation (function definition)
Programming (function definition)2min
Syntax Analysis (parameter list)44min
Semantic Analysis (parameter list)38min
Evaluation (function parameters)
Programming (function parameters)2min
Evaluation (main function)
Programming (main function)2min
Syntax Analysis (return statement)36min
Semantic Analysis (return statement)22min
Evaluation (return statement)
Programming (return statement)4min
Evaluation (side effects)
Programming (side effects)4min
Program Hacking Version 66min
Reflect on Language Concepts used in Hacking Version 614min
Semana
8
1 hora para concluir

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 vídeos ((Total 12 mín.)), 5 leituras, 2 testes
5 videos
Observe Hacking Version 71min
Create Algorithm for Hacking Version 73min
Program Hacking Version 73min
Identify Solution Issues in Hacking Version 72min
5 leituras
Play Hacking Version 710min
Describe Hacking Version 710min
Create Test Plan for Hacking Version 710min
Create Algorithm for Hacking Version 710min
Hacking Version 7 Solution Code10min
2 exercícios práticos
Understand Hacking Version 72min
Program Hacking Version 76min
Semana
9
8 horas para concluir

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 vídeos ((Total 84 mín.)), 16 leituras, 17 testes
12 videos
Observe Poke the Dots Version 155s
Create Algorithm for Poke the Dots Version 112min
Python Import Statement Variations9min
Python Pass Statement2min
Program Poke the Dots Version 113min
Review Code for Poke the Dots Version 19min
Solution Issues in Poke the Dots Version 12min
Create Algorithm for Poke the Dots Version 22min
Python Class Definition15min
Program Poke the Dots Version 25min
Review Code for Poke the Dots Version 27min
16 leituras
Play Poke the Dots10min
Play Poke the Dots Version 110min
Describe Poke the Dots Version 110min
Create Test Plan for Poke the Dots Version 110min
Create Algorithm for Poke the Dots Version 110min
Syntax Diagrams (import statement variations)10min
Semantic Rules (import statement variations)10min
Syntax Diagrams (pass statement)10min
Semantic Rules (pass statement)10min
Poke the Dots Version 1 Solution Code10min
Updated Algorithm for Poke the Dots Version 110min
Create Algorithm for Poke the Dots Version 210min
Syntax Diagrams (class definition)10min
Semantic Rules (class definition)10min
Poke the Dots Version 2 Solution Code10min
Software Quality Tests for Poke the Dots Version10min
17 exercícios práticos
Understand Poke the Dots2min
Understand Poke the Dots Version 12min
Lexical Analysis (review)50min
Syntax Analysis (import statement variations)24min
Semantic Analysis (import statement variations)16min
Programming (import statement variations)2min
Syntax Analysis (pass statement)32min
Semantic Analysis (pass statement)28min
Programming (pass statement)2min
Program Poke the Dots Version 12min
Reflect on Language Concepts used in Poke the Dots Version 18min
Syntax Analysis (class definition)
Syntax Analysis (assignment target: attribute reference)
Semantic Analysis (class definition)32min
Programming (class definition)2min
Program Poke the Dots Version 22min
Reflect on Language Concepts used in Poke the Dots Version 28min
Semana
10
1 hora para concluir

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 vídeos ((Total 10 mín.)), 5 leituras, 5 testes
5 videos
Observe Poke the Dots Version 31min
Create Algorithm for Poke the Dots Version 31min
Program Poke the Dots Version 31min
Review Code for Poke the Dots Version 34min
5 leituras
Play Poke the Dots Version 310min
Describe Poke the Dots Version 310min
Create Test Plan for Poke the Dots Version 310min
Create Algorithm for Poke the Dots Version 310min
Poke the Dots Version 3 Solution Code10min
5 exercícios práticos
Understand Poke the Dots Version 32min
Delete Obsolete Descriptions for Poke the Dots Version 32min
Delete Obsolete Tests for Poke the Dots Version 32min
Program Poke the Dots Version 32min
Reflect on Event Categories Used in Poke the Dots Version 36min
Semana
11
3 horas para concluir

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 vídeos ((Total 39 mín.)), 4 leituras, 5 testes
6 videos
Create Algorithm for Poke the Dots Version 45min
Python User-defined Methods and Self11min
Python Private Attributes3min
Program Poke the Dots Version 46min
Review Code for Poke the Dots Version 47min
4 leituras
Create Algorithm for Poke the Dots Version 410min
Semantic Rules (user-defined methods)10min
Poke the Dots Version 4 Solution Code10min
Software Quality Tests for Poke the Dots Version 410min
5 exercícios práticos
Lexical Analysis (review)40min
Semantic Analysis (user-defined methods)38min
Programming (user-defined methods)2min
Program Poke the Dots Version 42min
Reflect on Language Concepts used in Poke the Dots Version 48min
Semana
12
1 hora para concluir

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 vídeos ((Total 8 mín.)), 5 leituras, 2 testes
5 videos
Observe Poke the Dots Version 51min
Create Algorithm for Poke the Dots Version 548s
Program Poke the Dots Version 51min
Solution Issues in Poke the Dots Version 54min
5 leituras
Play Poke the Dots Version 510min
Describe Poke the Dots Version 510min
Create Test Plan for Poke the Dots Version 510min
Create Algorithm for Poke the Dots Version 510min
Poke the Dots Version 5 Solution Code10min
2 exercícios práticos
Understand Poke the Dots Version 52min
Program Poke the Dots Version 52min

Instrutores

Avatar

Duane Szafron

Professor
Computing Science
Avatar

Paul Lu

Professor
Computing Science

Sobre Universidade de AlbertaUniversidade de 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....

Perguntas Frequentes – FAQ

  • Ao se inscrever para um Certificado, você terá acesso a todos os vídeos, testes e tarefas de programação (se aplicável). Tarefas avaliadas pelos colegas apenas podem ser enviadas e avaliadas após o início da sessão. Caso escolha explorar o curso sem adquiri-lo, talvez você não consiga acessar certas tarefas.

  • Quando você adquire o Certificado, ganha acesso a todo o material do curso, incluindo avaliações com nota atribuída. Após concluir o curso, seu Certificado eletrônico será adicionado à sua página de Participações e você poderá imprimi-lo ou adicioná-lo ao seu perfil no LinkedIn. Se quiser apenas ler e assistir o conteúdo do curso, você poderá frequentá-lo como ouvinte sem custo.

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

Mais dúvidas? Visite o Central de Ajuda ao Aprendiz.