课程概述

“高级语言程序设计”类课程面向无编程基础的学生,培养其运用编程语言解决实际问题的编程能力,使学生掌握一门编程语言的基本语法、语句、控制结构以及结构化程序设计的基本思想和方法,了解基本的算法和数据结构、良好的程序设计风格,具备熟练使用一门编程语言分析和解决实际问题的能力,从而无论以后在学习、工作中使用什么语言编程,都能灵活应用这些思想和方法,为进一步学习其他专业课程和今后从事软件开发工作打下坚实的基础。

过去近二十年的“高级语言程序设计”课程多是以C语言为主要的讲授对象,C语言具有代码简洁紧凑、执行效率高、贴近硬件、可移植性好等优点,广泛应用于系统软件、嵌入式软件等开发。

然而,随着计算机技术的发展和进步,我们可以使用它来解决越来越多的问题,计算机的应用场合也不局限于计算机学科,众多的学科被冠以“计算”之名,如计算生物学、计算化学等等。在这种情况下,C语言这种“低级”语言已经越来越难适应计算机发展的潮流,众多的“高级”语言被创造出来以解决更实际的问题。

另外,C语言由于其语法过于灵活,所需要掌握的细节概念非常庞杂,即使是实现最简单的功能,也要涉及很多概念。因此如果教师在教学中不能将学生从语法细节中摆脱出来的话,那么往往也会吓退很多初学者,不利于学习兴趣的培养。

最后就是尽管C语言对于学生掌握计算机底层的工作原理非常重要,但C语言相对比较“低级”,缺乏高级数据结构,因此要想解决更实际的问题,如字符串的处理、大规模的数据分析等,就需要编写非常大规模且复杂的代码,初学者往往会显得力不从心了。

因此,我们需要一种简单易学且能解决更实际问题的语言,Python语言恰好能弥补C语言的不足。具体地,和C语言相比,Python语言具有如下的优点:

1、简单易学:Python语言是一种代表简单主义思想的语言,极易上手。阅读一个良好的Python程序就感觉像是在读英语一样,尽管这个英语的要求非常严格。Python语言的这种伪代码本质是它最大的优点之一,它使学生能够专注于解决问题而不是去搞明白语言本身。

2、丰富的数据结构:除了基本的数值类型外,Python语言还内置了字符串、列表、字典等丰富的高级数据结构,利用这些数据结构,我们可以解决非常多的实际应用问题,如文本的处理、数据的分析等等。

3、逐渐流行:目前,有越来越多的项目使用Python语言开发。同时也有越来越多Python的类库被开发出来,这使得使用Python语言变得更加易用,对于提高计算机专业学生的学习兴趣和应用能力大有裨益。此外,Python语言设计之初就考虑到要能够方便地调用其他语言,因此可以方便地利用已有的其他语言编写的模块。

本课程除了讲授Python语言程序设计语言的基本要素,包括基本数据类型、运算、控制结构、函数外,还讲授数据结构的概念和应用、算法时空复杂性的概念以及图形用户界面、数据库和Web应用程序设计等实用的知识,使学生在学完本课程后,即可利用计算机解决众多的实际问题,甚至可以编写图形游戏、动态网站以及处理复杂的数据等。

证书要求

本课程的总分100分,包括70分平时测验和作业分数以及30分期末考试分数。

预备知识

授课大纲

第一周:程序设计的基础知识

程序设计的基础知识

第一周测验

第一周作业

第二周:数据类型、运算符与表达式、变量赋值与简单I/O操作

2.1 对象和类型

2.2 运算符与表达式

2.3 变量与简单I/O

第二周测验

第二周作业

第三周:程序控制结构

3.1:选择结构

第三周测验

第三周作业

3.2:循环结构

3.3:编程练习

第四周:函数与递归函数

4.2:递归函数

第四周测验

4.1:函数

第四周作业

第五周:字符串

5.1:字符串

第五周测验

第五周作业

第六周:列表与元组

第六周作业

6.1:列表

6.2:元组

第六周测验

第七周:字典与集合

7.1:字典和集合

第七周测验

第七周作业

参考资料

1、Allen B. Downey.《Think Python: How to Think Like a Computer Scientist》Green Tea Press.

2、Python程序设计 [An Introduction to Programming Using Python][美] 戴维 I.施奈德(David I. Schneider)著;车万翔 译

常见问题

Q1:为什么教学内容选择Python 2.x版,而不是 3.x版?

A1:目前Python有两个版本,2.x 和 3.x版,这两个版本是不兼容的,虽然目前Python正朝着 3.x版进化,但是由于历史原因,目前有大量的第三方库还是用 2.x版实现的,这些代码要修改后才能在3.x上运行。因此,为了保证你的程序能用到这些优秀的第三方库,我们仍以2.x版本,确切的说事2.7.x,为介绍对象。所以,请确保你的电脑上安装的Python版本是2.7.x。

Q2:内容能否更有“深度”?

