Pitfalls of Software & Java Education in Engineering Schools陷阱软件& Java的教育在工程学校
I have been interviewing several freshers who were taught Java in engineering schools under computer science curriculum.我一直在采访的几个新生谁学习Java在工程学校的计算机科学课程。 Interviewing them highlighted serious problems with their education as well as with the system.采访他们强调严重的问题,与他们的教育,以及与系统。 This is a brief overview of the issues and ways to interview such candidates.这是一个简要概述的问题,以及如何接受采访等候选人。 At the end I have included my recommendation of courses for software engineers.在去年底我有我的建议,包括课程软件工程师。
The students in most engineering institutes are being taught Java directly without a good introduction to object oriented development.学生在大多数工科院校现正教的Java直接没有良好的导言,以面向对象的发展。 At best they have cursory knowledge of OO concepts like polymorphism.在最好的,他们有粗略的知识,面向对象的概念一样,多态性。 It becomes nauseous to watch them repeat by rote the definitions without demonstrating a clear understanding of underlying concepts and logic.它成为恶心,以观赏他们重复死记硬背的定义,没有表现出一个清晰的认识,基本概念和逻辑。 Such graduates become nothing more than structured C coders using Java.这样的毕业生成为没有多结构c编码器使用Java 。
Learning Java to most is knowing about the “packages”, which is an incorrect approach.学习Java的到,最重要的是知道有关“包装” ,这是一个不正确的做法。 Java is not just about the libraries it provides. Java的不只是图书馆提供。 Anyone with logical ability can quickly pick new libraries.任何人与逻辑能力,可以快速地挑选新的图书馆。
Java is a language with a easy to learn syntax which should be first mastered. Java是一种语言一个简单易学的语法,其中,首先应该掌握。 It is a platform which helps you to easily develop cross-platform and web applications.这是一个平台,帮助您轻松地将开发的跨平台和Web应用程序。 Knowing Java without knowing about the web (other than googling and email), for example, is fruitless.知道Java的不知道有关Web (以外的其他使用Google和电子邮件) ,举例来说,是徒劳无功。
Java programmers do not just need to know Java, the language. Java程序员不只是需要知道的Java ,语文。 They need to have an understanding of basic software concepts like three-tier development, relational database management systems, quality processes etc.他们需要有一个了解的基本概念,例如软件的三层架构的发展,关系数据库管理系统,质量流程等。
Software developers with a narrow understanding of the field are likely to be a liability to themselves and to their companies.软件开发人员提供了狭隘的认识领域很可能是负债,对自己和他们的公司。 I look for people who have a healthy interest in the field and not the ones who have chosen IT solely because of its salary potential.我期待的人谁有一个健康的利益,在这一领域,而不是那些谁选择了它,纯粹是因为其薪酬的潜力。
My approach to interviewing them is to find out their clarity of concepts in whatever little (or much) they know.我的处理方法,以访谈,他们是要找出其清晰的概念,无论在小(或大部分)他们知道。 I ask lots of “why”.我想请问,很多“为什么” 。 Getting them to justify even obvious questions like value of object oriented development or polymorphism sheds light into their logical underpinings.让他们的理由,甚至明显的问题一样,价值的面向对象的发展或多态性揭示了他们的逻辑underpinings 。
My recommended courses for software enginners (1 semester each) would be:我的建议,课程软件enginners ( 1每学期)将是:
- Introduction to computers介绍计算机
- Computer Language (Fortran)计算机语言( FORTRAN语言)
- Algorithm and Data Structures算法和数据结构
- Object Oriented Development (preferably using SmallTalk)面向对象的发展(最好是使用了Smalltalk )
- Java Software Development Java软件开发
- Software Development Methodologies (includes Extreme Programming)软件开发方法(包括极限编程)
- Software Testing & Quality Processes软件测试与质量过程
- Design Patterns in Java设计模式在Java
- Enterprise Software Development企业软件开发
- Networking - TCP/IP, UDP, SMTP, POP3, HTTP etc.网络-的T CP/ I P, U DP的,的S MTP,使用P OP3, H TTP的等。
Optional:可选:
- Computer Security计算机安全
- Artifical Intelligence人工智能
Filed under提起下 Headline News头条新闻 , , How To如何 , , Java Software Java软件 , , Web网页 | |
| |
RSS 2.0 2.0 | |
Email this Article电子邮件此文章
You may also like to read您也可以想读 |





































May 10th, 2006 at 11:35 am 2006年5月10日在上午11时35分
Interested why you chose Fortran?有兴趣的,为什么您选择Fortran的? If you have a relatively intelligent group of students, I think C is a good place to start - it is practical (still used in companies for development) and it teaches you the details of memory management, etc. While Java et.如果您有一个相对的智能组的学生,我认为C是一个很好的地方开始-它是实际的(仍然使用在公司发展)和它教导你的细节的记忆体管理等,而华等。 al.基地。 have auto garbage collection, knowing what this means and how it benefits you is important.有自动垃圾收集,知道这意味着什么,以及如何的好处,你是很重要的。
Thoughts?思考?
May 10th, 2006 at 12:43 pm 2006年5月10日在下午12时43分
Fortran is a relatively easy language to learn and well suited for beginners. Fortran的是一个相对容易的语言学习和非常适合初学者。 I have found many rather intelligent people fumbling with C, especially pointers.我发现很多,而不是聪明人fumbling与C ,尤其是三分球。
I think the introduction should start with something easy to learn and master to boost their confidence and grow their interest.我认为引入应该开始与一些容易学习和掌握,以提高他们的信心和成长,他们的兴趣。 That’s my two cents.这就是我的2美分。
May 10th, 2006 at 1:41 pm 2006年5月10日在下午1时41分
Thanks - didn’t expect a reply so quick (or possibly at all!)感谢-没有料到的答复,这么快(或者有可能在所有! )
I have pointed friends in the past who are interested in picking up some programming (not as a career) to look at Python, Ruby, and PHP.我刚才所说的朋友,在过去谁有兴趣的复苏,一些编程(不是作为一个职业生涯)看巨蟒,红宝石,和PHP 。 The benefits being that they can do some pretty cool stuff right away, and can use something like PHP to do minor tweaks to their blogs assuming they are PHP based.好处就是他们可以做一些很酷的东西的权利以外,并可以使用的东西一样, PHP中做轻微的调整到他们的博客假设他们是PHP的基础。