1. Grading Plan
1.1. ICA1 (30%)
1.1.1. Practical Test (10%) - Week 7
1.1.2. Written Test (20%) - Week 14
1.2. ICA2 (10%)
1.2.1. Practical Exercise Submission (5%) - Week 1 - 8
1.2.2. Review Question (5%) - Week 13
1.3. Project (60%)
1.3.1. Prototype Review (Week 4)
1.3.1.1. Group (5%)
1.3.1.1.1. A - High quality empathy map with well defined problem statement, and excellent innovative ideas to address the user needs
1.3.1.1.2. B - Decent empathy map, with good problem statement, and some decent ideas to address the user needs
1.3.1.1.3. C - Average empathy map with a simple problem statement, and some standard ideas to address the user needs adequately.
1.3.1.1.4. D - Bare minimum empathy map with a simple problem statement and little ideas to address the user needs.
1.3.1.2. Individual (5%)
1.3.1.2.1. A - Very comprehensive prototype and user stories with great consideration on usability
1.3.1.2.2. B - Good prototype and user stories with some details, and some consideration on usability
1.3.1.2.3. C - Average prototype and user stories with little details and little consideration on usability
1.3.1.2.4. D - Bare minimum prototype and user stories with no consideration on usability
1.3.2. Functional Prototype Review (Week 9)
1.3.2.1. Group (5%)
1.3.2.1.1. A - Fully integrated with use of source control, with great UI and UX design
1.3.2.1.2. B - Mostly integrated with use of source control, with decent UI and UX design
1.3.2.1.3. C - Some integration without use of source control, mediocre UI and UX design
1.3.2.1.4. D - Little integration with bad UI and UX design
1.3.2.2. Individual (10%)
1.3.2.2.1. A - Functional prototype with more than 1 complete function, good usability and demonstrate good technical capability
1.3.2.2.2. B - Functional prototype with 1 complete function, with decent usability and demonstrate decent technical capability
1.3.2.2.3. C - Functional prototype with 1 partially completed function, and some consideration for usability. Demonstrate mediocre technical capability.
1.3.2.2.4. D - Functional prototype incomplete with some errors and demonstrate little technical capability.
1.3.3. Technical Walkthrough (Week 15)
1.3.3.1. Individual (10%)
1.3.3.1.1. A - Fully implementation with great usability and able to answer technical questions to demonstrate excellent technical know how.
1.3.3.1.2. B - At least 75% implemented with decent usability, and able to answer most of the technical questions to demonstrate competent technical capability
1.3.3.1.3. C - At least 50% implemented with some usability consideration, but unable to answer most of the technical questions, demonstrate mediocre technical capability
1.3.3.1.4. D - Little implementation with bad usability and unable to answer questions, demonstrate very little technical capability
1.3.4. Final Presentation (Week 16)
1.3.4.1. Group (5%)
1.3.4.1.1. System Integration
1.3.4.2. Individual (20%)
1.3.4.2.1. Implementation (15%)
1.3.4.2.2. Presentation (5%)
2. Resources
2.1. Google Classroom
2.1.1. How to get started?
2.1.1.1. Activate your Google for Education account (Check your school email for instruction)
2.1.1.2. Join the classroom as a student using this code 3794exs from http://classroom.google.com
2.1.1.3. Install Classroom app on your Android or iOS device to get instant notifications.
2.1.2. What is this for?
2.1.2.1. Access all course materials
2.1.2.2. Submission of assignment and exercises
2.1.2.3. Discussion and Asking Questions
2.1.2.4. Quiz and review questions
2.2. GitHub
2.2.1. How to get started?
2.2.1.1. Register for an account and request for a free student pack https://education.github.com/pack
2.2.1.2. Create a private repository and add your team members and tutor in the team.
2.2.2. What is this for?
2.2.2.1. Source control where all your source codes are stored and version controlled
2.2.2.2. For your requirements (user stories) repositories
2.2.2.3. Sample Source
2.3. Development Tools
2.3.1. IntelliJ Ultimate
2.3.2. MySQL Database
2.3.3. Tomcat Server
2.3.4. Git
2.3.5. JDK 8
3. Instructional Learning Outcome
3.1. Enterprise Development
3.1.1. Explain the concepts of enterprise development using Java Enterprise Technologies
3.1.2. Explain the concepts of Java EE design patterns and best practices and apply the concepts to construct a Java EE application
3.2. Servlets
3.2.1. Explain the concepts of Java Servlets
3.2.2. Apply the concepts to construct a Java EE application.
3.3. Java Server Pages
3.3.1. Explain the concepts of Java Server Pages (JSP)
3.3.2. Apply the concepts to construct a Java EE application
3.4. Service Oriented Architecture
3.4.1. Explain the concepts of RESTful and SOAP-based web services
3.4.2. Explain the concepts of Java Web Sockets
3.4.3. Apply the concepts of RESTful web services to construct a Java EE application
3.5. Enterprise Java Beans
3.5.1. Explain the concepts of Enterprise Java Beans
3.5.2. Explain the concepts of Entity Bean and Java Persistence API
3.5.3. Apply the concepts of Java Persistence API to construct a Java EE application
3.6. Java Server Faces and Frameworks
3.6.1. Explain the different type of Java Web Application Frameworks
3.6.2. Explain the concepts of Java Server Faces (JSF)
3.7. Security
3.7.1. Explain the concepts of declarative and programmatic security in Java EE application
3.8. Project
3.8.1. Analyze the user requirements
3.8.2. Apply the concepts of Java EE technology to construct a dynamic web application to satisfy the user requirements
3.8.3. Develop teamwork, leadership, presentation and documentation skill sets