课程概况

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

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

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

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

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

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

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

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

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

本课程除了讲授Python语言程序设计语言的基本要素,包括基本数据类型、运算、控制结构、函数外,还讲授数据结构的概念和应用、算法时空复杂性的概念等知识,使学生在学完本课程后,即可利用计算机解决众多的实际问题。

课程大纲

知识单元一:程序设计语言基础

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

教学内容:计算的基本概念,计算机程序设计语言的历史,Python语言的发展简史及语言的特点,程序设计语言的基本语法

教学要求:了解冯诺依曼计算机的基本结构;了解编译型/解释型语言的区别

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

教学内容:数值数据类型(integer、float、boolean),算术运算符、关系运算符和逻辑运算符,表达式,运算符优先级,常用的数学函数,标识符命名规则,变量赋值和赋值运算,标准输入/输出,标识符命名规则,变量赋值和赋值运算,标准输入/输出

教学要求:掌握数据类型的功能,不同数据类型的表示方式,它们之间的区别和联系,掌握标示符命名规则;掌握变量的含义及定义方式;掌握标准输入/输出方法,掌握不同运算符的含义;掌握运算符的优先级;了解常用的数学函数

第3周:控制结构与流程图

教学内容:顺序、分支和循环控制结构,嵌套控制结构,流程图表示方法

教学要求:掌握不同控制结构的区别和联系;会灵活运用不同的控制结构解决实际的问题;掌握流程图绘制方法

第4周:函数

教学内容:函数定义与调用,参数传递,变量作用域,结构化程序设计的核心思想,程序测试与调试,递归的基本思想,递归函数应用实例。

教学要求:掌握函数的功能;了解参数传递的过程;了解变量作用域的含义;了解分而治之的结构化程序设计思想;了解基本的程序测试与调试方法;了解递归的基本思想;学会用递归的思想解决实际问题

知识单元二:数据结构与算法基础

第5周:字符串

教学内容:字符串表示、字符串处理、正则表达式

教学要求:了解字符串的概念;掌握字符串的基本操作

第6周:列表、元组和简单算法

教学内容:列表的概念和基于列表的算法,算法基础知识(算法的概念和特性,时间和空间复杂度概念),查找、排序等

教学要求:了解列表、元素的基本概念和区别;了解算法的定义;了解时间和空间复杂度概念;掌握基本的查找、排序算法

第7周:字典与集合

教学内容:字典与集合的概念和应用

教学要求:了解字典与集合的基本概念和区别以及应用场合;了解不同数据的优缺点和适用领域;学会综合应用多种数据结构解决实际问题

预备知识

无,任何人均可报名

证书或学分

评分方案

评分按照周测验和期末考试的答题情况进行,周测验 80 分,期末 20 分。

证书

评分高于 60 分颁发普通证书。

参考资料

Python程序设计 [An Introduction to Programming Using Python]

[美] 戴维 I.施奈德(David I. Schneider)著;车万翔 译

http://item.jd.com/11889583.html

