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. Я был несколько интервью freshers которые учили 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. В лучшем случае они имеют поверхностное знание OO концепций, как полиморфизм. It becomes nauseous to watch them repeat by rote the definitions without demonstrating a clear understanding of underlying concepts and logic. Она становится nauseous смотреть их повторять по rote без определений, демонстрируя четкое понимание основных концепций и логики. Such graduates become nothing more than structured C coders using Java. Такие выпускники становятся не чем иным, структурированные кодировщиков С помощью 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. Это платформа, которая помогает вам легко разрабатывать кросс-платформенные и веб-приложений. Knowing Java without knowing about the web (other than googling and email), for example, is fruitless. Зная, Java, не зная об Интернете (помимо поиск в 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
- Software Development Methodologies (includes Extreme Programming) Методологии разработки программного обеспечения (в том числе экстремального программирования)
- Software Testing & Quality Processes Тестирование и качество процессов
- Design Patterns in Java Разработка моделей на Яве
- Enterprise Software Development Предприятие разработка программного обеспечения
- Networking - TCP/IP, UDP, SMTP, POP3, HTTP etc. Сетевые - TCP / IP, UDP, SMTP, POP3, HTTP т.д.
Optional: Дополнительно:
- Computer Security Computer Security
- Artifical Intelligence Искусственный интеллект
Filed under Поданного в соответствии с Headline News Headline News , How To Как , Java Software Программное обеспечение Java , Web Веб | |
| |
RSS 2.0 RSS 2,0 | |
Email this Article Отослать Статья
You may also like to read Вы можете также люблю читать |




May 10th, 2006 at 11:35 am 10 мая 2006 года в 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. Если у вас есть сравнительно интеллектуальных групп студентов, я думаю, С является хорошим местом для начала - это практические (по-прежнему используется в компаниях в целях развития), и она учит Вас детали управления памятью и т.д. В то время как Java и. al. др.. have auto garbage collection, knowing what this means and how it benefits you is important. иметь авто сбора мусора, зная, что это означает и как он вам благ имеет важное значение.
Thoughts? Мысли?
May 10th, 2006 at 12:43 pm 10 мая 2006 года в 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. Вот мои два цента.
May 10th, 2006 at 1:41 pm 10 мая 2006 года в 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. Я указал друзьям в прошлом которые заинтересованы в нарастают некоторых программ (не как карьеру) посмотреть на Python, Ruby и 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.