如果我们想学好一门编程语言,我们将日复一日的读书、练习,并参与其实际的项目。这就像马拉松,你坚持得越远,收获越多。在这漫长而乏味的过程中,总有些东西你能在很短时间,比如一天之类学会。这些东西将带给你很大的满足感。
下面的技术清单是一个名为Jacob Jensen的谷歌人推荐的,你可以在一天中不费力的学会它们中的一个。
阅读你喜欢的语言的该死的手册。过去我曾在Python上浪费时间,因为我不知道计数器数据结构的存在,而一直因为把字典类(Dicts)用作计数器,错误连连。
注册一个stackoverflow的账号,并学会使用该网站。如果你甚至不知道StackOverflow是一个可用的资源的话,并且你是一个母语是英语的程序员,那么你就错了。
自己实现一个简单的机器学习算法,并有一个完整的系统。就是说你读取一个简单的csv格式输入,把它划分成训练集和测试集,运行一个使用了可调整或者探索的超参数的简单算法,并且获得一份简单的相关统计输出。
学会在Excel中制作一个简单的线状图表,并且确保你做的正确,也就是恰当的编注坐标轴、刻度线、图表标题以及图例。
学会在其他不是Excel的软件中制作简单的线状图表。确保你能做得正确(同样的要求)。
完整你的eclipse的安装:python开发工具,c开发工具,以及其他你可能写的语言(的开发工具),并且确保你能使用它们成功了编写一个hello world程序。这将节省你未来的一些时间。
学习关系型数据库的大多数基本功能。(你没必要成为一个查询专家,但是对它有一些了解)
学习一种深度解析HTML和XML的工具
实现一个列表表示图的数据结构(Implement a list-of-lists graph data structure)
实现随机游走,页面排序,聚类系数发现(在可能的三角形中发现三角形途径 )以及共同邻居数量计算
实现宽度优先搜索,深度优先搜索,最短路径,拓扑排序以及最小生成树算法(最好是合并版本)。如果你没有这些算法的背景知识,那么这些会花费你一段时间。
制作一个简单的JAVA小程序,至少有些使用监听器的一些交互,而不仅仅是按钮和诸如此类的。
所以去吧,去做吧,你在一天的辛苦工作后,你会惊讶到你能做的。