冯艳茹 陈平

摘要:程序设计基础课程是培养大学生解决计算问题的思维和能力的课程,使用Python作为大学生的首门编程语言课程,可操作性强,入门容易,上手快。该文提出了基于IPO的教学设计新思维,使教学活动和教学设计变得更为清晰,有章可循,更有利于提高程序设计类课程的教学效果。

关键词:IPO;程序设计;程序;教学设计;Python

中图分类号:TP393 文献标识码:A

文章编号:1009-3044(2019)11-0001-03

开放科学(资源服务)标识码(OSID):

据统计,大学计算机专业甚至是机械专业、电气自动化控制专业等都会开设程序设计课程,而且把《C语言程序设计》作为程序设计课程的入门课程。C语言是一门通用计算机编程语言,简洁结构严谨,广泛应用于底层开发。但是对于大学生来说,入门困难而且学习吃力,不利于编程思想和逻辑思维的培养。从2009年开始,国外众多大学广泛开设了Python语言课程。Python是一种面向对象、解释性的程序设计语言,非常简单易学,完全免费,上手快,入门容易。Python 语言是比 C 语言、Java 语言、VB 语言以及 VFP 语言更适合以应用为主的大学非计算机专业学生,该语言是目前美国大学最受欢迎的程序设计语言[1]。2016 年,教育部高等学校大学计算机课程教学指导委员会发布了《大学计算机基础课程教学基本要求》(简称《基本要求》)[2]。《基本要求》首次建议将Python语言作为首门程序设计课程的教学语言,在其推动下,国内高校逐步开设了Python 语言,成为教学改革热点[2]。因此,本人提出了基于IPO的Python教学设计新思维。

1 程序的编写方法——IPO方法

程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。计算机程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。每个计算机程序都用来解决特定的计算问题[3]。程序的规模有大有小,无论程序的规模如何,每个程序都有统一的运算模式:输入数据、处理数据和输出数据,即IPO(Input Process Output)方法。IPO不仅是程序设计的基本方法,也是描述计算问题的方式。

身体质量指数(即:Body Mass Index,简称BMI),是目前国际上常用的衡量人体胖瘦程度以及是否健康的一個标准,主要用于统计分析,当我们需要比较及分析一个人的体重对于不同高度的人所带来的健康影响时,BMI值是一个中立而可靠的指标。 BMI的定义如下:

BMI=体重(kg)/身高的平方(m2)

即: BMI是用体重公斤数除以身高米数平方得出的数字

以身体质量指数BMI为例,其IPO描述如下。

输入:一个人的体重weight和身高height

处理:计算bmi的值。

bmi=weight/(height*height)

输出:bmi值

IPO描述能够帮助初学者理解程序设计的基本过程,即了解程序的运算模式,进而理解程序设计的基本概念。

2 Python程序设计课程的教学目标

《程序设计基础(Python)》作为一门专业基础课程,课程作用是通过教学,使学生掌握计算机编程语言的基本知识,初步掌握程序设计的基本思想和方法,使学生会使用Python语言进行简单的程序设计,使学生具有一定的分析问题、解决问题的能力。具体教学目标和教学内容如表1所示。

3 教学设计新探究

在教学设计时,要充分结合 Python 语言特点,采用新思维进行设计。我们需要对教学内容进行重构,以任务或案例的形式来展现。本文以成人的BMI指数来说明基于IPO的教学设计。成人的身体状况有以下五种情况:过轻、正常、过重、肥胖、非常肥胖。当BMI数值低于18.5,则“过轻”;BMI数值在18.5-23.9之间,则“正常”;BMI数值在24-27之间,则“过重”;BMI数值在28-32之间,则“肥胖”;当BMI数值高于32,则“非常肥胖”。具体设计如下表2所示。

我们可以采用循序渐进的方式来逐步解决整个问题,可以将问题逐步进行细化,分步骤分阶段地来完成和实施。每完成一个任务,再适当地增加难度,不断拓展知识和技能的容量。学生上手快,容易解决,能够从完成任务的过程中获得满足感,从而激发他进一步探究解决问题的主观能动性。对于不同程度的大学生来说,完成这个任务需要的时间也不一致完成这个案例大概需要10个学时。

学生一般都比较喜欢打游戏,游戏中的一关又一关的闯关过程使游戏者获得了满足感和成就感,身心愉悦而亢奋。那我们在设计问题时,如果像游戏中的关卡一样,一个比一个复杂一点点,难度一点点加大,会给学生留下一些想象和思考的空间,会激发学生探究的好奇心和热情,学习的效率和动力会不断地加强。由此,我们将成人的BMI数值问题设置为不同级别的版本,一个版本又一个版本的实现和闯关。