A2:本门课主要面向无任何编程基础的同学,也就是将Python作为第一门编程语言来讲授“高级程序设计语言”,重点是编程的思想和解决问题能力的培养,而不涉及太多的Python特性。至于为什么这么做,有相关的文章加以阐释(https://blog.csdn.net/bitfan/article/details/7939691)。那么本门课是否会介绍一些有“深度”的内容呢?答案是NO!如果你学过其它编程语言,想通过本门课快速了解Python到底和之前学过的语言有哪些不同的话,建议到网上查找相关的资料。

python是高级程序语言_高级语言程序设计(Python)_中国大学MOOC(慕课)相关推荐

  1. 大学电路题目怎么搜_电路(二),中国大学MOOC(慕课)答案公众号搜题

    在给患者进行关节活动训练时,主动-辅助关节活动训练适宜的对象叙述确切的是A.肌力为1级以上的患 在订立保险合同时,必须履行告知义务的主体是().A.投保人和保险人B.被保险人和投保人C.保险人和 冠心 ...

  2. python语言程序设计慕课_中国大学MOOC(慕课)_Python语言程序设计基础_试题及答案...

    中国大学MOOC(慕课)_Python语言程序设计基础_试题及答案 更多相关问题 智慧职教: 反应级数的绝对值不会超过3,可以是正整数或者负整数,不能是分数. 在铆接过程中,铆孔的质量直接影响铆接质量 ...

  3. python资源管理器 计算机项目下的_高级语言程序设计(Python)_中国大学MOOC(慕课)_题库及答案...

    高级语言程序设计(Python)_中国大学MOOC(慕课)_题库及答案 来源:未知 编辑:admin 时间:2020-06-30 更多相关问题 以下选项中能正确调用fun函数的语句是charfun(c ...

  4. python语言使用不需要付费不存在商业风险_中国大学MOOC慕课_Python语言基础与应用_答案...

    中国大学MOOC慕课_Python语言基础与应用_答案 答案: 更多相关问题 下列不属于不得再次公开发行公司债券的情形是(). A.对于公司前一次公开发行的公司债券尚未募足B 从生物电的角度而言,细胞 ...

  5. python内置库求复数的辐角_皮肤与美容—医学专家如是说_中国大学MOOC(慕课)_章节测验答案...

    皮肤与美容-医学专家如是说_中国大学MOOC(慕课)_章节测验答案 更多相关问题 某国开展对外贸易,一般来说可以使 为防止麻醉后引起呕吐或窒息,一般手术前禁食.禁饮的时间是 [单选题]Windows ...

  6. python 慕课网请编写一个fib函数_中国大学MOOC(慕课)Python编程基础章节测试答案...

    中国大学MOOC(慕课)Python编程基础章节测试答案 更多相关问题 放射免疫分析法中,下列有关准确度的描述正确的是A.测得最少量的物质浓度B.重现性C.检测到单一物 社会鼎盛是唐代()的主要原因. ...

  7. mooc数据结构与算法python版期末测验_中国大学MOOC(慕课)_数据结构与算法Python版_测试题及答案...

    中国大学MOOC(慕课)_数据结构与算法Python版_测试题及答案 更多相关问题 采用fopen()函数打开文件,支持文件读取的参数有: [简答题]简单阐述高分子材料热-机械特征及成型加工的关系,并 ...

  8. 张莉python 玩转数据答案_中国大学MOOC(慕课)用Python玩转数据答案大全

    中国大学MOOC(慕课)用Python玩转数据答案大全 更多相关问题 All the neighbors admire the family _______ the parents are treat ...

  9. 平局决胜制(抢七)交换场地是_中国大学MOOC慕课_汽车文化_章节测试答案

    中国大学MOOC慕课_汽车文化_章节测试答案 更多相关问题 为武昌起义的发生提供了契机,成为武昌起义的导火索 [单选题]本文塑造了鲜明的人物形象,其主要手段是运用了典型的描写,下面分析正确的一项是( ...

  10. python拍照搜题_Python数据分析实践,中国大学MOOC(慕课)答案公众号搜题

    Python数据分析实践,中国大学MOOC(慕课)答案公众号搜题 更多相关问题 I can guess you were in a hurry. You ( ) your sweater inside ...

最新文章

  1. 邀请了阿里的学长学姐分享
  2. C#静态类 静态方法与非静态方法比较
  3. 《OpenSSL3.0学习之一 加密库简介|CSDN创作打卡》
  4. 高并发编程-Wait Set 多线程的“休息室”
  5. u-boot 源码分析讲解
  6. 微软所谓的无人工介入的自动的机器翻译系统
  7. 实例5:python
  8. php jquery模板替换图片,仿jquery插件官网头像更换(原创)
  9. Linux系统编程4:入门篇之最强编辑器vim的使用攻略
  10. 尚学堂java 参考答案 第七章
  11. Lora模块一对一和一对多
  12. ios 模拟器添加经纬度_iOS 微信双开来了,但我不建议你使用
  13. ALOS 12.5米精度DEM数据下载与处理
  14. 一键备份服务器文件夹权限,教大家一键设置局域网共享文件夹权限
  15. android wear5.0,Android Wear安卓5.0正式到来
  16. 你所不知道的我国交通工程早期经历了怎样的发展?
  17. 目标检测:速度和准确性比较(Fater R-CNN,R-FCN,SSD,FPN,RetinaNet和YOLOv3)
  18. 百度网盘会员怎么买最便宜
  19. 关于Windows10 VT虚拟化无法开启
  20. html知识点总结1

热门文章

  1. 点击验证码刷新的实现
  2. seo关键词排名点击优化软件
  3. 模拟退火算法(Simulated Annealing,SA)
  4. Solr JVM内存不足
  5. 英文网站注册常用词汇
  6. 树莓派添加网络打印机
  7. mysql sdi_SDI文件扩展名 - 什么是.sdi以及如何打开? - ReviverSoft
  8. matlab最长回撤期,最大回撤,最大回撤恢复时间与最大回撤持续期
  9. Log4net自定义信息(变量或属性或字段)存入数据库
  10. 在线转换各种格式网站