计算机算法与程序设计(python)
分享
课程详情
课程评价
spContent=课程分成4大板块: 1. python基本语法,常见的数据结构与各种搜索算法。 2. python的基本应用。比如pygame游戏开发;pandas操作excel,正则表达式re 3. python的高级应用。比如常见的包(scipy,numpy,pandas等),机器学习,深度学习等。 4. 利用学术资源解决算法问题
—— 课程团队
课程概述

本课程分成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

常见问题


  1. 提醒1:本课程老师的普通话不够标准,对于普通话要求比较高的同学,建议不要选择本课程。

    提醒2:春季不少毕业季同学需要在6月30日之前拿到本课程证书。因此我们的结束时间提前到2024年6月10日,请同学们尽早完成各章的作业和考试。

    提醒3:同学们如果在上课时间内没有时间学习,可以先加入课程,假期学习。我们课程只要加入就可以随时回看学习。但如果没有在开课期间加入,则只有等下次开课才能够加入观看视频了。我们的开课时间是一年2次:春节一次,秋季一次。假期学习后,加入下一期课程完成作业和考试,就可以拿证书。我们课程都是开课一次性发布,供同学们自行合理安排时间学习和考试。

  2. Q :  没有编程基础可以学习本课程吗?

    A :  没有编程基础可以学习本课程。我们课程在电子科技大学校内开设。不少文科同学和大一新生也会选修本课程,且反馈受益颇深。但是,需要投入比较多的精力。我们课程不会单纯讲授python基本语法(第一章介绍了主要语法),主要是通过使用python语言逐渐理解和掌握python语言的使用。如果有python基础学习本课程会更简单,可以将精力投入问题求解上。没有编程基础的同学还需要花时间和精力熟悉python语言本身。

  3. Q :  有c/c++/java等编程基础,可以学习本课程吗?

    A :  有任何一门编程语言基础,再学习本课程就非常容易。容易不代表课程内容就简单。恰恰相反,我们对常见的数据结构从多角度进行使用和分析,最后编程实现。如果您只是想提高问题求解能力,建议了解了破案故事之后,自己分析问题并编程求解。遇到困难再看视频中老师如何分析和求解的。如果想转python语言,本课程非常适合您。可以轻松完成语言学习的转换,且不是枯燥的学习,是通过使用语言进行问题求解,这种学习事半功倍。

  4. Q :  学习本课程能够达到什么程度?

    A :  如果只是看视频,课后不花时间,学完本课程对编程有基本理解,对python语言有初步了解。如果能够在老师作业基础上完成所有作业,python核心基础已经掌握,且已经具有问题求解的能力。如果能够独立完成所有作业,拿到本课程证书,已经达到计算机专业《程序设计》《数据结构与算法》课程优秀水平。如果还能够学习第二部分,第三部分内容并在遇到任何问题,可以(独立或者学习第四部分方法)采用软件开发进行问题求解。已经具备初级工程师水平了。

  5. Q :  后续有哪些推荐课程?

    A :  《算法设计与分析》,《编译原理》,《数据库》,《计算机网络及编程》,《游戏开发》......这些都是计算机基础课程,要想扩展计算机专业知识,这些都可以学习。还可以结合你的兴趣学习信息安全相关,密码学相关,图形图像学相关,嵌入式相关,统计分析与机器学习,神经网络与深度学习等内容。

  6. Q :  课程会持续更新吗?

    A :  是的。我们从第一次上线,不但第一部分内容进行了调整,视频重新录制,还增加了2,3,4部分内容。且还会结合同学们的需求进一步增加内容。