(1)成人的BMI数值1.0版本

在成人的BMI数值1.0版本中,主要学习IPO方法,数据的输入、数据的处理以及数据的输出。

输入:身高和体重值。实现方法:采用python解释器中内置的函数input()来实现数据的输入,该函数的返回值是字符串。同时说明字符串的概念及表示。

处理:计算BMI值。实现方法:使用eval()函数将我们输入的身高和体重值转换为数值;并使用算术运算符完成BMI值的计算。

输出:BMI值。实现方法:使用print()函数输出BMI值,重点讲解print()函数的使用。

程序的流程图如图1所示。

说明:其中图2的1和2行语句实现的是数据的输入;3-5行语句实现的是数据的处理;第6行语句实现的是数据的输出。

(2)成人的BMI数值2.0版本

任务描述:在成人的BMI数值1.0版本的基础上,增加对BMI值的判断,得出一个人的身体状况。数据的输入和输出没有问题,重点的是数据的处理。在上次的数据处理基础上,我们再使用分支结构来处理。

输入:体重weight和身高height

处理:

将身高和体重转换为数值;

计算BMI指数

判断BMI,给出相应的身体状况。如果BMI数值低于18.5,则身体状况是“过轻”;如果BMI数值在18.5-23.9之间,则身体状况是“正常”;如果BMI数值在24-27之间,则身体状况是“过重”;如果BMI数值在28-32之间,则身体状况是“肥胖”;如果BMI数值高于32,则身体状况是“非常肥胖”。

输出:身体狀况body_situation

BMI指数2.0版本参考代码,如图3:

(3)成人的BMI数值3.0版本

任务描述:在成人的BMI数值2.0版本的基础上,增加对多个人BMI值的判断,得出多个人的身体状况。问题的重点是数据的处理,我们采用循环结构来实现。实现循环的语句有while、 for等语句,我们可以选择容易理解和上手快的while语句先来实现。

(4)成人的BMI数值4.0版本

任务描述:在成人的BMI数值3.0版本的基础上,把处理对多个人BMI值的判断,得出多个人的身体状况这个问题封装到函数。数据的输入和输出没有问题,数据的处理采用函数来完成。问题的重点就是函数的定义以及调用。

(5)成人的BMI数值5.0版本

任务描述:在成人的BMI数值4.0版本的基础上,增加的功能是把上次得出多个人的身体状况写入到一个文件中保存。问题的重点就是文件的打开以及写入操作。

在使用IPO方法进行教学设计时,输入和输出比较简单,容易实现和掌握,重点在于数据的处理过程,在python中实现数据处理的主要有程序的控制结构、函数以及类等,这些才是我们学习的重点。如何将这些知识融合到教学设计中,这才是我们应该研究的问题。

4 总结与反思

本文谈论的基于IPO的Python教学设计有利于不断激发学生的探究问题的兴趣和解决问题的能力,从而提高课程的教学效果,当然也会存在一些不足和局限性。Python 语言简洁、高效和生态的特点能够较好地培养大学生解决计算问题的思维和能力。在Python中还有一些实现图形和图像的库,比如turtle、tkinter、graphics等,可以绘制一些平面图形、图像处理等。如果我们在教学过程中,再以有趣、生动的图形图像的绘制来激发学生学习兴趣,使程序设计变得直观、生动、形象并且切合实际。这样学生在学习程序设计时,就不会感到枯燥、无趣了,从而能够更好地提高课堂的教学效率。如果我们在教学过程能够多思考勤于总结,一定能够得到更好更优的教学效果。

参考文献:

[1] 冯艳红. Python语言程序设计教学模式探索[D].福建电脑,2018.10.

[2] 嵩天,黄天羽,礼欣. Python语言: 程序设计课程教学改革的理想选择[J]. 中国大学教学, 2016(2): 42-47.

[3] 嵩天,黄天羽. Python 语言程序设计教学案例新思维基础[D].计算机教育, 2017.12

[4] 嵩天,礼欣,黄天羽. Python 语言程序设计基础[M]. 2 版. 北京: 高等教育出版社, 2017.

【通联编辑:王力】

