ITM 602: Enterprise Application Development

Spring 2006 Syllabus

Instructor Information

Sanjay Goel picture

Sanjay Goel

Office: BA 310b
Hours: Mon. 12:30-2PM & by appt.
PH: (518) 442-4925
FX (518) 442-2568
Email: [email protected]
Bill Brigham picture

Bill Brigham

Office: Off-Campus
Hours: By appt.
PH: (800) 732-SBDC
Email: [email protected]


Time:TUE, 9:05am-12:10pm
Room:BA 233
Dates:January 24 - May 9
Call #:4043

COURSE WEBSITE The course website should be your main source of course material and contains all relevant course information including details on grading, projects, assignments, course schedule, etc. In addition, this should provide a "living syllabus" a will reflect any changes made to this document.

Text & Reference Books

Text: Beginning J2EE 1.4: From Novice to Professional (Apress Beginner Series)
Reference: Covello & Hazelgren, The Complete Book of Business Plans
Reference: Ira Pohl & Charlie McDowell, Java by Dissection, The essentials of Java Programming, Updated Edition.
Reference: Michael V. Mannino, Database Design, Application, Development & Administration, McGraw Hill

Course Overview

This course teaches students how to plan and implement an online business. The class is broken down into groups of about 4 students. The course begins with each group brainstorming to generate new ideas for an online business. Over the first four weeks, students learn about financial analysis, marketing analysis, and risk analysis. Thereafter each group takes their ideas, evaluates them for feasibility, and selects one idea for implementing a business. At the end of five weeks, each group presents their business plan, which is evaluated by a set of external reviewers.

The students spend the next six weeks understanding the architecture and technology (Java/J2EE) for developing multi-tier (client/server/data) systems. The students spend 1-2 two lectures studying the technology behind each tier in their enterprise application. The database tier design requires the students to design and implement their databases and to connect to them from Java code using JDBC. The server tier design involves use of servlets and JSPs to encapsulate the business logic in the application. The client tier involves the development of web pages using html or some web development tool.

The students complete the implementation of their system by the end of the 14th week and present their projects to the Chamber of Commerce (or other industry representatives) and give a demonstration of the projects. During the progression of the course, several other topics are introduced based on the interest of the students, the tools that they are using for development, and the type of projects that the students select. In past years, for instance, students learned about XML and Web Services and their role in enterprise application development. The course also covers security in the design of enterprise applications in context of different technologies that they learn. Security curriculum involves role-based access control as well as authentication and authorization for mobile code based applications. The class will require some programming, thus knowledge of Java Programming will be very useful.

Learning Objectives

Students will learn:
  1. How to integrate knowledge from different business functions to create a business plan
  2. The process for developing large scale enterprise applications
  3. How to develop multi-tier architecture
  4. How to hone their critical thinking and presentation skills by developing the business plan and presenting their work to a professional audience


All students are expected to follow University at Albany guidelines on academic integrity (see the Academic Integrity section of the course site for more detail). If any assignment or project submission contains any material (text, diagrams, code, etc.) generated by others (not on your project team), your submission must clearly indicate the source of such material. Failure to indicate the source of the material will be treated as plagiarism. Discussing assignments and project work with others is fine. However, each person or team must write its own submission independently. We will have project reviews during class sessions, and this is the appropriate time to analyze and understand the work of other teams. Making your work available to other teams outside of the classroom review sessions will be treated as academic dishonesty.

Assignments- 20%: Assignments can be in-class or take-home and will be designated as individual or group assignments depending on the specific assignments. Please see the Assignments section of the course site for further details and guidelines.

Business Plan- 17%: The business plan is supposed to be a collaborative effort among team members. The creation of this plan will be facilitated through assignments given every week on a separate part of the plan. The business plan grade includes a final version of the business plan as well as a PowerPoint presentation in which an evaluatory group as well as the instructor(s) are responsible for grades. For further details and guidelines, please see the Projects/Papers section of the course site.

Implementation- 33%: The implementation is the actual enterprise application and is supposed to be a collaborative effort. Even though someone with the most expertise may do a majority of a certain section, it is essential that all group members be exposed to all aspects of implementation to be able to perform well on the exam. The implementation includes the website, JAVA servlets, database design, SQL queries as well as a final presentation in front of an evaluation committee, and a final code review with the instructor who will all contribute to the final grade decision. For further details and guidelines, please see the Projects/Papers section of the course site.

Exam- 30%: The exam will consist of multiple sections (essay-style) in which you will have to apply a majority of what has been learned during the semester in order to assess individual performance. This can include doing a feasibility analysis, logical database diagram design, normalization, choreography (use cases), JAVA servlet coding, n-tier architecture, HTML coding, tracking state, adding cookies, and web security. In some instances, students may receive partially written code where specific segments need to be completed. In other cases, a faulty piece of code will be provided and students will be expected to identify where the error is located within the code. Students may be given a sample business plan for which they may have to develop a use case scenario and write specific queries that support the use cases. Students may use the recommended texts, class notes, and PowerPoint presentations. No use of electronic devices (laptops, cellphones, PDA's, etc.) is allowed during testing. A previous exam and sample solution set will be provided for review.

Course Schedule

DateTopicsClass NotesAssignments
1/24 - Entrepreneurship
- Generation/Evaluation of Business Ideas
- Group Formation
intro.ppt Week 1; progress1.doc
1/31 Feasibility & Financial Analysis feasibility.ppt Week 2; progress1.doc
2/7 Human Resources & Marketing marketing.ppt Week 3; progress1.doc
2/14 Implementation & Technology technology.ppt Week 4; progress1.doc
2/28 Business Plan Presentation and Review Week 5; progress1.doc
3/7 - Server-Side Application Architecture
- Review of Database Design
jdbc.ppt Week 6; progress2.doc
3/14 - SQL Review
- Java Database Connectivity
jdbc.ppt Week 7; progress2.doc
3/21 - Critical Elements for Interface Design
- JAVA Servlet Design
servlets.ppt Week 8; progress2.doc
3/28 - Servlets, cont'd.
- Designing Use Cases (Choreography)
servlets.ppt Week 9; progress2.doc
4/4 Connecting the Three Tiers Week 10; progress2.doc
4/18 Review/JAVA Server Pages jsp.ppt Week 11; progress2.doc
4/25 Exam Week 12; progress2.doc
5/2 Project Work Week 13; progress2.doc
5/9 Final Presentation, Demonstration, and Code Review progress2.doc

Download syllabus: itm602syllabus.pdf