中国海洋大学本科生课程大纲
课程名称 | Python程序设计 | ||||
Python Programming | |||||
课程代码 | 08501101119 | 责任教师 | 姬婷婷等 | ||
课程属性 | 公共基础 | 课程性质 | 必修 | ||
学分 | 4 | 总课时 | 80 | ||
理论课时 | 48 | 实践课时 | 32 | 课外学时 | 32 |
一、课程介绍
1.课程描述
Python语言作为常年高居编程语言排行榜首位的语言,在大数据分析、人工智能研究等前沿领域具有极高的热度。对于非计算机专业本科生而言,该语言简单易学,拥有超过十余万个第三方库以解决各类问题,是友好且实用的程序设计语言。学习内容主要模块如下:
主题1 Python语言特性
基本语法
基础数据类型
组合数据类型
文件读写处理方法
主题2 程序设计通用原则
三大控制结构
模块化编程思想
主题3 Python第三方库
数据可视化、办公自动化、爬虫等第三方库
Course Description
This course will introduce the fundamental concepts of Python, a programming language that consistently ranks first in programming language rankings. Python is highly popular in cutting-edge fields such as big data analysis and artificial intelligence research. It is a simple and easy-to-learn language, making it suitable for non-computer major undergraduate students. Python also offers over 100,000 third-party libraries to solve a wide range of problems, making it a friendly and practical programming language.
The main modules of the learning content are as follows:
Topic 1: Python Language Features
Basic Grammar
Basic data types
Combining data types
File read and write processing methods
Topic 2: General Principles of Program Design
Three major control structures
Modular programming concept
Topic 3: Python Third-Party Libraries
Third-party libraries for data visualization, office automation, and web crawling
2.设计思路:
教学内容将以Python自带的Turtle绘制图形导入,建立对程序的直观认知,随后通过基本数据类型、组合数据类型以及程序的控制结构、程序的模块化、多个第三方库依次展开。
基于课程强实践特点,确立以学为中心的教学设计:通过多元教学平台及多种教学策略及信息化工具、创设与专业学习、日常生活紧密相关的案例及作业、项目等个人及团队任务等设计将同学们“卷”入课内、课外的学习,不断产出学习成果,并在平台、教师和同伴的支持下获得及时反馈,反思、完善程序,提升编程技能。同时通过平台累积的学习数据洞悉每一位同学的学习进展,推送适恰的学习资源,帮助其走出舒适区,走进最近发展区,最终达成学习目标。
3.课程与其他课程的关系:
本课程作为非计算机专业理工、人文社科等部分学生的第一门计算机公共课,无先修课要求。
二、课程目标
该课程的学习目标如下。
知识目标:掌握Python语言语法、数据类型、控制结构、函数模块化、异常处理、文件操作等知识,以及常用库操作方法。
能力目标:培养学生在面对专业复杂问题时,运用程序设计方法分析需求并提出高效解决方案的能力;通过翻转课堂、小组项目及过程性评价培养学生的自主学习、元认知及协作能力,进而提升其在专业领域的核心竞争力。
素养目标:历练分析信息和处理问题的计算思维;培养学生不惧困难,具有自我创新、精益求精的工匠精神。
三、学习要求与支持
(一)学习要求
本课程没有先修课要求,修课学生除上课外,每周能抽出2-3小时(因人而异)左右的学习时间即满足了学习的基本要求。本课程的学习有如下具体要求。
课前完成预习任务
在规定的时间内提交预习及作业等学习任务。
按时参加单元测试。
课上设有个人编程及小组任务,团队中每一位同学都应积极投入到算法设计及编码、调试过程中,配合组长完成小组的课上任务及课下小组项目。期间将使用手机作为学习工具,请勿利用其做与学习无关的事宜。
一旦选课,希望不缺课,有事须提前请假。
学习中若有问题,及时与其他同学、任课教师及助教老师沟通;解决问题的出发点及落脚点均应为了促进学习。
(二)学习支持
学习平台
雨课堂:是由清华大学开发,基于微信的小程序。上课需携带手机并用于学习。
Blackboard:存储了视频、课件、学习扩展资料等资源。
CG平台:地址为211.64.143.87(默认用户名及密码均为学号),是程序实时评测平台,用于提交作业、开展练习巩固及上机考试,特点是提交代码后,平台会即时给出是否正确的反馈,可以基于提示修改程序并再次评测。
学习活动
教师将在自第2周的周六通过雨课堂推送预习资源(学习支持材料、章节综合示例等)。请在周日18:00前完成预习,为下周学习做好准备;及时完成预习检测。
课上通过雨课堂完成选择题、填空题等客观题并查看实时反馈;在教师的组织下个人或小组完成主观题并根据评分量表实施任务互评。同时课上还会以弹幕、投票、投稿等方式收集同学们的观点与反馈。
课后及时阅读教师推送的归纳、总结信息(如作业、测试等出现的共性问题等)。
答疑
第一节课将建微信群,可在群里提出疑问,教师及助教老师将尽力在4小时内解答。鼓励同学们主动帮助解答疑问,相信你也会在分享中获得提升。
将通过雨课堂推送作业、测试中的共性问题及优秀答案。
每周末助教老师或教师将基于雨课堂直播开展30分钟在线答疑。
有效学习策略
老师在教学中收集到了往届同学们关于学好这门课的建议:
在重复练习中学习python,这点我是非常认同的。输出是最好的输入,编程语言虽然注重逻辑,但更需要我们不断地动手敲代码。
从一开始,你要学会如何搭建python环境,选择什么样地开发环境(IDE)。这些都可以去网上查,慢一点的折腾两三天,快一点的一天不到就能搞定。总之,这是学习python的第一步,也是练习的开始。
对于官方文档的每一段代码,我建议都动手亲自敲一遍,比如你看到字符串这一节,在理解了字符串定义后,文档会给出示例代码和运行结果。
照着示例代码,在你的编程环境中实践,千万不要复制黏贴,对自己的火眼精金过度自信并不是一件好事。
准备好一个本子,把遇到的错误及解决方法简单记录下来。当然可以问老师来获得解答,但建议你先在网络搜索这些错误,你肯定不是第一个遇到此问题的人。累积下来的错误多,你以后在遇到类似问题会节省很多时间。
多做题并不意味着你就学会了。典型问题的解决方案是有限的,做有限的题,把逻辑与算法学会了,可以触类旁通来解决类似问题。不要沉迷于做题中,而是要多反思、归纳。
四.教学进度
序号 | 主题 | 计划 课时 | 主要内容概述 | 实验内容 |
1 | 程序设计基础及Turtle库绘制 | 6 | 课程简介、Python特点及系统库Turtle的运用 | 1.完成CG上第1、2章练习->CG平台自动评价 2.小组项目1:基于turtle库设计、绘制LOGO及宣言或思政相关动态图形 |
2 | 基本数据类型 | 10 | 数值(int|float|complex)、布尔、字符串在解决数学等简单任务中的应用 | 1.完成CG上第3章作业->CG平台自动评价 |
程序的控制结构 | 15 | 顺序、分支、循环三种控制结构及应用;程序的异常处理 | 1.完成CG上分支、循环作业->CG平台自动评价 | |
3 | 组合数据类型 | 15 | 列表、元组、字典、集合的特点及解决较为复杂问题的应用 | 1.完成CG上第6章-列表及字典作业->CG平台自动评价 2.章节测试 |
5 | 函数 | 14 | 以函数实现程序模块化的方法 | 1.布置小组项目 2.利用Python解决专业学习及生活中的典型需求 3.完成第5章作业:独立设计**管理信息系统 |
6 | 文件读写 | 15 | 文本文件的读、写、追加方法;结合多个现实世界的文件体验文件操作的特点 | 完成CG上第7章文件作业->CG平台自动评价 |
7 | 第三方库 | 5 | 爬虫、词云等应用 | 运用第三方库爬取思政相关的网页内容并进行可视化 |
五、教材与主要参考书
选用教材
嵩天等编著,《Python语言程序设计基础》第2版,高等教育出版社
主要参考书
推荐学习网站
中国大学MOOC(慕课),Python语言程序设计,https://www.icourse163.org/course/BIT-268001
菜鸟教程:几乎是百度中搜索“Python”后弹出的第一条信息,工具书式的呈现方式系统、详细,https://www.runoob.com/python3/python3-tutorial.html,
w3school:免费的资源获取网站,其中Python模块内容详尽、丰富:https://www.w3school.com.cn/python/index.asp
Coursera上的零基础程序设计(Python入门),密西根大学Charles Russell Severance教授,https://www.coursera.org/learn/python?specialization=python
六、成绩评定
为促进学习,课程中设计了课前预习及预习测试、课上互动等活动,由此产生的数据不列入课程成绩中,仅作为教师获知教学效果、洞悉同学们的学习进展,为不同层次的学习者提供适恰学习资源的依据,并敦促大家开展学习反思。
(一)考核方式A :A.闭卷考试 B.开卷考试 C.论文 D.考查 E.其他
(二)成绩综合评分体系:
成绩综合评分体系 | 比例% |
1.课下作业、单元测试 | 20 |
2.小组项目 | 10 |
3.上机考试 | 20 |
4.期末闭卷考试 | 50 |
总计 | 100 |
作业通过CG平台及时上交并可获得自动评分。第1次作业出现晚交时可以补交,补交成绩最多为本次成绩的60%,之后不再设置补交作业环节。
单元测试将在章节完成讲授后择时举行,时间约在1小时左右,在CG平台或在雨课堂上公布题目,现场由个人或小组完成,部分题目将组织现场互评。
设计小组项目的目的是通过应用所学,以团队方式合作解决专业学习任务,将在学期中启动,由团队自主选择研究主题并开展,在教师及助教的帮助下完成开发并在学期末公开答辩;最终得分由两部分构成:小组互评+教师评分(根据评分量表),公开答辩时间一般在15-17周之间。
上机考试约在第16周、在CG平台上举行,时间约为1小时。
笔试将在期末考试期间由教务处统一组织。
附:上机作业及考试评分标准
作业的评分标准 | 得分 |
1. 严格实现作业要求并及时上交,算法清晰,程序结构清楚明白,代码正确。 | 90-100分 |
2. 基本实现作业要求并及时上交,代码正确,运行能得到指定结果或部分指定结果。 | 80-90分 |
3. 基本实现作业要求并及时上交,能运行或有小错误没有改正,书写或结构不完全符合要求 | 60-80 |
3. 不能完全实现作业要求,代码有错,程序无法运行或不能得到正确结果 | 40-60分 |
4. 未交或雷同 | 0分 |
七、学术诚信
学习成果不能造假,如考试作弊、盗取他人学习成果、一份报告用于不同的课程等,均属造假行为。他人的想法、说法和意见如不注明出处按盗用论处。秉承诚信原则,形成良好的学术道德和行为规范,在作业、测试、考试及项目中绝不出现作弊、剽窃等问题(包括使用人工智能软件等)。如发现上述不良行为,将按学校规定取消本课程的学习成绩。
八、大纲审核
教学院长: 院学术委员会签章: