如何为算法学习设立一个短期可达到的目标呢

我是计算机专业的学生,大学里学到的东西感觉都很基础,老师带着我们过一过就完事。课程设计里做的这个系统那个系统基本都不包含复杂的算法或者是数据结构,就是一些简单的逻辑和UI,包括前段时间毕业设计做的安卓。想知道算法怎么去学,如何去设定一个短期的目标呢?同学有为了找工作在leetcode上刷题,这样有用么?此外,之前毕业设计有同学做的课题就是某某某算法的研究,题目很大很空,结果也全是仿真和模拟,感觉没有实际应用价值。这种“算法”的研究又从哪里入手呢

嗯。大学里学的程序设计、算法和数据结构的确有时候让人觉得没意思。虽然一定程度的枯燥的训练也是必要的,但其实编程的世界这么大,完全可以用很多很有意思的东西来磨练技巧的!譬如 http://sorting.at/ 学排序用可视化的方式来学是不是挺有意思?自己写一个呢?譬如分形 https://zh.wikipedia.org/zh/分形 特别好玩,要不要自己设计一个分形算法?更有生怕程序员无聊的产品经理弄了个项目列表(https://github.com/martyr2-projects/list/blob/master/projects.md)让程序员练级玩;最近VR/AR、人工智能这么火,这里头设计的领域太多了,何不投身进去写写相关的程序?或者就写个图形识别的小程序帮自己玩游戏作弊也好啊!

怎么学,怎么设定短期目标呢?一定要动手做项目,最好选自己感兴趣、和某个长期目标(学分?职业规划?)相关的项目。在leetcode上刷题也不失为练习的方法啊,在解决具体问题的同时复习编程技巧和算法基础。当然就是有点功利,有点无聊了。