注册一亩三分地论坛,查看更多干货!
您需要 登录 才可以下载或查看附件。没有帐号?注册账号
x
之前发了帖子在这里http://www.1point3acres.com/bbs/thread-424070-1-1.html,重新贴在这边,看看能不能有加分。
1. 课程的基本信息:课程平台,开课学校,课程全名,开课时间,课程链接。
课程平台: Coursera
开课学校: Princeton University
课程全名: Algorithms, Part
开课时间: 不限
课程链接: https://www.coursera.org/course/algs4partI
2. 课程难度,作业量,每周花在这门课的时间,以及你的基础(是初学者?还是本来就是你的专业内容?)
这是一门经典的数据结构与算法课,免费,分上下两部分,上部分内容包括Union-Find, basic data structures (Array, LinkedList, Queue, Stack, prioprity queue, symbol table...), sorting algorithms (selection sort, insertion sort, shell sort, quick sort, merge sort, heap sort), searching algorithms (Binary search tree, Red-Black BST, hashing), 所有算法都用java实现。
课程和作业难度比较大,我自己在上这门课之前只有上introduction to computer science and programming using python的基础,完全不会写Java,本来想只学算法概念,然后再试着用python去实现,后来发现不行,不懂java语法,不做implementation理解起算法来很吃力。所以在上这门课之前,最好能一些更基础的Java语法学习,建议去上Berkeley的CS 61B,看看《Head First Java》。这门课一年当中任意时间都能选,基本相当于没有deadline,如果一个session完成不了课程,可以switch到另一个session,进度会被记录下来。我用了三个月(11/2017 - 02/2018)上完了课程的第一部分,每一周的内容大概需要的时间是 1-2h lecture, 3-4h 阅读教材,10-15h weekly program,我基础很差,所以花的时间比较久。
我的每周项目链接:https://github.com/Self-Learner-DD?tab=repositories 因为课程给的项目讲解已经非常详细了,所以我的program都没有加README,抱歉 >.<
3. 各种感想、收获、课程内容介绍、你对这门课的评价等等~~这个就自己发挥啦
这门课理论分析少,内容很实用,Prof. Robert Sedgewick讲解得很清晰,一些比较难理解的算法都配有动态图片演示,代码风格很简洁,非常值得学习。每周的project比较有难度,但设计得很棒,能够使你对算法有更深入的理解,课程平台提供作业 auto-grading,这一点我很喜欢,不会出现闷头做了作业也不知道对错的情况。
我现在在上第二部分,主要讲图(DFS, BFS, Dijkstra, Prim) 和字符串 (substring search, regular expression, data compression)相关的算法,有了这些基础之后,刷题会感觉好很多,很多题虽然还是不会做,但是理解答案不成问题了。
强烈推荐这门课,如果要给这门课打分的话,我会给满分。
4. 这门课和其他你跟过的课,用过的资源或者是学校上过的课有什么区别?(选答,如果你还跟过其他类似的课的话)
我上过一点Berkeley的CS61B,没跟完。这门课内容更基础一些,只有视频,没有公开课版本,所以作业不能被grade。
|