常见问题

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特性。至于为什么这么做,有相关的文章加以阐释(http://blog.csdn.net/bitfan/article/details/7939691)。那么本门课是否会介绍一些有“深度”的内容呢?答案是NO!如果你学过其它编程语言,想通过本门课快速了解Python到底和之前学过的语言有哪些不同的话,建议到网上查找相关的资料。

python属于高级编程语言_高级语言程序设计(Python)相关推荐

  1. python解决现实问题的思想_高级语言程序设计(Python)

    spContent="高级语言程序设计(Python)"课程面向无编程基础的学生,培养运用Python语言解决实际问题的编程能力.使学生掌握Python语言的基本语法.语句以及结构 ...

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

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

  3. python高级语言应用结课报告_校本课程开发章节测试参考答案,高级语言程序设计Python章节测试参考答案查询...

    校本课程开发章节测试参考答案 从人的一天来说,长时间的一直学习不一定是好事.所以一天到晚都在看书的人,并不一定是学习很好的人,而大多数的学霸肯定不会一天到晚的看书.研究表明,长时间学习不仅不会提升学习 ...

  4. python高级语言程序设计答案_高级语言程序设计(Python)_MOOC章节测试答案

    高级语言程序设计(Python)_MOOC章节测试答案 更多相关问题 移动购物的优势包括().A.节省了社会资源和成本B.深受消费者喜爱C.便捷性D.随时随地E.有较好的 网络防火墙技术是一种用来加强 ...

  5. python是高级程序语言_高级语言程序设计(Python)_中国大学MOOC(慕课)

    课程概述 "高级语言程序设计"类课程面向无编程基础的学生,培养其运用编程语言解决实际问题的编程能力,使学生掌握一门编程语言的基本语法.语句.控制结构以及结构化程序设计的基本思想和方 ...

  6. selenium python高级教程_自动化测试系列 python+selenium的使用教程(一)

    Selenium也是一个用于Web应用程序的自动化测试工具,功能强大,可直接运行在浏览器中,支持大部分主流浏览器,支持自动录制动作和自动生成,最重要的是支持多种主流语言包括java,python等. ...

  7. 高等数学与python高级应用_高等数学——基于Python的实现

    商品详情 书名:高等数学--基于Python的实现 定价:45.8 ISBN:9787121382437 作者:官金兰 版次:第1版 出版时间:2020-07 内容提要: 本书旨在用通俗易懂的语言介绍 ...

  8. 我的python学习之路_我的Python学习之路

    简单算来,接触Python有些时日了.想要做个简单的总结,算是为想要入门Python的童鞋做一个简单的介绍吧. 什么是Python Python,是一种面向对象.直译式的计算机程序语言.它包含了一组功 ...

  9. python 文字处理系统_详解Python中的文本处理

    字符串 -- 不可改变的序列 如同大多数高级编程语言一样,变长字符串是 Python 中的基本类型.Python 在"后台"分配内存以保存字符串(或其它值),程序员不必为此操心.P ...

最新文章

  1. android groovy 注解,Groovy 注释
  2. 开源应用框架BitAdminCore:更新日志20180817
  3. java导包及注意事项_STS导项目的顺序及注意事项
  4. 深入理解javascript原型和闭包(9)——简述【执行上下文】下
  5. Excel 2007中不可不知的数字
  6. iview select选中值取值_iView的Select选择框
  7. NLPCC 2021 Final Call For Papers
  8. 58. 格式化字符串
  9. js高级开发:气泡坦克(js对象,属性)
  10. excel2013超链接进不去,提示“您的组织策略不允许...”
  11. firefox主页被360篡改_IE浏览器主页被劫持,如何解决主页被篡改问题?
  12. abp The value could not be converted to a GUID:
  13. 脉脉热帖:数仓真的是太无聊了...
  14. 基于S3C2440丛SD卡启动WinCE(或其它程序)的实现
  15. 代码仓库已移步http://202.119.84.104:8088/Socialbiao/bookdinner
  16. 股指期货手续费每日增加吗(手续费计算公式)
  17. 【繁中】Python 教學 爬蟲基礎
  18. 卢沟桥对于古代北京的作用
  19. 解决ora-01861文字与格式字符串不匹配
  20. 安徽安全员A考试最新多选题库

热门文章

  1. deepin wine 卸载软件
  2. android展示latex_Android完美解决LaTeX中文显示问题
  3. PCL 改进体元滤波算法
  4. 大话 Python:python 操作 excel 系列 -- 数据汇总与统计
  5. Facebook时间序列预测算法模型-prophet
  6. Lyapunov稳定性分析2(连续时间系统)
  7. labview在ni官网上搜索不到visa驱动的解决办法
  8. COMPAQ CQ36 拆解全纪实
  9. python毕业设计作品基于django框架企业公司网站毕设成品(6)开题答辩PPT
  10. Vue和Servlet搭配使用