我正在整理为期一年的实践课程(非学术性),以培养能够从第1天开始工作的Java程序员。我发现经常是计算机科学大学的毕业生了解傅里叶变换的所有内容,但尽管有趣但并不能帮助我将它们整合到现实生活中。
除了明显的编程之外,我还想到了许多其他主题
如果您能想到其他人请告诉我。
答案 0 :(得分:6)
调试技巧
答案 1 :(得分:3)
可能需要的理论:
如何使用非O(n ^ 2)
的数据对数组进行排序最基本的数据结构;数组,列表,树,堆栈,队列,堆是第一个要介意的。
如果不是如何编写它们,那么绝对是为什么你在一个列表上使用树而不是数组,反之亦然。
必要的实用知识:
“实用程序员”一书涵盖了你在这里提出的大部分内容。
的Eclipse。如何使用调试器。如何使用分析器。
蚂蚁。
一些基本的Web框架; Struts,Spring等
Apache Commons,JAXB,SOAP库,REST库。
如何读取错误的,未注释的代码。如何一点一点地重构它以保持可维护性。
多好的评论。
HTML,CSS,JavaScript,JQuery,按顺序。
验证器(W3C),格式化程序(Jalopy),检查器(PMD,FindBugs)。
如何使用一个Bug跟踪软件;如何编写一个好的bug描述,如何解释你为修复它所做的工作,以及如何处理用户期望。
实际上,这应该是它自己的路线;如何处理用户期望和相互冲突的时间表和目标。
答案 2 :(得分:2)
你需要教他们如何:
答案 3 :(得分:2)
除了你所拥有的,在一个中型项目的团队中工作。这也将(希望)帮助他们看到源代码控制,测试和文档的好处。
另一个答案提到了调试器。在同样的方面,我也会概述分析器。
答案 4 :(得分:2)
我希望我的教授在编程课程中更多地介绍一件事,就是有效地使用IDE。我的教授提到我们应该查看Eclipse,但从未真正教会我们如何充分利用它。即使是现在,我经常发现我经常使用的IDE的新功能,这些功能为我节省了大量时间来完成琐碎的工作。
一旦你超越了成为编码员所需的技能,我认为下一步就是学会编码更聪明而不是更难。
答案 5 :(得分:2)
代码审核。
接收和提供代码审核并不是一件容易的事情,人们常常很容易生气,特别是那些正在审核代码的人。但是,被迫接受批评并解释你的决定是非常有用的。对于审稿人,它要求您阅读其他人的代码,并能够指出其中的问题,当然还要描述您认为开发人员做错了什么的原因。
答案 6 :(得分:1)
我将大量时间用于UML和伪代码设计。编写快速规范甚至几行伪代码需要一些实践并且有很多好处。 我建议的另一件事是构建程序。虽然这些东西因地而异,但有关Ant,持续集成等内容的入门书会很棒。
答案 7 :(得分:1)
听起来你想要比Java更多地教授软件工程。你已经涵盖了大部分主要话题,我也建议如下:
1年不是很多时间将某人变成软件工程师。有很多实践经验需要发展,一般来说,这就是为什么学士学位是3 - 4年。