## Python程序设计(Python Programming: Basic)Course Resources
---
##### Teacher: [李正华](http://hlt.suda.edu.cn/~zhli/)
##### Teach Assistant: [龚晨](http://hlt.suda.edu.cn/gongchen/)、[夏庆荣](http://hlt.suda.edu.cn/kiro/)
##### 2017秋季学期,计算机学院大一本科生
##### 上课时间和地点:
- 周三10:10-12:00东教楼403上理论课;
- 周四13:30-15:20东教楼403上理论课;
- 周五8:00-9:50理工楼238/247上机课(注意上机时要选对操作系统:Developement或VM)
##### 考试示例答案:
- 期中考试示例答案:
- [示例答案1](../file/exam.py)
- [示例答案1升级版](../file/exam_simplify.py)
- 期中考试成绩:
- [期中考试成绩](../file/python-middle-score.jpg)
- 期末考试成绩:
- [期末考试成绩](../file/Final.png)
##### 作业提交的相关要求:
- 提交作业的网址:
- [csteaching](http://csteaching.suda.edu.cn),注意需要使用校内网
- 作业的内容和格式:
- 每一章的实验报告+zip压缩文件
- zip压缩文件包括每一章的所有py程序文件,可以选择放到一个文件夹中
- 作业提交的时间:
- 第一、二章作业:11月3号之前(不包括11月3号)
- 第三、四章作业:11月16号之前(不包括11月16号)
- 第六、七章作业:11月30号之前(不包括11月30号)
- 第八章作业:12月13号之前(不包括12月13号)
- 第九章作业:12月20号之前(不包括12月20号)
- 第五章作业:12月27号之前(不包括12月27号)
---
[李老师python课程录播视频链接](http://opencourse.suda.edu.cn/VIEWGOOD/Pc/themes/default/Prog.aspx?id=2933)
[MIT公开课的百度云分享链接](http://pan.baidu.com/s/1o8Bkjn8)
[Python和C语言的区别](https://pan.baidu.com/s/1plz4CT4-JIBRHuMwMTt1Tw) 密码: phqu
[作业习题集](http://note.youdao.com/noteshare?id=39470bfca639d66594f1969afc2567f1)
---
##### 李老师的一些体会:
- 计算机英语很重要(1000左右单词),有助于理解和记忆;
- 逻辑思维能力很重要,从流程图(或伪代码)锻炼起;
- 多动手、多练习、多思考、多尝试,才能学好编程;
- 编程只是计算机科学与技术这门学科的最基本能力。要想成为顶尖的编程高手,必须对计算机的硬件、操作系统、数据结构、算法等基础理论理解透彻,所以要长期坚持,不断提高自己的计算机素养和基础。
---
##### Course 1(2017.9.27)
- 什么是计算?
- 计算机基于一些基本运算primitive,通过一些计算方法(算法),求解复杂问题的解。
- 给出了一个sqrt(x)的简单算法,通过迭代,不断逼近正解(联想数学上的极限)
- 计算机的基本知识:
- 位、字节
- 浮点数(floating-point number,又称为小数,即real number)由8个字节存储,无法精确表示所有数字
- 流程图(伪代码的重要性)
---
##### Course 2(2017.9.28)
[课堂笔记链接](http://note.youdao.com/noteshare?id=828b637ef7ff73a51dd26c1bc59be3e9)
- sqrt(x)算法及其伪代码、流程图(入口、出口、条件判断、循环)
- 计算机的基本原理:
- 磁盘:可以把写好的程序以文件形式存到磁盘中,将来打开修改,或者执行
- 内存:程序执行时,代码和变量(对象,数据)都存储在内存中(从磁盘导入)
- CPU:CU 控制代码一步一步执行,一次一个基本操作;ALU:对内存中对象进行算术或逻辑运算,结果存到内存。逻辑运算(once in a while)的结果会影响CU中的program counter,即影响代码的执行顺序
---
##### Course 3(2017.9.30)
[课堂笔记链接](http://note.youdao.com/noteshare?id=8c10e0dd7d3d3f16e2cc48e48e9ea541)
- 语句(statement)
- 简单语句
- 复杂语句
- 对象(object):包括数据(data)成员和动作(method)成员
- 类型:
1. 标量Scalar(integer, floating-point number, boolean)
2. 矢量Non-Scalar(字符串string)
- 三个属性:类型type,身份identity,值value
- 不可变对象immutable、可变对象mutable
- 赋值语句、算术运算、关系运算、逻辑运算、工厂函数
- 赋值语句:将变量名和对象binding在一起,或者可以理解为将变量名指向对象
- 字符串对象str(不可变)
---
##### Course 4(2017.10.11)
[课堂笔记链接](http://note.youdao.com/noteshare?id=68e848d41b6b664e9f52b44945a9afcb)
- 内置函数
- 字符串、特殊字符
- 重载操作符、成员操作符
---
##### Course 5(2017.10.12)
[课堂笔记链接](http://note.youdao.com/noteshare?id=e1d5d0a73ac499c8999f3aeda32b3d05)
- 字符串
- 字符串格式化
- 字符串方法
---
##### Course 6(2017.10.18)
[课堂笔记链接](http://note.youdao.com/noteshare?id=5b9a7e41e29d5536fcac70f099ff2aff)
- 选择
- 循环
---
##### Course 7(2017.10.19)
[课堂笔记链接](http://note.youdao.com/noteshare?id=0b5b6f5115cb2606d4f2636609e819bc)
- 循环
- 元组
- 列表
---
##### Course 8(2017.10.25)
[课堂笔记链接](http://note.youdao.com/noteshare?id=5e17d65bef1be52d0c2dc40cc67c4903)
- 元组
- 列表
---
##### Course 9(2017.10.26)
[课堂笔记链接](http://note.youdao.com/noteshare?id=519e1b770750d2817a37acd144e7c367)
- 列表
---
##### Course 10(2017.11.1)
[课堂笔记链接](http://note.youdao.com/noteshare?id=e74a7accf3aa289bb44548e5e5cb8076)
- 列表的方法
- 冒泡排序
---
##### Course 11(2017.11.2)
[课堂笔记链接](http://note.youdao.com/noteshare?id=4fcb12435f909636a7f9d3ee426f2035)
- 字典
---
##### Course 12(2017.11.8)
[课堂笔记链接](http://note.youdao.com/noteshare?id=102408978b54008831e7372dea7d5296)
- 字典
- 函数
---
##### Course 13(2017.11.9)
[课堂笔记链接](http://note.youdao.com/noteshare?id=52324d5c999c8d665e99d42608f666ea)
- 函数
---
##### Course 14(2017.11.15)
[课堂笔记链接](http://note.youdao.com/noteshare?id=65e5043c1e116e6471ed1a6738ba4f59)
- 函数
---
##### Course 15(2017.11.16)
[课堂笔记链接](http://note.youdao.com/noteshare?id=dd959db426f13f16ed89c7422f26dff8)
- 递归函数
- 匿名函数
---
##### Course 16(2017.11.22)
[课堂笔记链接](http://note.youdao.com/noteshare?id=23b1b413ee67bc774f5cc1160ae36d3f)
- 集合
- 文件
---
##### Course 17(2017.11.23)
[课堂笔记链接](http://note.youdao.com/noteshare?id=ea4384ccf2c560d6f42e2b2519eefc3b)
- 期中考试试卷分析(详情请查看课程视频)
- 文件
---
##### Course 18(2017.12.7)
[课堂笔记链接](http://note.youdao.com/noteshare?id=4663e819a5e020aee1c513b2a275436b)
- 文件
---
##### Course 19(2017.12.8)
[课堂笔记链接](http://note.youdao.com/noteshare?id=fbc706d60a47fe3e96a8230f8215d9de)
- 文件
- 模块
---
##### Course 20(2017.12.13)
[课堂笔记链接](http://note.youdao.com/noteshare?id=9796b107aa34f3850ce8d32d07357b2f)
- 浅拷贝和深拷贝
- 模块
- eval函数
---
##### Course 21(2017.12.14)
[课堂笔记链接](http://note.youdao.com/noteshare?id=5b5b2cfc41332a6ec02fe1f750811b59)
- 正则表达式
---
##### Course 22(2017.12.20)
[课堂笔记链接](http://note.youdao.com/noteshare?id=3376c983461d2f3df1bcb62d017db3ef)
- 正则表达式
---
##### Course 23(2017.12.21)
[课堂笔记链接](http://note.youdao.com/noteshare?id=cfa3ac29d7051edc0f470707951dac78)
- 正则表达式
- 函数
---
##### Course 24(2017.12.27)
[课堂笔记链接](http://note.youdao.com/noteshare?id=99dd8f83e0d3e0c5e9d686c9de46ebde)
- 异常
---
##### Course 25(2017.12.28)
[课堂笔记链接](http://note.youdao.com/noteshare?id=546939369c16ebef98a8baa974ef814f)
- 类