Об этом курсе
Недавно просмотрено: 7,792

100% онлайн

Начните сейчас и учитесь по собственному графику.

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.

Начальный уровень

Прибл. 55 часа на выполнение

Предполагаемая нагрузка: 12 weeks of study, at 6 to 10 hours/week....

Английский

Субтитры: Английский

Приобретаемые навыки

Python Syntax And SemanticsVideo GamesPython ProgrammingProblem SolvingComputer Science

100% онлайн

Начните сейчас и учитесь по собственному графику.

Гибкие сроки

Назначьте сроки сдачи в соответствии со своим графиком.

Начальный уровень

Прибл. 55 часа на выполнение

Предполагаемая нагрузка: 12 weeks of study, at 6 to 10 hours/week....

Английский

Субтитры: Английский

Программа курса: что вы изучите

Неделя
1
1 ч. на завершение

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 видео ((всего 31 мин.)), 2 материалов для самостоятельного изучения, 1 тест
6 видео
Computer Science5мин
Programming Languages3мин
Learning Outcomes and Problem-Based Learning4мин
How to Get the Most Out of this Course5мин
Suggestions for Learner Success5мин
2 материала для самостоятельного изучения
Instructor Bios10мин
Acknowledgements10мин
1 практическое упражнение
Introduction16мин
Неделя
2
3 ч. на завершение

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 видео ((всего 58 мин.)), 6 материалов для самостоятельного изучения, 6 тестов
7 видео
Observe Hacking Game2мин
Game Versions10мин
Observe Hacking Version 11мин
Describe Hacking Version 111мин
Create Test Plan for Hacking Version 113мин
Create Algorithm for Hacking Version 110мин
6 материала для самостоятельного изучения
The PVG Virtual Machine20мин
Play Hacking Game10мин
Play Hacking Version 110мин
Describe Hacking Version 110мин
Create Test Plan for Hacking Version 110мин
Create Algorithm for Hacking Version 110мин
6 практического упражнения
Game Creation Process4мин
Understand Hacking2мин
Game Versions10мин
Understand Hacking Version 12мин
The Game Creation Process2мин
Problem Solving Ontology10мин
Неделя
3
4 ч. на завершение

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 видео ((всего 79 мин.)), 7 материалов для самостоятельного изучения, 11 тестов
12 видео
Python Interpretation10мин
Python Lexical Analysis7мин
Python Syntax Analysis11мин
Python Objects5мин
Python Semantics of Literals and Identifiers10мин
Python Semantics of Function Calls3мин
Python Program Interpretation5мин
Program Hacking Version 19мин
The Reflection Process2мин
Review Code for Hacking Version 15мин
Solution Issues2мин
7 материала для самостоятельного изучения
The Python Shell in the Wing IDE20мин
Lexical Rules, Tables and Sample Problem (identifier, literal and delimiter)10мин
Syntax Diagrams and Sample Problem (expression statement, expression and function call)10мин
Semantic Rules and Sample Problem (identifier, literal and function call)10мин
Programming With the Wing IDE10мин
Hacking Version 1 Solution Code10мин
Software Quality Tests for Hacking Version 110мин
11 практического упражнения
Python Evaluation Examples6мин
Interpretation (lexical analysis, syntax analysis and semantic analysis)8мин
Lexical Analysis (identifier, literal and delimiter)20мин
Syntax Analysis (expression statement, expression and function call)16мин
Python Objects8мин
Semantic Analysis (identifier, literal and function call)8мин
Evaluation (identifier, literal and function call)8мин
Programming (identifier, literal and function call)2мин
Program Hacking Version 14мин
Reflect on Language Concepts used in Hacking Version 112мин
The Game Creation Process2мин
Неделя
4
11 ч. на завершение

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 видео ((всего 74 мин.)), 18 материалов для самостоятельного изучения, 30 тестов
12 видео
Observe Hacking Version 21мин
Describe Hacking Version 25мин
Regression Testing and Deleting Obsolete Tests4мин
Create Algorithm for Hacking Version 21мин
Python Assignment Statement8мин
Python Binary Expression and Operator Token8мин
Python Import Statement and Keyword Token7мин
Python Multi-argument Function Call5мин
Python Method Call and Attribute Reference7мин
Program Hacking Version 211мин
Review Code for Hacking Version 25мин
18 материала для самостоятельного изучения
Play Hacking Version 210мин
Describe Hacking Version 210мин
Create Test Plan for Hacking Version 210мин
Create Algorithm for Hacking Version 210мин
Syntax Diagrams and Sample Problem (statement and assignment statement )10мин
Semantic Rules (assignment statement)10мин
Lexical Rules and Tables (operator)10мин
Syntax Diagrams (binary expression and binary operator)10мин
Semantic Rules (binary expression)10мин
Lexical Rules and Tables (keyword)10мин
Syntax Diagrams (import statement and module)10мин
Semantic Rules (import statement)10мин
Syntax Diagrams and Sample Problem (multi-argument function call)10мин
Semantic Rules and Sample Problem (multi-argument function call)10мин
Syntax Diagrams (method call and attribute reference)10мин
Semantic Rules (method call and attribute reference)10мин
Hacking Version 2 Solution Code10мин
Software Quality Tests for Hacking Version 210мин
30 практического упражнения
Solution Issues in Hacking Version 110мин
Understand Hacking Version 22мин
Delete Obsolete Tests for Hacking Version 22мин
Lexical Analysis (review)16мин
Syntax Analysis (statement and assignment statement)20мин
Semantic Analysis (assignment statement)12мин
Evaluation (assignment statement)14мин
Programming (assignment statement)2мин
Lexical Analysis (operator)20мин
Syntax Analysis (binary expression and binary operator)36мин
Semantic Analysis (binary expression)18мин
Evaluation (binary expression and operator)14мин
Programming (binary expression and operator)2мин
Lexical Analysis (keyword)18мин
Syntax Analysis (import statement and module)12мин
Semantic Analysis (import statement)10мин
Evaluation (import statement and keyword)10мин
Programming (import statement and keyword)2мин
Lexical Analysis (review)22мин
Syntax Analysis (multi-argument function call)36мин
Semantic Analysis (multi-argument function call)28мин
Evaluation (multi-argument function call)14мин
Programming (multi-argument function call)2мин
Lexical Analysis (review)18мин
Syntax Analysis (method call and attribute reference)28мин
Semantic Analysis (method call and attribute reference)16мин
Evaluation (method call and attribute reference)12мин
Programming (method call and attribute reference)2мин
Program Hacking Version 24мин
Reflect on language concepts used in Hacking Version 216мин
Неделя
5
10 ч. на завершение

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 видео ((всего 40 мин.)), 13 материалов для самостоятельного изучения, 19 тестов
8 видео
Observe Hacking Version 335
Create Algorithm for Hacking Version 34мин
Python If Statement and Boolean Type10мин
Python Elif and Else Clauses7мин
Python Keyword Operator, Short Circuit Evaluation, Unary Expression, and Operator Precedence7мин
Program Hacking Version 32мин
Review Code for Hacking Version 34мин
13 материала для самостоятельного изучения
Play Hacking Version 310мин
Describe Hacking Version 310мин
Create Test Plan for Hacking Version 310мин
Create Algorithm for Hacking Version 310мин
Lexical Rules, Tables and Sample Problem (newline, indent and dedent)10мин
Syntax Diagrams (if statement)10мин
Semantic Rules (if statement)10мин
Syntax Diagrams (elif and else clause)10мин
Semantic Rules (elif and else clauses)10мин
Syntax Diagrams and Sample Problem (keyword operator, unary expression, unary operator, and operator precedence)10мин
Semantic Rule (keyword operator and unary expression)10мин
Hacking Version 3 Solution Code10мин
Software Quality Tests in Hacking Version 310мин
19 практического упражнения
Solution Issues in Hacking Version 26мин
Understand Hacking Version 32мин
Delete Obsolete Tests for Hacking Version 32мин
Lexical Analysis (newline, indent and dedent)34мин
Syntax Analysis (if statement)44мин
Semantic Analysis (if statement)30мин
Evaluation (if statement and boolean)14мин
Programming (if statement and boolean type)2мин
Lexical Analysis (review)44мин
Syntax Analysis (elif and else clauses)1ч 12мин
Semantic Analysis (elif and else clause)36мин
Evaluation (elif and else clauses)
Programming (elif and else clause)2мин
Lexical Analysis (review)42мин
Syntax Analysis (keyword operator, unary expression, unary operator, and operator precedence)
Semantic Analysis (short circuit evaluation and operator precedence)36мин
Programming (keyword operator, short circuit evaluation, unary expression, and operator precedence)2мин
Program Hacking Version 36мин
Reflect on language concepts used in Hacking Version 310мин
Неделя
6
12 ч. на завершение

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 видео ((всего 73 мин.)), 18 материалов для самостоятельного изучения, 29 тестов
17 видео
Create Algorithm for Hacking Version 44мин
Python Sequences and Subscription8мин
Python Tuple and List Types5мин
Python Sequence Element Replacement4мин
Python For Statement5мин
Program Hacking Version 42мин
Review Code for Hacking Version 45мин
Solution Issues in Hacking Version 43мин
Observe Hacking Version 51мин
Describe Hacking Version 555
Create Test Plan for Hacking Version 52мин
Create Algorithm for Hacking Version 54мин
Python While Statement4мин
Python Repetition Examples and Range Type8мин
Program Hacking Version 51мин
Review Code for Hacking Version 54мин
18 материала для самостоятельного изучения
Create Algorithm for Hacking Version 410мин
Syntax Diagrams (subscription)10мин
Semantic Rules (subscription)10мин
Syntax Diagrams (expression list, parenthesized expression, list display)10мин
Semantic Rules (tuple and list type)10мин
Syntax Diagrams (assignment target: subscription)10мин
Semantic Rules (assignment target: subscription)10мин
Syntax Diagrams (for statement)10мин
Semantic Rules (for statement)10мин
Hacking Version 4 Solution Code10мин
Software Quality Tests for Hacking Version 410мин
Play Hacking Version 510мин
Describe Hacking Version 510мин
Create Test Plan for Hacking Version 510мин
Create Algorithm for Hacking Version 510мин
Syntax Diagrams (while statement)10мин
Semantic Analysis (while statement)10мин
Hacking Version 5 Solution Code10мин
29 практического упражнения
Lexical Analysis (review)46мин
Syntax Analysis (subscription)44мин
Semantic Analysis (subscription)14мин
Evaluation (sequences and subscription)12мин
Programming (sequences and subscription)2мин
Syntax Analysis (expression list, parenthesized expression and list display)44мин
Semantic Analysis (tuple and list type)16мин
Evaluation (tuple and list type)12мин
Programming (tuple and list types)4мин
Syntax Analysis (assignment target: subscription)32мин
Semantic Analysis (assignment target: subscription)26мин
Evaluation (sequence element replacement)8мин
Programming (sequence element replacement)2мин
Syntax Analysis (for statement)44мин
Semantic Analysis (for statement)38мин
Evaluation (for statement)8мин
Programming (for statement)2мин
Program Hacking Version 46мин
Reflect on Language Concepts used in Hacking Version 48мин
Understand Hacking Version 52мин
Delete Obsolete Descriptions from Hacking Version 54мин
Syntax Analysis (while statement)40мин
Semantic Analysis (while statement)34мин
Evaluation (while statement)
Programming (while statement)2мин
Evaluation (range type)
Programming (range type)2мин
Program Hacking Version 56мин
Reflect on Language Concepts used in Hacking Version 514мин
Неделя
7
7 ч. на завершение

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 видео ((всего 64 мин.)), 8 материалов для самостоятельного изучения, 19 тестов
8 видео
Python Function Definitions15мин
Python Function Parameters6мин
Python Main Function and Identifier Scope9мин
Python Return Statement5мин
Python Side Effects6мин
Program Hacking Version 69мин
Review Code for Hacking Version 68мин
8 материала для самостоятельного изучения
Syntax Diagrams (function definition)10мин
Semantic Rules (function definition)10мин
Syntax Diagrams (parameter list)10мин
Semantic Rules (parameter list)10мин
Syntax Diagrams (return statement)10мин
Semantic Rules (return statement)10мин
Hacking Version 6 Solution Code10мин
Software Quality Tests for Hacking Version10мин
19 практического упражнения
Lexical Analysis (review)38мин
Syntax Analysis (function definition)56мин
Semantic Analysis (function definition)24мин
Evaluation (function definition)
Programming (function definition)2мин
Syntax Analysis (parameter list)44мин
Semantic Analysis (parameter list)38мин
Evaluation (function parameters)
Programming (function parameters)2мин
Evaluation (main function)
Programming (main function)2мин
Syntax Analysis (return statement)36мин
Semantic Analysis (return statement)22мин
Evaluation (return statement)
Programming (return statement)4мин
Evaluation (side effects)
Programming (side effects)4мин
Program Hacking Version 66мин
Reflect on Language Concepts used in Hacking Version 614мин
Неделя
8
1 ч. на завершение

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 видео ((всего 12 мин.)), 5 материалов для самостоятельного изучения, 2 тестов
5 видео
Observe Hacking Version 71мин
Create Algorithm for Hacking Version 73мин
Program Hacking Version 73мин
Identify Solution Issues in Hacking Version 72мин
5 материала для самостоятельного изучения
Play Hacking Version 710мин
Describe Hacking Version 710мин
Create Test Plan for Hacking Version 710мин
Create Algorithm for Hacking Version 710мин
Hacking Version 7 Solution Code10мин
2 практического упражнения
Understand Hacking Version 72мин
Program Hacking Version 76мин
Неделя
9
8 ч. на завершение

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 видео ((всего 84 мин.)), 16 материалов для самостоятельного изучения, 17 тестов
12 видео
Observe Poke the Dots Version 155
Create Algorithm for Poke the Dots Version 112мин
Python Import Statement Variations9мин
Python Pass Statement2мин
Program Poke the Dots Version 113мин
Review Code for Poke the Dots Version 19мин
Solution Issues in Poke the Dots Version 12мин
Create Algorithm for Poke the Dots Version 22мин
Python Class Definition15мин
Program Poke the Dots Version 25мин
Review Code for Poke the Dots Version 27мин
16 материала для самостоятельного изучения
Play Poke the Dots10мин
Play Poke the Dots Version 110мин
Describe Poke the Dots Version 110мин
Create Test Plan for Poke the Dots Version 110мин
Create Algorithm for Poke the Dots Version 110мин
Syntax Diagrams (import statement variations)10мин
Semantic Rules (import statement variations)10мин
Syntax Diagrams (pass statement)10мин
Semantic Rules (pass statement)10мин
Poke the Dots Version 1 Solution Code10мин
Updated Algorithm for Poke the Dots Version 110мин
Create Algorithm for Poke the Dots Version 210мин
Syntax Diagrams (class definition)10мин
Semantic Rules (class definition)10мин
Poke the Dots Version 2 Solution Code10мин
Software Quality Tests for Poke the Dots Version10мин
17 практического упражнения
Understand Poke the Dots2мин
Understand Poke the Dots Version 12мин
Lexical Analysis (review)50мин
Syntax Analysis (import statement variations)24мин
Semantic Analysis (import statement variations)16мин
Programming (import statement variations)2мин
Syntax Analysis (pass statement)32мин
Semantic Analysis (pass statement)28мин
Programming (pass statement)2мин
Program Poke the Dots Version 12мин
Reflect on Language Concepts used in Poke the Dots Version 18мин
Syntax Analysis (class definition)
Syntax Analysis (assignment target: attribute reference)
Semantic Analysis (class definition)32мин
Programming (class definition)2мин
Program Poke the Dots Version 22мин
Reflect on Language Concepts used in Poke the Dots Version 28мин
Неделя
10
1 ч. на завершение

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 видео ((всего 10 мин.)), 5 материалов для самостоятельного изучения, 5 тестов
5 видео
Observe Poke the Dots Version 31мин
Create Algorithm for Poke the Dots Version 31мин
Program Poke the Dots Version 31мин
Review Code for Poke the Dots Version 34мин
5 материала для самостоятельного изучения
Play Poke the Dots Version 310мин
Describe Poke the Dots Version 310мин
Create Test Plan for Poke the Dots Version 310мин
Create Algorithm for Poke the Dots Version 310мин
Poke the Dots Version 3 Solution Code10мин
5 практического упражнения
Understand Poke the Dots Version 32мин
Delete Obsolete Descriptions for Poke the Dots Version 32мин
Delete Obsolete Tests for Poke the Dots Version 32мин
Program Poke the Dots Version 32мин
Reflect on Event Categories Used in Poke the Dots Version 36мин
Неделя
11
3 ч. на завершение

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 видео ((всего 39 мин.)), 4 материалов для самостоятельного изучения, 5 тестов
6 видео
Create Algorithm for Poke the Dots Version 45мин
Python User-defined Methods and Self11мин
Python Private Attributes3мин
Program Poke the Dots Version 46мин
Review Code for Poke the Dots Version 47мин
4 материала для самостоятельного изучения
Create Algorithm for Poke the Dots Version 410мин
Semantic Rules (user-defined methods)10мин
Poke the Dots Version 4 Solution Code10мин
Software Quality Tests for Poke the Dots Version 410мин
5 практического упражнения
Lexical Analysis (review)40мин
Semantic Analysis (user-defined methods)38мин
Programming (user-defined methods)2мин
Program Poke the Dots Version 42мин
Reflect on Language Concepts used in Poke the Dots Version 48мин
Неделя
12
1 ч. на завершение

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 видео ((всего 8 мин.)), 5 материалов для самостоятельного изучения, 2 тестов
5 видео
Observe Poke the Dots Version 51мин
Create Algorithm for Poke the Dots Version 548
Program Poke the Dots Version 51мин
Solution Issues in Poke the Dots Version 54мин
5 материала для самостоятельного изучения
Play Poke the Dots Version 510мин
Describe Poke the Dots Version 510мин
Create Test Plan for Poke the Dots Version 510мин
Create Algorithm for Poke the Dots Version 510мин
Poke the Dots Version 5 Solution Code10мин
2 практического упражнения
Understand Poke the Dots Version 52мин
Program Poke the Dots Version 52мин

Преподаватели

Avatar

Duane Szafron

Professor
Computing Science
Avatar

Paul Lu

Professor
Computing Science

О Альбертский университет

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

Часто задаваемые вопросы

  • Зарегистрировавшись на сертификацию, вы получите доступ ко всем видео, тестам и заданиям по программированию (если они предусмотрены). Задания по взаимной оценке сокурсниками можно сдавать и проверять только после начала сессии. Если вы проходите курс без оплаты, некоторые задания могут быть недоступны.

  • Оплатив сертификацию, вы получите доступ ко всем материалам курса, включая оцениваемые задания. После успешного прохождения курса на странице ваших достижений появится электронный сертификат. Оттуда его можно распечатать или прикрепить к профилю LinkedIn. Просто ознакомиться с содержанием курса можно бесплатно.

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

Остались вопросы? Посетите Центр поддержки учащихся.