Java课程的主题

时间:2010-08-11 13:29:48

标签: java

我正在整理为期一年的实践课程(非学术性),以培养能够从第1天开始工作的Java程序员。我发现经常是计算机科学大学的毕业生了解傅里叶变换的所有内容,但尽管有趣但并不能帮助我将它们整合到现实生活中。

除了明显的编程之外,我还想到了许多其他主题

  • 测试
  • 持续集成
  • 来源控制
  • 如果您遇到问题该怎么办(例如本网站)
  • 敏捷和其他方法
  • 文档

如果您能想到其他人请告诉我。

8 个答案:

答案 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更多地教授软件工程。你已经涵盖了大部分主要话题,我也建议如下:

  • 软件架构:有设计,然后有架构。了解不同组件在项目中将如何/应该如何交互是非常重要的
  • 需求收集:从“业主”获取实际规范是一项宝贵的技能。太多人认为只会给他们一个项目的实际要求。
  • JDBC /数据库:如果数据库在第1天有用,则必须触及它们。
  • MVC:我认为通过所有设计模式并不重要,但绝对值得一提的是MVC。对于Web开发来说,这是一个非常重要的模式,并且可以应用于大多数任何事情。

1年不是很多时间将某人变成软件工程师。有很多实践经验需要发展,一般来说,这就是为什么学士学位是3 - 4年。