Problem Solving, Python Programming, and Video Games

所在平台: Coursera

课程主页: https://www.coursera.org/learn/problem-solving-programming-video-games

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:问题解决、Python编程与电子游戏 概述:本课程是计算机科学和Python编程的入门课程。完成课程后,学员将能够: 1. 理解新的计算问题,并制定解决方案的计划,包括问题理解和分解。 2. 遵循设计创建过程,包括规格、算法和测试。 3. 基于设计编写、测试和调试Python程序。 课程特别强调计算机科学的基本概念,例如问题解决(计算思维)、问题分解、算法、抽象及软件质量。通过使用Python编程语言和电子游戏,学员可以以具体且有趣的方式体验计算机科学概念。学员还可以将课程中的知识和技能应用于非游戏问题、其他编程语言和计算机科学课程。 课程不要求具备编程、Python或电子游戏的经验,但需要一定的计算机技能(如鼠标、键盘、文档编辑),代数基础,细致注意等。尽管使用视频游戏作为编程实例,课程的重点不在于计算机游戏,而是在于提供对非游戏计算问题的有价值的知识和技能。 课程采用的互动学习工具(ILO)提供自动、上下文特定的指导和反馈,类似于虚拟助教,帮助学员在开发问题描述、算法及功能测试计划时获得支持。课程论坛将由课程创建者提供支持,帮助学员成功。 所有视频、评估和ILO均可以免费访问。提供可选的证书,需支付费用。 课程大纲: - 模块0:介绍 - 介绍教学团队及课程的四个主题:计算机科学、问题解决、Python编程和电子游戏制作。 - 模块1:设计黑客版本1 - 探索游戏创建过程,设计第一个游戏“黑客”的版本1。 - 模块2:编程黑客版本1 - 学习编程语言的词法、语法和语义,并利用它们编写、测试和调试黑客版本1。 - 模块3:黑客版本2 - 识别游戏中的解决方案问题,并通过使用模板的抽象技术解决这些问题。 - 模块4:黑客版本3 - 修改游戏设计以支持多种游戏路径,并学习新的Python语法。 - 模块5:黑客版本4和5 - 应用控制抽象和数据抽象的技术,修改游戏设计。 - 模块6:黑客版本6 - 学习用户定义的函数,以改善代码质量。 - 模块7:黑客版本7 - 练习已学习的编程构造,提高熟练度。 - 模块8:点点入侵版本1和2 - 设计和实现一个新的图形游戏,并通过数据抽象修改游戏设计。 - 模块9:点点入侵版本3 - 进一步练习编程技能,为游戏添加趣味特性。 - 模块10:点点入侵版本4 - 通过用户定义的方法修改游戏设计,实现更好的数据封装。 - 模块11:点点入侵版本5 - 继续练习程序设计,为游戏添加更多有趣特性。

课程大纲

Name:Module 0: Introduction

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

Name:Module 1: Design Hacking Version 1

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

Name:Module 2: Program Hacking Version 1

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

Name:Module 3: Hacking Version 2

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

Name:Module 4: Hacking Version 3

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

Name:Module 5: Hacking Version 4 & 5

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

Name:Module 6: Hacking Version 6

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

Name:Module 7: Hacking Version 7

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

Name:Module 8: Poke the Dots Version 1 & 2

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

Name:Module 9: Poke the Dots Version 3

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

Name:Module 10: Poke the Dots Version 4

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

Name:Module 11: Poke the Dots Version 5

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

课程评论(0条)

课程详情

This course is an introduction to computer science and programming in Python. Upon successful completion of this course, you will be able to: 1. Take a new computational problem and develop a plan to solve it through problem understanding and decomposition. 2. Follow a design creation process that includes specifications, algorithms, and testing. 3. Code, test, and debug a program in Python, based on your design. Important computer science concepts such as problem solving (computational thinking), problem decomposition, algorithms, abstraction, and software quality are emphasized throughout. The Python programming language and video games are used to demonstrate computer science concepts in a concrete and fun manner. However, a learner can take the knowledge and skills from this course and apply them to non-game problems, other programming languages, and other computer science courses. You do not need any previous programming, Python, or video game experience. However, some computer skills (e.g., mouse, keyboard, document editing), knowledge of algebra, attention to detail (as with many technical subjects), and a “just give it a try” spirit will be keys to your success. Despite the use of video games for all the programming examples, PVG is not about computer games. PVG will still provide valuable knowledge and skills for non-game computational problems. The interactive learning objects (ILO) of the course provide automatic, context-specific guidance and feedback, like a virtual teaching assistant, as you develop problem descriptions, algorithms, and functional test plans. The course forums will be supported by the creators of the course, to help you succeed. All videos, assessments, and ILOs are available free of charge. There is an optional certificate available for a fee.

课程标签

0人关注该课程

主题相关的课程