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 程序设计基础 Introduction to Python Programming
2.
授课院系
Originating Department
计算机科学与工程系 Department of Computer Science and Engineering
3.
课程编号
Course Code
CS112
4.
课程学分 Credit Value
3
5.
课程类别
Course Type
通识必修课程 General Education (GE) Required Courses
6.
授课学期
Semester
秋季 Fall
春季 Spring
7.
授课语言
Teaching Language
中英双语 English & Chinese
8.
他授课教师)
Instructor(s), Affiliation&
Contact
For team teaching, please list all
instructors
高科,地球与空间科学系,邮箱:gaok@sustech.edu.cn
Ke Gao, Department of Earth and Space Sciences, E-mail: gaok@sustech.edu.cn
侯圣伟,海洋科学与工程系,邮箱:housw@sustech.edu.cn
Shengwei Hou, Department of Ocean Science and Engineering, E-mail:
housw@sustech.edu.cn
田瑞琳,医学神经科学系,邮箱:tianrl@sustech.edu.cn
Ruilin Tian, Department of Medical Neuroscience, E-mail: tianrl@sustech.edu.cn
帅世民,人类细胞生物和遗传学系,邮箱:shuaism@sustech.edu.cn
Shimin Shuai, Department of Human Cell Biology and Genetics, E-mail:
shuaism@sustech.edu.cn
9.
实验员/
方式
Tutor/TA(s), Contact
待公布 To be announced
10.
选课人数限额(可不填)
Maximum Enrolment
Optional
50
11.
讲授
Lectures
习题/辅导/讨论
Tutorials
实验/实习
Lab/Practical
其它(请具体注明)
OtherPlease specify
总学时
Total
2
32
32
64
12.
先修课程、其它学习要求
Pre-requisites or Other
Academic Requirements
None
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 include the Python programming environment setup, main components of Python (variables,
operators, data type, etc.), flow control, functions, lists, dictionaries, tuples and sets, input and output, plotting, Numpy,
SciPy, Pandas, and objected-oriented programming. Upon finishing 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 编程
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;
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.)
0 讲:绪论(1 学时
课程情况介绍。
1 讲:Python 介绍2 学时,另加 2 学时上机)
计算机编程基础、Python 语言介绍、编程环境设置。
2 讲:字符串(1 学时,另加 1 学时上机)
字符串数据及操作方法介绍。
3 讲:列表(2 学时,另加 2 学时上机)
列表数据及操作方法介绍。
3
4 讲:字典(2 学时,另加 2 学时上机)
字典数据及操作方法介绍。
5 讲:元组和集合(2 学时,另加 2 学时上机)
元组和集合数据及操作方法介绍。
6 讲:NumPy 数组(3 学时,另加 3 学时上机)
NumPy 数据及操作方法介绍。
7 讲:流程控制(2 学时,另加 2 学时上机
条件、循环等流程控制,包括 ifelifforwhile
8 讲:函数(3 学时,另加 3 学时上机)
内置函数、用户自定义函数、数据传递和匿名函数等
9 讲:输入输出(3 学时,另加 3 学时上机
键盘和屏幕输入输出以及文件输入输出方法介绍。
10 讲:绘图(3 学时,另加 3 学时上机)
Matplotlib 介绍,包括线状图、柱状图、对数图、多轴图、等线图、矢量图和三维图件绘制技巧。
11 讲:SciPy NumPy 绍(2 学时,另加 2 学时上机)
基本数学函数介绍等。
12 讲:基于 Pandas 的数据处理和分析(3 学时,另加 4 学时上机)
基于 Pandas 的数据读取和生成,DataFrame 介绍和数据提取,基于 Pandas 的绘图。
13 讲:面向对象的 Python 编程3 学时,另加 3 学时上机)
类和对象,封装和继承。
Session 0: Introduction (1 hours)
Introduction of the course
Session 1: Launching Python (2 hours, plus 2 lab hour)
Introduction of Python programming language; Python programming environment and setup
Session 2: Strings (1 hours, plus 1 lab hours)
Introduction of Strings.
Session 3: Lists (2 hours, plus 2 lab hours)
Introduction of Lists.
Session 4: Dictionaries (2 hours, plus 2 lab hours)
Introduction of Dictionaries.
Session 5: Tuples and Sets (2 hours, plus 2 lab hours)
Introduction of tuple and sets.
Session 6: NumPy Arrays (3 hours, plus 3 lab hours)
Introduction of NumPy Arrays.
Session 7: Control Flow (2 hours, plus 2 lab hours)
Introduction of conditionals and loops, including if, elif, else, for and while loops.
Session 8: Functions (3 hours, plus 3 lab credits)
User-defined functions, data passing, anonymous functions.
Session 9: Input and Output (3 hours, plus 3 lab hours)
Introduction of keyboard input, screen output, file input and output.
Session 10: Plotting (3 hours, plus 3 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.
4
Session 11: Numerical Routines: SciPy and NumPy (2 hours, plus 2 lab credits)
Math functions, random numbers, nonlinear equation solving.
Session 12: Data Manipulation and Analysis: Pandas (3 hours, plus 4 lab credits)
Data reading and writing using Pandas, introduction of DataFrame, extracting information from DataFrame, plotting with
Pandas.
Session 13: Object-Oriented Programming (3 hours, plus 3 lab credits)
Classes and objects, encapsulation, inheritance.
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. Python for Everybody: Exploring Data Using Python 3, Severance, 2020
课程评估 ASSESSMENT
19.
评估形式
Type of Assessment
评估时间
Time
占考试总成绩百分
% of final
score
违纪处罚
Penalty
备注
Notes
出勤 Attendance
10%
课堂表现
Class Performance
小测验
Quiz
30%
课程项目 Projects
平时作业
Assignments
30%
期中考试
Mid-Term Test
期末考试
Final Exam
30%
期末报告
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