嘉应学院通识教育选修课程教学大纲
一、课程信息
课程负责人 陈广明 职称 副教授 授课
专业 计算机学院计算机科学与技术专业
课程名称
(中文) 计算思维与算法竞赛
课程名称
(英文) Computational Thinking and Algorithmic Competition
周学时/学分 周学时: 2 学分:2
总学时及学时分配 总学时: 32 理论学时: 16 实验学时:8 实践学时:4
所属模块
(限选1项) □人文社会科学 □自然科学与技术 □艺术与审美
□教师教育 √创新创业 £客家文化
二、课程简介
本部分简要地介绍课程的学科背景、开设目的和意义、课程内容的中心和重点、课程的总体特点等。
计算思维就是包括利用网络在内的计算系统进行问题求解的思维方式,它的核心是“计算系统”和“问题求解”,是将逻辑思维、算法思维、系统思维、网络思维和数据思维结合的综合性思维。计算思维随着计算机科学的发展和应用得到了广泛的重视,已经成为现代教育中最值得重视的能力培养目标。
计算系统的概念已经从传统意义上的是计算机系统扩展到手机、笔记本电脑、云-端计算范式(Web,云计算)、网络(互联网、融合网、物联网)和上述得以有效工作的逻辑与机理,随着人工智能机器学习等技术的发展,其范围也已涵盖社会生活的方方面面;问题求解也不光是科学技术问题和工程问题,还包括经济社会问题。因此计算思维是所有现代人尤其是大学生所必备的素质要求。
算法竞赛已经成为计算机专业学生提高计算思维和算法能力的重要途径,各大高校尤其是名牌大学甚至将竞赛同基础算法教学合而为一,实践证明算法竞赛对学生综合能力的提高具有非常明显的效果。我校也积极参加国家和省级的算法竞赛,成绩稳步提高,目前已经位列同类院校前列。通过竞赛培养了大量的学生,为他们被国内知名企业录用和深造提供了良好的条件和基础。
算法竞赛是培养计算思维的最佳途径,ACM等竞赛所必须的分析、建模、求解过程和贯穿其间的思维模式,问题驱动的思维过程和小组学习合作学习的团队精神培养在计算思维的形成过程中起到了重要的作用。
计算思维的提高直接导致了创新能力的增强,为大学生创新创业工作的开展提供了有力的支持。
本课程的内容包括(1)计算思维应用于算法学习的范式模块,主要介绍计算思维的概念、问题的分析、建模、求解和编程的基本方法以及如何将计算思维作为思考和求解的有力武器。(2)基础算法学习,通过基础算法学习将计算思维过程和范式介绍给学生,使得他们初步建立起如何应用计算思维的范式进行思考的习惯;(3)ACM进阶算法,通过进阶算法的学习和实践,主动应用计算思维去思考问题,最终实现对计算思维要素的深入理解和主动应用;(4)竞赛实践环节,通过参加蓝桥杯省赛和广东大学生程序设计竞赛选拔赛检验学生的计算思维能力和算法能力,进一步在限制性环境下问题求解的过程中体会计算思维和算法应用的基本范式,提高思维的强度和韧度。
本课程以计算思维能力培养为目标,将算法理论和实践密切结合,同时参加各种竞赛活动,进一步强化教学效果。本课程具有一定的探索性质,希望能够总结出适合我校的将计算思维、算法竞赛和创新过程有机结合的方案。
三、使用教材
作者,书名,出版社,出版时间
1.自编教材(未出版)
(1)自编算法理论课程讲义
(2)自编算法实验
(3)计算思维和算法竞赛网络材料选编
2. 选用教材
(1)刘汝佳 算法竞赛入门经典 清华大学出版社 2014年6月
四、教学目标
(本部分从学生的学习成效角度进行简要列举,即学生在学习本课程后要达到的主要目标,如学会什么知识、具备什么能力等等。学习目标不宜过多,尽量控制在5个以内。特别注意:本部分不是陈述老师拟教授和/或训练的内容。)
用动词开头,表示学生学习后能够“做”或“做出”什么,下同
1.具备计算思维
2.掌握基本算法
3.具备求解一般难度算法问题的能力
五、教学方法
为完成教学目标而采用的主要教学方法和手段,以及方法和手段的改革情况。
1、 提供丰富的网络教学资源和规范的教学目标;
2、 提供及时的答疑指导;
3、安排实验场所和现场试验指导
4、采用任务驱动的教学模式,以小组学习和合作学习为手段进行课程学习。
六、课程在学生培养中的地位和作用
课程开设的必要性及其在教学计划中对学生培养的作用。
计算思维随着计算机科学的发展和应用得到了广泛的重视,已经成为现代教育中最值得重视的能力培养目标。算法竞赛已经成为计算机专业学生提高计算思维和算法能力的重要途径,各大高校尤其是名牌大学甚至将竞赛同基础算法教学合而为一,实践证明算法竞赛对学生综合能力的提高具有非常明显的效果。
七、课程学习要求和建议
对学生学习该课程的相关要求及学习建议,如缺勤的处理、作业提交方式、课程论文的形式和格式等等,具体由授课老师决定。
1、实验或实践缺勤两次以上将取消成绩评定资格;
2、作业未能按照课程要求提交将取消成绩评定资格。
八、考核方式
明确说明考试、平时成绩(讨论、作业、测验、出勤等)、实验实践所占总成绩比重,以及考试的形式(闭卷、开卷)。
1、 OJ在线系统的作业题目和通过题目数量(60%)
2、 蓝桥杯省赛成绩(15%)
3、 广东省大学生程序设计竞赛成绩(15%)
4、 平时实验环节考勤(10%)
九、课程内容及学时分配
1.列出课程主要章节的标题,在每个标题下写出主要内容的细目及学时数。
2.各教学环节(习题、实验、课堂讨论、写作、社会调查、测验、考试)的内容和时数。
3.实验课程要详细列出每个实验的名称、内容、学时数、实验性质(验证性、综合性、设计性)、实验类别(选做、必做)和实验的分组情况等。
4.实践教学课程要写出相应的时间、地点、方式、教学内容等。
章 节 题 目 内 容 课时
课程准备
1、 学生课程准备
2、 课程注册
3、 学科介绍等 0
计算思维和算法学习 1、 计算思维的概念
2、 问题的分析、建模、求解和编程的基本方法 2
计算思维的范式 1、 递归概念
2、 计算思维的范式
3、 应用实例 2
基础算法理论(1) 1、 深度优先搜索
2、 广度优先搜索
3、 基本数论算法 2
基础算法实验(1) 1、 深度优先搜索实验(必做、设计性)
2、 广度优先搜索实验(必做、设计性)
3、 基本数论算法实验(必做、设计性) 2
基础算法理论(2) 动态规划算法初步 2
基础算法实验(2)
1、动态规划算法初步实验
(必做、设计性)
2
算法竞赛实践(1)
参加“蓝桥杯”程序设计竞赛省赛(2020年4月,嘉应学院,在线算法竞赛)
4
高级算法理论(1)
1、动态规划算法进阶
2
章 节 题 目 内 容 课时
高级算法实践(1) 1、动态规划算法进阶实验
(必做、设计性) 2
高级算法理论(2)
1、图论算法精讲
2
高级算法实践(2) 1、图论算法精讲实验
(必做、设计性)
2
算法竞赛实践(2) 参加广东省大学生程序设计竞赛选拔赛(2020年5月,嘉应学院,在线算法竞赛) 2
高级算法理论(3) 高级算法专题(网络流、可持久化数据结构等) 2
高级算法实践(3) 1、 网络流(必做、设计性)
2、可持久化数据结构(必做、设计性) 2
计算思维范式与创新能力 计算思维范式及算法能力应用于创新创业过程的探讨
2
十、参考书目
本部分是老师推荐给学生进行拓展学习的书目。
1、 秋叶拓哉 , 岩田阳一 , 北川宜稔 (作者) 巫泽俊 , 庄俊元 , 李津羽 (译者) 《挑战程序设计竞赛(第二版)》 人民邮电出版社 2018年6月
2、 刘汝佳 《算法竞赛入门经典(第二版)》 清华大学出版社 2016年8月
3、 刘汝佳 《算法竞赛入门经典——训练指南(第二版)》清华大学出版社 2016年8月
4、 刘汝佳、黄亮 《算法艺术与信息学竞赛》清华大学出版社2004年1月
5、 吴昊 《ACM程序设计培训教程》中国铁道出版社2007年08月
十一、补充说明
修读课程的注意事项、网络资源及其他需要说明的情况。
1、 牛客网在线OJ学习系统
2、 北京大学POJ http://poj.org/
3、杭州电子科技大学HDUOJ http://acm.hdu.edu.cn/
4、学者网课程教学网站
教研室主任意见:
签字:
日期: 年 月 日 开课单位意见:
负责人签字(公章):
日期: 年 月 日
教务处意见:
负责人签字(公章):
日期: 年 月 日