During all years I have always felt a growing gap between the courses the academic institutes offer in their academic programs and the software development companies’ required skills.
Being focused on the required skills for developing enterprise web based applications I try to compile a wish list of courses, that software development companies’ would have been keen to find included in academic programs.
Fundamental Core Java
This course focuses on Java SE fundamental topics. This course is crucial for Java EE self learning. In addition, this course can pave the way for self learning of similar software programming languages, such as C# and C\C++.
Java Business Components Development
Being focused on Enterprise Java Beans, this course can set the required fundamental knowledge and experience for developing enterprise Java applications. This course should convey the revolutionary approach for developing server side applications composed of separated components. This course should include Java EE common practices and design patterns.
Whether using Java or any other software programming language, understanding this topic is crucial for developing cutting edge applications integrated with systems running on different servers all around the world. This course can also be the place for practical projects involved with famous popular server side web based systems, such as facebook, google and others.
Web Applications Development
Whether using Java EE or another software programming language, learning how to develop web applications… learning how the web works… this is a fundamental topic required for learning any other web applications software programming language. Given that Java EE is the richest software programming language for developing web application it should be the preferred option for teaching this topic. This course should also cover one (or two) frameworks as a sample for today practical approach for developing web applications.
Whether delivered using C++, PHP or Java, learning the standard GoF classic design patterns is highly important for setting fundamental software programming practices. Given the relatively richness of Java comparing with the others, it is highly recommend to choose Java for teaching this course. This cours can also cover the fundamental OOP class design principles.
Modeling Graphics Languages
During the last years, the graphics modeling languages have significantly evolved. SysML, UML and ERD are the most important ones. This cours can also cover the classic software development methodologies and the agile ones.
Web Browser Scripting Languages
Given the recent evolution of browser based scripting languages a dedicated course that focuses on this topic as well as on common web browser markup languages can cover the following topics: XHTML, CSS, ECMA Script, Java Script, Ajax, Flash, Flex and Action Script.