图书信息管理系统C语言IPO,基于IPO的Python教学设计相关推荐

  1. 修改图书信息c语言,图书信息管理系统c语言.doc

    图书信息管理系统c语言.doc 沈阳航空航天大学理学院 C语言程序设计课程设计报告 题目: 图书信息管理系统 专 业: 信息与计算科学 班 级: 学 号: 学生姓名: 指导教师: 2010年 7月 9 ...

  2. 图书信息管理系统c语言txt,小型图书信息管理系统(C语言)

    一份C语言详细程序(带步骤),关于小型图书信息管理系统的 1.题目 <小型图书信息管理系统>的设计与实现 2.功能 (1)每一条记录包括一本图书的书名.ISBN.作者.出版社.定价.出版日 ...

  3. c语言课程图书信息管理系统,c语言课程设图书信息管理系统.doc

    c语言课程设图书信息管理系统 课程设计报告 课程:高级语言程序设计 学号: 1010431059 姓名: 胡维维 班级: 嵌入式一班 教师: 王群芳 时间: 2011年6月 计算机科学与技术系 设计名 ...

  4. 图书信息录入功能c语言,图书信息管理系统C语言

    满意答案 bogd684ouec 推荐于 2016.09.18 采纳率:45%    等级:13 已帮助:10050人 自己写的! 题目和你们一样! #include #include #includ ...

  5. 图书信息管理系统(二)

    本文是我在学习过程中记录学习的点点滴滴,目的是为了学完之后巩固一下顺便也和大家分享一下,日后忘记了也可以方便快速的复习. 图书信息管理系统登录模块实现 前言 一.登陆界面设计 1.1.新建登录组件in ...

  6. 大一c语言图书管理系统查询,大一C语言课程设计图书信息管理系统.doc

    高级语言程序设计 课程设计 评语: 学 院 班 级 姓 名 学 号 成 绩 指导老师 年 月 日 一.目的 1. 进一步掌握和利用C语言进行程设计的能力: 2.? 进一步理解和运用结构化程设计的思想和 ...

  7. 基于Eclipse+Java+Swing+Mysql图书信息管理系统

    基于Eclipse+Java+Swing+Mysql图书信息管理系统 一.系统介绍 二.功能展示 1.主页 2.新增图书信息 3.删除图书信息 三.数据库 四.其他系统实现 五.获取源码 一.系统介绍 ...

  8. 用c语言实现图书信息管理系统

    图书信息管理系统 本文主要是用C语言有关内容实现图书信息管理系统,主要使用了文件.函数.指针.清屏等有关内容.图书信息则包括书名,ISBN码,出版社,价格,出版年月,图书数量,所属学科以及主编等.围绕 ...

  9. C语言程序设计--图书信息管理系统

    题    目: 图书信息管理系统  图书信息管理系统 本题目设计目的是训练学生的基本编程能力,了解图书管理信息系统的开发流程,熟悉C语言的文件的基本操作.本程序中涉及结构体.文件等方面的知识.通过本程 ...

  10. 基于线性表的图书信息管理系统

    基于线性表的图书信息管理系统 [实验目的] 1.掌握线性表的顺序存储表示和链式存储表示. 2.掌握顺序表和链表的基本操作,包括创建.查找.插入和删除等算法. 3.明确线性表两种不同存储结构的特点及其适 ...

最新文章

  1. Python递归获取文件夹下面所有文件名字:
  2. 当随机不够随机:一个在线扑克游戏的教训
  3. 什么是徽标LOGO模板?
  4. 黑马程序员 Python学习笔记之变量
  5. python语言程序设计实践教程答案实验五_Python程序设计实验五
  6. [和秋叶一起学ppt]四步教你变身高富帅ppt(笔记)
  7. paraview编译
  8. 智点软件**服装工厂衣服加工制作计件工资应用方案
  9. DXF读写:标注样式组码中文说明
  10. 计算机无法显示输入字体,电脑中ps输入字体不显示是怎么回事
  11. smartbi v7 Linux,Smartbi版本更新
  12. 2019 8 9 STM32F407ADS1526连续转换模式相关配置(采样率达到15000SPS)
  13. 如何在Windows 10上控制多个显示器的功能
  14. 基于逻辑回归的鸢尾花分类预测
  15. python关于变量的声明
  16. 推荐一款适用于vue的h5富文本编辑器
  17. 教你如何将朋友圈的视频发到自己的朋友圈
  18. pandorabox php,Openwrt Pandorabox 挂载摄像头 定时拍照上传百度网盘,实现实时监控(优酷路由宝)...
  19. postgres锁表怎么解决
  20. A simple but tough-to-beat baseline for sentence embedding

热门文章

  1. 6.torchvision
  2. JavaScript-射击比赛成绩单编程
  3. Python与企业微信-3
  4. 服务器审计资质证书,利用ACS服务器实现用户的认证、授权和审计
  5. Qos报文分类和标记原理与实验
  6. 360校招笔试题总结2
  7. 牛逼!这个网站可以帮助程序员命名变量和函数!
  8. 用Python爬了我的微信好友,他们是这样的...
  9. C语言字母排序不分大小写,求助C语言字母不分大小写排序
  10. 贪心算法(Greedy Algorithm)理论篇