数据结构与算法实战
分享
课程详情
课程评价
spContent=数据结构样样扎实,各种算法精彩绝伦!欢迎进入神秘的代码世界,手把手教你编程序! 本课程用C、C++、Java、Python四种语言授课,修过一门即可修读本课程。在真实开发环境中带领大家解问题、一行一行写代码~ 沉浸式体验,让大家看看怎样由一片空白变成满屏代码~
—— 课程团队
课程概述

本课程是计算机类专业的主干基础课程,也可供其他专业学生选修。

本课程用C、C++、Java、Python四种语言授课,修过其中一门即可修读本课程。对于关键的数据结构与算法知识点,讲授多种语言的实现方式,对其他部分知识点,给出4种语言的实现代码供学生自学。在讲授过程中,引导学生理解不同语言的差异并领悟不同语言的共性,将“计算思维”融进课程,最终可让学生理解“程序设计语言只是一样工具”,编写程序时不受限于特定语言。

本课程抓住学生“动手编程困难”的痛点,在讲授数据结构与算法理论知识的基础上,重点强调实践,带领学生一行一行编写代码,将“产生思路——编写程序——运行调试”的全过程展示给学生,将算法思想和程序设计规范融入到讲授过程中,让学生有沉浸式体验。在讲授过程中,将带领学生共同寻找思路解决问题,将与学生一起遇到并修改常见错误。本课程强调过程化考核,针对程序设计的特点,设置了在线评测的习题集和测验题集,给学生提供了充足的动手实践编程的机会。在完成本课程学习后,学生将由“纸上谈兵”型转变为“实战”型,为成为合格的软件工程师和算法工程师打好坚实基础。

课程大纲
证书要求

为积极响应国家低碳环保政策, 2021年秋季学期开始,中国大学MOOC平台将取消纸质版的认证证书,仅提供电子版的认证证书服务,证书申请方式和流程不变。

 

电子版认证证书支持查询验证,可通过扫描证书上的二维码进行有效性查询,或者访问 https://www.icourse163.org/verify,通过证书编号进行查询。学生可在“个人中心-证书-查看证书”页面自行下载、打印电子版认证证书。

 

完成课程教学内容学习和考核,成绩达到课程考核标准的学生(每门课程的考核标准不同,详见课程内的评分标准),具备申请认证证书资格,可在证书申请开放期间(以申请页面显示的时间为准),完成在线付费申请。

 

认证证书申请注意事项:

1. 根据国家相关法律法规要求,认证证书申请时要求进行实名认证,请保证所提交的实名认证信息真实完整有效。

2. 完成实名认证并支付后,系统将自动生成并发送电子版认证证书。电子版认证证书生成后不支持退费。


参考资料

推荐以下参考资料和资源:

0. 《数据结构与算法分析》(原书第2版),[美]Mark Allen Weiss著,机械工业出版社。可选英文原版或中译版,可选C语言描述版、C++语言描述版或Java语言描述版。 

1《数据结构》(第2版)陈越、何钦铭、徐镜春、魏宝刚、杨枨 编著,高等教育出版社,2016年6月

2. 《数据结构学习与实验指导(第2版)》陈越、何钦铭、徐镜春、魏宝刚、杨枨 编著,高等教育出版社,2019年7月

3. 课程练习网站:

(1) 拼题A(Programming Teaching Assistant): https://pintia.cn/  本课程的编程练习将在这里布置。
(2) PAT(Programming Ability Test):https://www.patest.cn/   网站提供往届考试真题。



常见问题

Q :  我是计算机小白(啥也不会),可以学这门课吗?

A :  需要至少学会一门编程语言才可以学这门课。编程语言初步学会就行,不需要精通,在这门课的学习过程中,语言会越磨越精的。


Q :  我不是计算机类专业的,可以学这门课吗?

A :  有兴趣就欢迎学,兴趣是第一驱动力。需要至少学会一门语言,参考上一个问题的回答。


Q :  我已经学过数据结构理论课,还有必要学这门课吗?

A :  如果感觉动手能力比较强了,就不需要学了。如果感觉理论初通、动手差点,那十分建议学习这门课,再夯实一下。


Q :  我没学过数据结构理论课,可以直接学习这门课吗?

A :  虽然这门课着重讲解实战(实现)部分,但理论部分也都讲了,只是讲得稍微概略一些。如果没学过数据结构理论课,想直接学习本门课程,一般都是没问题哒!如果哪里的理论知识实在是搞不明白,本课程推荐的参考资料之一《数据结构》(第2版)通俗易懂,十分适合自学,翻书看一下一般就OK啦。


Q :  我想先学习一门语言,再来学习这门课。推荐哪种语言?

A :  随便。随便哪种语言都好。我们讲授时,用C和C++多一些,用Java和Python少一些。程序猿和程序媛是不会被语言给绊住的,只要真正搞懂一门语言,就很容易搞懂其他语言。所以语言的不同,不是障碍。我们用四种语言讲授,目的是让大家逐渐进入“无招胜有招”的状态,编程序时不受限于具体语言,而是掌握算法的本质。


Q :  学了这门课之后,我就是优秀程序猿(媛)了吗?

A :  师傅领进门,修行看个人。这门实战课,重在实战,大家只要多想、勤练,相信都会修炼成优秀程序猿(媛)的。想检验一下自己水平的话,推荐参加PAT考试(https://www.patest.cn/ )。


Q :  好吧,我决定开始学习这门课了!那么,我安装什么版本的开发环境?

A :  课程的第一讲,会给出建议安装的开发环境列表。一般来说不要安装太旧版本的开发环境。C环境至少要支持C99;C++的环境至少支持C++11;Java至少是JDK8;Python需要Python 3。


Q :  我用 VC++ 6.0 可不可以涅?

A :  参考上一个问题的回答——不要用太旧的IDE。VC++6.0 是为师在2000年当学生时用的IDE啊,太老了…… VC++6.0既不是标准的C环境,也不是能支持新标准的C++环境,所以就不要使用了。