by Suraj Nair, Founder JustInterns
General Overview
This document is an attempt to come out with certain guidelines that could help design a courseware aimed at building a workforce that is geared up to meet the challenges / requirements of the IT industry.
The following sections suggest a possible approach that is market driven and is beneficial for all the stakeholders in the current business context mainly IT Industry vendors, Academicians (Faculty) and Students.
Courseware Design StrategyCourseware Product Ecosystem (High Level)
The above process flow is a simplified version of the ecosystem within which a courseware product would tend to operate.
The courseware needs to address the following key questions from a student’s perspective:
a) Why should I do this Course?
Industry Orientation:
- A module could be designed such that it imparts the necessary inputs to explain the “Why” factor and sensitize or create awareness among the student community as regards the role that a new joinee is expected to perform in a services project for instance.
- This should take into account the following factors:
- Customer centric approach, expectation of high productivity from customers, ownership / accountability for one’s own project deliverables
- High emphasis on Architecture and Design aspects of a project deliverable, ability to carry out self code review and deliver high quality software
- Appreciation of the Project Dynamics, Lifecycle and Agile Team development process.
- Additionally, the module should also highlight the career path(s) available in the IT services industry (Software Developer, Test Engineer, Programmer Analyst) that will help the students to align themselves along the Goals & Objectives of the courseware.
- It is suggested to have this module or aspect communicated prior to the commencement of the technical content of the Courseware so that there are no gaps in terms of the expectation between student, courseware and industry.
b) What value addition does this course bring to my career?
The course would equip aspiring software professionals to design and implement scalable enterprise level applications, test and maintain existing applications, introduce popular enterprise platforms, help operate / debug application level issues or conduct a root cause analysis for technical issues and above all be more productive at your workplace.
c) How do I complete the course requirements effectively to meet industry expectations?
The sample courseware illustrates a step by step approach towards completing the course requirements in an industry oriented manner.
Sample Courseware
- Course Title – Introduction to application development on the J2EE Platform
- User Level – Beginner
- Audience – Students aspiring for a career in the Software Services Industry
- Course Objectives: The courseware is designed in such a manner that one person wears many hats and does multiple things. This not only helps the developer to raise his competency, at the same time reduces the overhead of hiring and inducting an additional person into the team. At a high level the student will acquire the following skills / competencies post the completion of the course:
- Acquire skills to design, implement, administer and maintain an enterprise application on the J2EE platform
- Learn to create the building blocks for Presentation Layer (JSPs & Servlets), Business Layer (EJBs and Web Services), Back-end Layer (JDBC and J2EE Connector Architecture)
- Understand and implement concepts related to application security
- Learn to manage distributed applications in a scalable manner and ensure availability using the concept of clustering
- Learn to implement business use cases related to Banking / Retail / Airline Verticals
- Gain expertise on Developer tools such as “Eclipse IDE” and “Ant” that are required to design / develop, build, package and deploy web application software
- Learn strategies for performance tuning of an existing web application
- Testing and Quality Assurance
- Functional Testing
- Use Ant scripts to generate nightly or weekly builds.
- Use JUnit framework to build automated scripts that can be run to test scenarios after a nightly or weekly build
- Performance Testing using open source frameworks such as JMeter
- Technical Requirements for Development Environment Set up
- The Struts Web Application Framework will be used for designing and developing the Presentation Layer
- The Weblogic Middleware platform will be used for business layer support and transaction services.
- Oracle 10g will represent the back end layer
- The diagram below depicts a typical distributed team Weblogic development environment
- Prerequisites – Students should understand essential concepts of Object-Oriented Programming and be able to write simple Java programs.
- Duration – 3 Months