About this Course
최근 조회 7,637

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 videos (Total 31 min), 2 readings, 1 quiz
6개의 동영상
Computer Science5m
Programming Languages3m
Learning Outcomes and Problem-Based Learning4m
How to Get the Most Out of this Course5m
Suggestions for Learner Success5m
2개의 읽기 자료
Instructor Bios10m
Acknowledgements10m
1개 연습문제
Introduction16m
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 videos (Total 58 min), 6 readings, 6 quizzes
7개의 동영상
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
6개의 읽기 자료
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
6개 연습문제
Game Creation Process4m
Understand Hacking2m
Game Versions10m
Understand Hacking Version 12m
The Game Creation Process2m
Problem Solving Ontology10m
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 videos (Total 79 min), 7 readings, 11 quizzes
12개의 동영상
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
7개의 읽기 자료
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
11개 연습문제
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
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 videos (Total 74 min), 18 readings, 30 quizzes
12개의 동영상
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
18개의 읽기 자료
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
30개 연습문제
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
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 videos (Total 40 min), 13 readings, 19 quizzes
8개의 동영상
Observe Hacking Version 335
Create Algorithm for Hacking Version 34m
Python If Statement and Boolean Type10m
Python Elif and Else Clauses7m
Python Keyword Operator, Short Circuit Evaluation, Unary Expression, and Operator Precedence7m
Program Hacking Version 32m
Review Code for Hacking Version 34m
13개의 읽기 자료
Play Hacking Version 310m
Describe Hacking Version 310m
Create Test Plan for Hacking Version 310m
Create Algorithm for Hacking Version 310m
Lexical Rules, Tables and Sample Problem (newline, indent and dedent)10m
Syntax Diagrams (if statement)10m
Semantic Rules (if statement)10m
Syntax Diagrams (elif and else clause)10m
Semantic Rules (elif and else clauses)10m
Syntax Diagrams and Sample Problem (keyword operator, unary expression, unary operator, and operator precedence)10m
Semantic Rule (keyword operator and unary expression)10m
Hacking Version 3 Solution Code10m
Software Quality Tests in Hacking Version 310m
19개 연습문제
Solution Issues in Hacking Version 26m
Understand Hacking Version 32m
Delete Obsolete Tests for Hacking Version 32m
Lexical Analysis (newline, indent and dedent)34m
Syntax Analysis (if statement)44m
Semantic Analysis (if statement)30m
Evaluation (if statement and boolean)14m
Programming (if statement and boolean type)2m
Lexical Analysis (review)44m
Syntax Analysis (elif and else clauses)12m
Semantic Analysis (elif and else clause)36m
Evaluation (elif and else clauses)
Programming (elif and else clause)2m
Lexical Analysis (review)42m
Syntax Analysis (keyword operator, unary expression, unary operator, and operator precedence)
Semantic Analysis (short circuit evaluation and operator precedence)36m
Programming (keyword operator, short circuit evaluation, unary expression, and operator precedence)2m
Program Hacking Version 36m
Reflect on language concepts used in Hacking Version 310m
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 videos (Total 73 min), 18 readings, 29 quizzes
17개의 동영상
Create Algorithm for Hacking Version 44m
Python Sequences and Subscription8m
Python Tuple and List Types5m
Python Sequence Element Replacement4m
Python For Statement5m
Program Hacking Version 42m
Review Code for Hacking Version 45m
Solution Issues in Hacking Version 43m
Observe Hacking Version 51m
Describe Hacking Version 555
Create Test Plan for Hacking Version 52m
Create Algorithm for Hacking Version 54m
Python While Statement4m
Python Repetition Examples and Range Type8m
Program Hacking Version 51m
Review Code for Hacking Version 54m
18개의 읽기 자료
Create Algorithm for Hacking Version 410m
Syntax Diagrams (subscription)10m
Semantic Rules (subscription)10m
Syntax Diagrams (expression list, parenthesized expression, list display)10m
Semantic Rules (tuple and list type)10m
Syntax Diagrams (assignment target: subscription)10m
Semantic Rules (assignment target: subscription)10m
Syntax Diagrams (for statement)10m
Semantic Rules (for statement)10m
Hacking Version 4 Solution Code10m
Software Quality Tests for Hacking Version 410m
Play Hacking Version 510m
Describe Hacking Version 510m
Create Test Plan for Hacking Version 510m
Create Algorithm for Hacking Version 510m
Syntax Diagrams (while statement)10m
Semantic Analysis (while statement)10m
Hacking Version 5 Solution Code10m
29개 연습문제
Lexical Analysis (review)46m
Syntax Analysis (subscription)44m
Semantic Analysis (subscription)14m
Evaluation (sequences and subscription)12m
Programming (sequences and subscription)2m
Syntax Analysis (expression list, parenthesized expression and list display)44m
Semantic Analysis (tuple and list type)16m
Evaluation (tuple and list type)12m
Programming (tuple and list types)4m
Syntax Analysis (assignment target: subscription)32m
Semantic Analysis (assignment target: subscription)26m
Evaluation (sequence element replacement)8m
Programming (sequence element replacement)2m
Syntax Analysis (for statement)44m
Semantic Analysis (for statement)38m
Evaluation (for statement)8m
Programming (for statement)2m
Program Hacking Version 46m
Reflect on Language Concepts used in Hacking Version 48m
Understand Hacking Version 52m
Delete Obsolete Descriptions from Hacking Version 54m
Syntax Analysis (while statement)40m
Semantic Analysis (while statement)34m
Evaluation (while statement)
Programming (while statement)2m
Evaluation (range type)
Programming (range type)2m
Program Hacking Version 56m
Reflect on Language Concepts used in Hacking Version 514m
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 videos (Total 64 min), 8 readings, 19 quizzes
8개의 동영상
Python Function Definitions15m
Python Function Parameters6m
Python Main Function and Identifier Scope9m
Python Return Statement5m
Python Side Effects6m
Program Hacking Version 69m
Review Code for Hacking Version 68m
8개의 읽기 자료
Syntax Diagrams (function definition)10m
Semantic Rules (function definition)10m
Syntax Diagrams (parameter list)10m
Semantic Rules (parameter list)10m
Syntax Diagrams (return statement)10m
Semantic Rules (return statement)10m
Hacking Version 6 Solution Code10m
Software Quality Tests for Hacking Version10m
19개 연습문제
Lexical Analysis (review)38m
Syntax Analysis (function definition)56m
Semantic Analysis (function definition)24m
Evaluation (function definition)
Programming (function definition)2m
Syntax Analysis (parameter list)44m
Semantic Analysis (parameter list)38m
Evaluation (function parameters)
Programming (function parameters)2m
Evaluation (main function)
Programming (main function)2m
Syntax Analysis (return statement)36m
Semantic Analysis (return statement)22m
Evaluation (return statement)
Programming (return statement)4m
Evaluation (side effects)
Programming (side effects)4m
Program Hacking Version 66m
Reflect on Language Concepts used in Hacking Version 614m
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 videos (Total 12 min), 5 readings, 2 quizzes
5개의 동영상
Observe Hacking Version 71m
Create Algorithm for Hacking Version 73m
Program Hacking Version 73m
Identify Solution Issues in Hacking Version 72m
5개의 읽기 자료
Play Hacking Version 710m
Describe Hacking Version 710m
Create Test Plan for Hacking Version 710m
Create Algorithm for Hacking Version 710m
Hacking Version 7 Solution Code10m
2개 연습문제
Understand Hacking Version 72m
Program Hacking Version 76m
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 videos (Total 84 min), 16 readings, 17 quizzes
12개의 동영상
Observe Poke the Dots Version 155
Create Algorithm for Poke the Dots Version 112m
Python Import Statement Variations9m
Python Pass Statement2m
Program Poke the Dots Version 113m
Review Code for Poke the Dots Version 19m
Solution Issues in Poke the Dots Version 12m
Create Algorithm for Poke the Dots Version 22m
Python Class Definition15m
Program Poke the Dots Version 25m
Review Code for Poke the Dots Version 27m
16개의 읽기 자료
Play Poke the Dots10m
Play Poke the Dots Version 110m
Describe Poke the Dots Version 110m
Create Test Plan for Poke the Dots Version 110m
Create Algorithm for Poke the Dots Version 110m
Syntax Diagrams (import statement variations)10m
Semantic Rules (import statement variations)10m
Syntax Diagrams (pass statement)10m
Semantic Rules (pass statement)10m
Poke the Dots Version 1 Solution Code10m
Updated Algorithm for Poke the Dots Version 110m
Create Algorithm for Poke the Dots Version 210m
Syntax Diagrams (class definition)10m
Semantic Rules (class definition)10m
Poke the Dots Version 2 Solution Code10m
Software Quality Tests for Poke the Dots Version10m
17개 연습문제
Understand Poke the Dots2m
Understand Poke the Dots Version 12m
Lexical Analysis (review)50m
Syntax Analysis (import statement variations)24m
Semantic Analysis (import statement variations)16m
Programming (import statement variations)2m
Syntax Analysis (pass statement)32m
Semantic Analysis (pass statement)28m
Programming (pass statement)2m
Program Poke the Dots Version 12m
Reflect on Language Concepts used in Poke the Dots Version 18m
Syntax Analysis (class definition)
Syntax Analysis (assignment target: attribute reference)
Semantic Analysis (class definition)32m
Programming (class definition)2m
Program Poke the Dots Version 22m
Reflect on Language Concepts used in Poke the Dots Version 28m
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 videos (Total 10 min), 5 readings, 5 quizzes
5개의 동영상
Observe Poke the Dots Version 31m
Create Algorithm for Poke the Dots Version 31m
Program Poke the Dots Version 31m
Review Code for Poke the Dots Version 34m
5개의 읽기 자료
Play Poke the Dots Version 310m
Describe Poke the Dots Version 310m
Create Test Plan for Poke the Dots Version 310m
Create Algorithm for Poke the Dots Version 310m
Poke the Dots Version 3 Solution Code10m
5개 연습문제
Understand Poke the Dots Version 32m
Delete Obsolete Descriptions for Poke the Dots Version 32m
Delete Obsolete Tests for Poke the Dots Version 32m
Program Poke the Dots Version 32m
Reflect on Event Categories Used in Poke the Dots Version 36m
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 videos (Total 39 min), 4 readings, 5 quizzes
6개의 동영상
Create Algorithm for Poke the Dots Version 45m
Python User-defined Methods and Self11m
Python Private Attributes3m
Program Poke the Dots Version 46m
Review Code for Poke the Dots Version 47m
4개의 읽기 자료
Create Algorithm for Poke the Dots Version 410m
Semantic Rules (user-defined methods)10m
Poke the Dots Version 4 Solution Code10m
Software Quality Tests for Poke the Dots Version 410m
5개 연습문제
Lexical Analysis (review)40m
Semantic Analysis (user-defined methods)38m
Programming (user-defined methods)2m
Program Poke the Dots Version 42m
Reflect on Language Concepts used in Poke the Dots Version 48m
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 videos (Total 8 min), 5 readings, 2 quizzes
5개의 동영상
Observe Poke the Dots Version 51m
Create Algorithm for Poke the Dots Version 548
Program Poke the Dots Version 51m
Solution Issues in Poke the Dots Version 54m
5개의 읽기 자료
Play Poke the Dots Version 510m
Describe Poke the Dots Version 510m
Create Test Plan for Poke the Dots Version 510m
Create Algorithm for Poke the Dots Version 510m
Poke the Dots Version 5 Solution Code10m
2개 연습문제
Understand Poke the Dots Version 52m
Program Poke the Dots Version 52m

강사

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.

궁금한 점이 더 있으신가요? 학습자 도움말 센터를 방문해 보세요.