论文部分内容阅读
摘要:针对《IT实用技术》公共课中比较抽象的概念和知识点,笔者探索采用对初学者友好的Python 语言及其IDLE环境作为学习、体验和练习的环境,收到了较好的教学效果。本文列举了在教学实践中关于数的进制、ASCII 及Unicode编码以及高级程序设计的几个实例。
关键词:云教学;计算思维;高等教育;Python
本学期笔者承担了西南财经大学天府学院艺术设计学院网络与新媒体专业的《IT实用技术》公共课。该课程是在抗疫条件下的云教学环境下进行,老师和同学们无法面对面,而课程中的有关章节涉及到二进制、八进制、十六进制、ASCII 编码、Unicode编码、高级程序设计等比较抽象的概念和知识点,因此形象直观的教学手段和工具显得尤为重要。我探索把这些教学内容与学习入门相对容易、对初学者友好的Python 语言相结合,同学们能够在自己电脑上安装好的Python IDE环境下练习和体验以上的学习内容,眼见为实。Python语言是在八十年代末、九十年代初,由Guido van Rossum 在荷兰国家数学和计算机科学研究所设计,由诸多其它语言发展而来的一门非常强大的编程语言, 其开源、简洁、优雅以及对文字的强处理能力使得它目前已成为人工智能和大数据分析的主力语言。Python是初学者友好的语言,对初级程序员而言,它是一种伟大的语言,支持广泛的应用程序开发,包括简单的文字处理、Web 浏览器、到电子工程和游戏。Python是一种解释型语言,意味着开发过程中没有了编译这个环节,类似于PHP和Perl语言。Python是交互式语言,意味着学生在一个Python提示符下直接互动执行和编写程序。Python是面向对象的语言,支持面向对象的风格或代码封装在对象的编程技术。
点击并拖拽以移动在第一章《计算机的诞生与发展》中,讲述数值数据的进制时,我们可以利用Python对二进制、八进制、十六进制的表示方法让同学们更直观地去学习和理解。例如,把0b1011 , 0o712 , 0x1ac 這些数值敲入到 Python交互式shell环境下,对应的十进制的值就能马上显示出来,在这里,0b、0o、0x 分别表示二进制、八进制、十六进制数(b、o、x也可以是大写的B、O、X)。
同样在第一章“字符的编码”一节中,我们可以用Python中互逆的2个函数ord()和chr()来说明ASCII编码的使用,也可以用"\u"+ Unicode来说明Unicode编码的使用。
点击并拖拽以移动在教学中可以让同学们先访问 https://home.unicode.org/,得到 ‘@’的Unicode编码是 FF20(4位16进制数),‘π’的 Unicode编码是 03c0,然后用 ‘\u’转义字符调用print( )函数输出。
在讲授课程的下半部分《计算思维基础》时,由于Python语言具有的入门容易、语法简洁、优雅、高效的特点,在教学计划中我把原来教材第9章《程序设计》中采用的描述语言C++ 和Visual Basic替换成Python语言。因为,对于文科学生来说,C++语言过于艰深,而Visual Basic语言在蓬勃发展的高级程序设计语言中又逐渐落伍。比如我们熟知的汉诺塔(Tower of Hanoi )问题采用Python编程来实现,仅仅 12行程序,该程序将输出n层的汉诺塔从 A柱移到C柱的步骤,并统计出移动的步骤数(应该是 -1次)。
本例中,采用了递归函数,老师在课堂教学中可以借助递归函数的思想清晰地阐述问题求解的算法思路。
i=0;
def hanoi(n,a,b,c):
global i
if n== 1:
print(a,'-->',c)
else:
hanoi(n-1,a,c,b)
print(a,'-->',c)
hanoi(n-1,b,a,c)
i=i+1
hanoi(6,'A','B','C')
print("Totally {0} moves".format(i))
在老师的指导下,同学们大都安装好了来自Python官网(www.python.org)的IDE环境,并利用该环境来学习和实践课程中的一些抽象概念和知识点,从教学实践和效果来看,这个探索证明是有效的。由于Python是开源的,拥有丰富的开发就绪的第三方库,笔者准备就本课程的其它教学内容例如“计算机网络”进一步探索挖掘一些可应用到教学上的资源库以积累更多的教学用例。
参考文献:
[1]史巧硕 柴欣《大学计算机基础与计算思维》(第2版)人民邮电出版社 2015年
[2] 徐光侠 常光辉 谢绍词 黄德玲 《Python 程序设计案例教程》人民邮电出版社 2017年
[3] [美] Richard Blum,ChristineBresnanhan陈晓明 马立新 译《树莓派Python编程入门与实战(第二版)》人民邮电出版社 2017年
[4] [美] Wesley Chun《Python 核心编程》(第3版)英文版人民邮电出版社 2016年
作者简介:王强,1967年,男,四川成都,西南交通大学,硕士,主要研究方向为计算机软件编程、人工智能。
关键词:云教学;计算思维;高等教育;Python
本学期笔者承担了西南财经大学天府学院艺术设计学院网络与新媒体专业的《IT实用技术》公共课。该课程是在抗疫条件下的云教学环境下进行,老师和同学们无法面对面,而课程中的有关章节涉及到二进制、八进制、十六进制、ASCII 编码、Unicode编码、高级程序设计等比较抽象的概念和知识点,因此形象直观的教学手段和工具显得尤为重要。我探索把这些教学内容与学习入门相对容易、对初学者友好的Python 语言相结合,同学们能够在自己电脑上安装好的Python IDE环境下练习和体验以上的学习内容,眼见为实。Python语言是在八十年代末、九十年代初,由Guido van Rossum 在荷兰国家数学和计算机科学研究所设计,由诸多其它语言发展而来的一门非常强大的编程语言, 其开源、简洁、优雅以及对文字的强处理能力使得它目前已成为人工智能和大数据分析的主力语言。Python是初学者友好的语言,对初级程序员而言,它是一种伟大的语言,支持广泛的应用程序开发,包括简单的文字处理、Web 浏览器、到电子工程和游戏。Python是一种解释型语言,意味着开发过程中没有了编译这个环节,类似于PHP和Perl语言。Python是交互式语言,意味着学生在一个Python提示符下直接互动执行和编写程序。Python是面向对象的语言,支持面向对象的风格或代码封装在对象的编程技术。
点击并拖拽以移动在第一章《计算机的诞生与发展》中,讲述数值数据的进制时,我们可以利用Python对二进制、八进制、十六进制的表示方法让同学们更直观地去学习和理解。例如,把0b1011 , 0o712 , 0x1ac 這些数值敲入到 Python交互式shell环境下,对应的十进制的值就能马上显示出来,在这里,0b、0o、0x 分别表示二进制、八进制、十六进制数(b、o、x也可以是大写的B、O、X)。
同样在第一章“字符的编码”一节中,我们可以用Python中互逆的2个函数ord()和chr()来说明ASCII编码的使用,也可以用"\u"+ Unicode来说明Unicode编码的使用。
点击并拖拽以移动在教学中可以让同学们先访问 https://home.unicode.org/,得到 ‘@’的Unicode编码是 FF20(4位16进制数),‘π’的 Unicode编码是 03c0,然后用 ‘\u’转义字符调用print( )函数输出。
在讲授课程的下半部分《计算思维基础》时,由于Python语言具有的入门容易、语法简洁、优雅、高效的特点,在教学计划中我把原来教材第9章《程序设计》中采用的描述语言C++ 和Visual Basic替换成Python语言。因为,对于文科学生来说,C++语言过于艰深,而Visual Basic语言在蓬勃发展的高级程序设计语言中又逐渐落伍。比如我们熟知的汉诺塔(Tower of Hanoi )问题采用Python编程来实现,仅仅 12行程序,该程序将输出n层的汉诺塔从 A柱移到C柱的步骤,并统计出移动的步骤数(应该是 -1次)。
本例中,采用了递归函数,老师在课堂教学中可以借助递归函数的思想清晰地阐述问题求解的算法思路。
i=0;
def hanoi(n,a,b,c):
global i
if n== 1:
print(a,'-->',c)
else:
hanoi(n-1,a,c,b)
print(a,'-->',c)
hanoi(n-1,b,a,c)
i=i+1
hanoi(6,'A','B','C')
print("Totally {0} moves".format(i))
在老师的指导下,同学们大都安装好了来自Python官网(www.python.org)的IDE环境,并利用该环境来学习和实践课程中的一些抽象概念和知识点,从教学实践和效果来看,这个探索证明是有效的。由于Python是开源的,拥有丰富的开发就绪的第三方库,笔者准备就本课程的其它教学内容例如“计算机网络”进一步探索挖掘一些可应用到教学上的资源库以积累更多的教学用例。
参考文献:
[1]史巧硕 柴欣《大学计算机基础与计算思维》(第2版)人民邮电出版社 2015年
[2] 徐光侠 常光辉 谢绍词 黄德玲 《Python 程序设计案例教程》人民邮电出版社 2017年
[3] [美] Richard Blum,ChristineBresnanhan陈晓明 马立新 译《树莓派Python编程入门与实战(第二版)》人民邮电出版社 2017年
[4] [美] Wesley Chun《Python 核心编程》(第3版)英文版人民邮电出版社 2016年
作者简介:王强,1967年,男,四川成都,西南交通大学,硕士,主要研究方向为计算机软件编程、人工智能。