知识单元一:程序设计语言基础
第1周:程序设计的基础知识
教学内容:计算的基本概念,计算机程序设计语言的历史,Python语言的发展简史及语言的特点,程序设计语言的基本语法
教学要求:了解冯诺依曼计算机的基本结构;了解编译型/解释型语言的区别
第2周:数据类型、运算符与表达式、变量赋值与简单I/O操作
教学内容:数值数据类型(integer、float、boolean),算术运算符、关系运算符和逻辑运算符,表达式,运算符优先级,常用的数学函数,标识符命名规则,变量赋值和赋值运算,标准输入/输出,标识符命名规则,变量赋值和赋值运算,标准输入/输出
教学要求:掌握数据类型的功能,不同数据类型的表示方式,它们之间的区别和联系,掌握标示符命名规则;掌握变量的含义及定义方式;掌握标准输入/输出方法,掌握不同运算符的含义;掌握运算符的优先级;了解常用的数学函数
第3周:控制结构与流程图
教学内容:顺序、分支和循环控制结构,嵌套控制结构,流程图表示方法
教学要求:掌握不同控制结构的区别和联系;会灵活运用不同的控制结构解决实际的问题;掌握流程图绘制方法
第4周:函数
教学内容:函数定义与调用,参数传递,变量作用域,结构化程序设计的核心思想,程序测试与调试,递归的基本思想,递归函数应用实例。
教学要求:掌握函数的功能;了解参数传递的过程;了解变量作用域的含义;了解分而治之的结构化程序设计思想;了解基本的程序测试与调试方法;了解递归的基本思想;学会用递归的思想解决实际问题
知识单元二:数据结构与算法基础
第5周:字符串
教学内容:字符串表示、字符串处理、正则表达式
教学要求:了解字符串的概念;掌握字符串的基本操作
第6周:列表、元组和简单算法
教学内容:列表的概念和基于列表的算法,算法基础知识(算法的概念和特性,时间和空间复杂度概念),查找、排序等
教学要求:了解列表、元素的基本概念和区别;了解算法的定义;了解时间和空间复杂度概念;掌握基本的查找、排序算法
第7周:字典与集合
教学内容:字典与集合的概念和应用
教学要求:了解字典与集合的基本概念和区别以及应用场合;了解不同数据的优缺点和适用领域;学会综合应用多种数据结构解决实际问题
参考资料
教材: Allen B. Downey.《Think Python: How to Think Like a Computer Scientist》Green Tea Press.
英文版下载地址:http://www.greenteapress.com/thinkpython/thinkpython.html