1
课程详述
COURSE SPECIFICATION
以下课程信息可能根据实际课需要或在课程检讨之后产生变动。如对课程有任何疑问,
联系授课教师。
The course information as follows may be subject to change, either during the session because of unforeseen
circumstances, or following review of the course at the end of the session. Queries about the course should be directed to the
course instructor.
1.
课程名称 Course Title
Python
编程和实践 Python Programming
2.
授课院系
Originating Department
地球与空间科学系 Department of Earth and Space Sciences
3.
课程编号
Course Code
ESS212
4.
课程学分 Credit Value
3
5.
课程类别
Course Type
专业选修课 Major Elective Courses
6.
授课学期
Semester
春季 Spring
7.
授课语言
Teaching Language
中英双语 English & Chinese
8.
他授课教师)
Instructor(s), Affiliation&
Contact
Forteamteaching,pleaselistall
instructors
高科,地球与空间科学系
邮箱:gaok@sustech.edu.cn
电话:0755-88018649
办公室:创园 9 310
Ke Gao, Department of Earth and Space Sciences
E-mail: gaok@sustech.edu.cn
Tel: 0755-88018649
Office: Innovation Park #9-310
9.
验员
/
教、系、
方式
Tutor/TA(s), Contact
待公布 To be announced
10.
选课人数限额
(
可不填
)
Maximum Enrolment
Optional
11.
授课方式
Delivery Method
讲授
Lectures
实验/
Lab/Practical
其它(具体注明)
OtherPleasespecify
总学时
Total
2
学时数
Credit Hours
32
32
64
12.
先修课程、其它学习要求
Pre-requisites or Other
Academic Requirements
MA101B 高等数学(上)AMA107A 线性代数 A
MA101B Calculus I A and MA107A Linear Algebra A
13.
后续课程、其它学习规划
Courses for which this course is a
pre-requisite
14.
其它要求修读本课程的学系
Cross-listing Dept.
教学大纲及教学日历 SYLLABUS
15.
教学目标
Course Objectives
本课程的基本目标是讲 Python 言的数据类型和相关编程技巧。课程内容包 Python 编程环境的设置、基本变量
型、流程控制、函数、列表、字典、文件输入输出、表达式、绘图、NumpySciPyPandas 和并行计算。在课程结束
后,期望学生能够熟练地掌握 Python 语言,并能熟练和有效地解决相关的科学计算问题。
This course introduces the basic concepts of Python programming language and the corresponding programming skills.
The main contents includes the Python programming environment setup, main components of Python (variables,
operators, data type, etc.), flow control, functions, lists, dictionaries, tuples and sets, file I/O, expressions, plotting,
Numpy, SciPy, Pandas, and Python parallel computing. After the course, the students are expecting to use Python
language to solve basic scientific computing problems fluently and efficiently.
16.
预达学习成果
Learning Outcomes
课程结束后,期望学生能够掌握:
1. Python 基本数据组成
2. 流程控制方法
3. NumpySciPy Pandas 库的应用
4. 科学图件绘制
5. 文件输入输出
6. 面向对象的 Python 编程
7. Python 并行计算
Upon completing the course, students will master the following knowledge:
1. The basic data components of Python language;
2. The control flow of programming;
3. The concepts of Numpy, SciPy and Pandas;
4. Plotting of scientific graphs using matplotlib;
5. Basic knowledge of file I/O;
6. Basic understanding of Python Object-oriented programming;
7. Python parallel programming using mpi4py;
17.
课程内容及教学日历 (如授课语言以英文为主,则课程内容介绍可以用英文;如团队教学或模块教学,教学日历须注明
主讲人)
Course Contents (in Parts/Chapters/Sections/Weeks. Please notify name of instructor for course section(s), if this is a team
teaching or module course.)
3
1 讲:绪论(1 学时,另加 1 学时上机)
Python 语言基本介绍,编程环境设置。
2 讲:字符串、列表、数组和字典(3 学时,另加 3 学时上机)
字符串、列表、数字和字典等数据形式介绍。
3 讲:输入输出2 学时,另加 2 学时上机)
键盘和屏幕输入输出以及文件输入输出方法介绍。
4 讲:条件和循环(2 学时,另加 2 学时上机)
条件、循环等流程控制,包括 ifelifforwhile
5 讲:绘图(4 学时,另加 4 学时上机)
Matplotlib 介绍,包括线状图、柱状图、对数图、多轴图、等线图、矢量图和三维图件绘制技巧。
6 讲:函数绘图3 学时,另加 3 学时上机)
内置函数、用户自定义函数、数据传递和匿名函数等/
7 讲:SciPy NumPy 介绍(3 学时,另加 3 学时上机)
随机数生成、线性代数、非线性方程组求解和数值积分。
8 讲:基于 Pandas 的数据处理和分析(2 学时,另加 2 学时上机)
基于 Pandas 的数据读取和生成,DataFrame 介绍和数据提取,基于 Pandas 的绘图。
9 讲:面向对象 Python 介绍(3 学时,另加 3 学时上机)
类和对象,封装和继承。
10 讲:曲线拟合(2 学时,另加 2 学时上机)
包括线性和非线性曲线拟合。
11 讲:符号计算(3 学时,另加 3 学时上机)
包括线性和非线性曲线拟合。
12 讲:Python 并行计算(4 学时,另加 4 学时上机)
mpi4py 函数介绍和基本并行计算流程。
Session 1: Introduction (1 hours, plus 1 lab hour)
Introduction of Python programming language; Python programming environment and setup
Session 2: Strings, Lists, Arrays and Dictionaries (3 hours, plus 3 lab hours)
Introduction of Strings, Lists, NumPy Arrays and Dictionaries.
Session 3: Input and Output (2 hours, plus 2 lab hours)
Introduction of keyboard input, screen output, file input and output.
Session 4: Conditionals and Loops (2 hours, plus 2 lab hours)
Introduction of conditionals and loops, including if, elif, else, for and while loops.
Session 5: Plotting (4 hours, plus 4 lab hours)
Introduction of Matplotlib, including basic line, bar plot, logarithm plot, plot with multiple axes, contour and vector field
plots and three dimensional plots.
Session 6: Functions (3 hours, plus 3 lab credits)
User-defined functions, data passing, anonymous functions.
Session 7: Numerical Routines: SciPy and NumPy (3 hours, plus 3 lab credits)
Random numbers, linear algebra, nonlinear equation solving, numerical integration,
Session 8: Data Manipulation and Analysis: Pandas (2 hours, plus 2 lab credits)
Data reading and writing using Pandas, introduction of DataFrame, extracting information from DataFrame, plotting with
Pandas.
Session 9: Object-Oriented Programming (3 hours, plus 3 lab credits)
Classes and objects, encapsulation, inheritance.
4
Session 10: Curving Fitting (2 hours, plus 2 lab hours)
Linear and nonlinear curve fitting.
Session 11: Symbolic Computing (3 hours, plus 3 lab credits)
Introduction of SymPy, symbols, expressions, numerical evaluation.
Session 12: Python Parallel Computing (4 hours, plus 4 lab credits)
Introduction of mpi4py and basic data communication.
18.
教材及其它参考资料
Textbook and Supplementary Readings
1. Introduction to Python for Science and Engineering, Pine, CRC Press, 2019;
2. Introduction to Python Programming, Gowrishankar & Veena, CRC Press, 2019;
3. Numerical Python, Johansson, Apress, 2019.
课程评 ASSESSMENT
19.
评估形式
Type of Assessment
评估时间
Time
占考试总成绩百分比
% of final
score
违纪处罚
Penalty
备注
Notes
出勤
Attendance
10
课堂表现
Class Performance
小测验
Quiz
课程项目 Projects
50
平时作业
Assignments
期中考试
Mid-Term Test
期末考试
Final Exam
40
期末报告
Final Presentation
其它(可根据需要
改写以上评估方
式)
Others (The above
may be modified as
necessary)
20.
记分方 GRADING SYSTEM
A.
十三级等级制
Letter Grading
B.
二级记分制(通过
/
不通过)
Pass/Fail Grading
课程审 REVIEW AND APPROVAL
21.
本课程设置已经过以下责任人
/
委员会审议通过
This Course has been approved by the following person or committee of authority
5
地球与空间科学系本科教学指导委员会
Undergraduate Teaching Steering Committee of the Department of Earth and Space Sciences