本课程分成4部分:
第一部分:
(1)通过侦探破案的引人入胜的故事,在破案过程中采用多种问题求解方法,从而意识到如何在生活工作中运用数据结构与算法进行问题求解。
(2)借助故事理解算法,然后介绍如何描述算法,通过raptor流程图设计算法,最后通过python将流程图转换为程序。
(3)本课程的学习不限制编程语言,重点讲授了如何将raptor描述的算法步骤转换为python代码实现。通常一个问题采用raptor转换为python语言实现后,还会分析python语言结构特点,采用更多的方法编程实现。通过这种方法,理解python数据结构背后的实现原理,了解python更多的语言特性,重点是学会提出问题->寻找求解问题的方法(算法)->算法描述->算法流程图描述详细设计步骤->代码实现的过程。
第二部分:python的各种模块应用(持续更新中,下面是已经上传的内容)
(1)pandas读写和操作excel进行问题求解
(2)正则表达式re简介
(3) pygame游戏开发
第三部分:python的高级应用
(1)常用包简介(numpy,scipy,pandas,matplot,network)
(2)机器学习
(3)深度学习
第四部分 利用学术资源解决算法问题
对软件开发有兴趣的非计算机专业的学生
没有编程基础的同学
学习过程序设计语言课程,数据结构课程,算法类课程的同学通过本课程的学习更加深入掌握所学并进行查漏补缺
第二部分 高级应用 属于选修内容,包含python包的使用,机器学习,深度学习等入门内容。本部分分成3章,不作为考试内容,因此没有编程题,期末考试题也不包含第二部分的内容,仅供有兴趣同学选修学习。
第三部分 利用学术资源解决算法问题;第四部分python的各种应用,这部分逐渐扩展。
无
《算法神探》,电子工业出版社, Jeremy Kubica,2017.6
《数据结构与算法》Python语言实现,机械工业出版社,Michael T.Goodrich,2018.9
A : 没有编程基础可以学习本课程。我们课程在电子科技大学校内开设。不少文科同学和大一新生也会选修本课程,且反馈受益颇深。但是,需要投入比较多的精力。我们课程不会单纯讲授python基本语法(第一章介绍了主要语法),主要是通过使用python语言逐渐理解和掌握python语言的使用。如果有python基础学习本课程会更简单,可以将精力投入问题求解上。没有编程基础的同学还需要花时间和精力熟悉python语言本身。
Q : 有c/c++/java等编程基础,可以学习本课程吗?
A : 有任何一门编程语言基础,再学习本课程就非常容易。容易不代表课程内容就简单。恰恰相反,我们对常见的数据结构从多角度进行使用和分析,最后编程实现。如果您只是想提高问题求解能力,建议了解了破案故事之后,自己分析问题并编程求解。遇到困难再看视频中老师如何分析和求解的。如果想转python语言,本课程非常适合您。可以轻松完成语言学习的转换,且不是枯燥的学习,是通过使用语言进行问题求解,这种学习事半功倍。
Q : 学习本课程能够达到什么程度?
A : 如果只是看视频,课后不花时间,学完本课程对编程有基本理解,对python语言有初步了解。如果能够在老师作业基础上完成所有作业,python核心基础已经掌握,且已经具有问题求解的能力。如果能够独立完成所有作业,拿到本课程证书,已经达到计算机专业《程序设计》《数据结构与算法》课程优秀水平。如果还能够学习第二部分,第三部分内容并在遇到任何问题,可以(独立或者学习第四部分方法)采用软件开发进行问题求解。已经具备初级工程师水平了。
Q : 后续有哪些推荐课程?
A : 《算法设计与分析》,《编译原理》,《数据库》,《计算机网络及编程》,《游戏开发》......这些都是计算机基础课程,要想扩展计算机专业知识,这些都可以学习。还可以结合你的兴趣学习信息安全相关,密码学相关,图形图像学相关,嵌入式相关,统计分析与机器学习,神经网络与深度学习等内容。