10152113Enterprise Java Programming
Course Information
Description
The third class of the Java sequence explores advanced Java topics including JDBC, Servlets, JSPs,  DAOs, object-relational mapping frameworks, asynchronous messaging, web services, unit testing, logging, authentication, application build and deployment, and version control. Students will gain familiarity with the Amazon  Cloud (AWS) environment as they deploy web applications in the cloud.
Total Credits
3

Course Competencies
  1. Develop applications using a version control system such as Git.
    Assessment Strategies
    Skill demonstration and discussion
    Lab assignments
    Major course projects
    Criteria
    You install and configure a version control system in your local development environment
    You use a version control system to manage all course work
    You use a version control system in a team environment
    You describe the purpose and benefits of using a version control system
    You follow best practices for using a version control system

  2. Develop test modules using the JUnit framework.
    Assessment Strategies
    Skill demonstration and discussion
    Lab assignments
    Major course projects
    Criteria
    You design and build applications that include unit tests
    You follow best practices for implementing unit tests in applications
    Project code coverage report shows an appropriate level of unit test coverage for the application
    Unit test suite passes (no test failures)
    You write both positive and negative unit tests
    You use set up and tear down test methods to eliminate redundant code
    Unit test methods are independent and single purpose
    You write testable code
    You describe the purpose and benefits of unit testing
    You explain how unit testing is implemented in your applications

  3. Integrate logging into applications.
    Assessment Strategies
    Skill demonstration and discussion
    Lab assignments
    Major course projects
    Criteria
    You design, build and deploy applications using a logging framework, such as Log4J
    You follow best practices for implementing logging in applications
    You use the logging framework in place of println()-type statements in your applications
    You use log statements to facilitate debugging and error tracking in your applications
    You use configurable logging levels in your applications
    You describe the purpose and benefits of using a logging framework in applications
    You explain the techniques used to implement logging in your applications

  4. Develop applications using Data Access Objects (DAOs).
    Assessment Strategies
    Skill demonstration and discussion
    Lab assignments
    Major course projects
    Criteria
    You design, build and deploy applications that use DAOs to isolate all data access to its own layer
    You follow best practices for implementing DAOs in applications
    You describe the purpose and benefits of using DAOs in applications
    You explain the techniques used to implement DAOs in your applications

  5. Develop applications using a data access framework like Hibernate.
    Assessment Strategies
    Skill demonstration and discussion
    Lab assignments
    Major course projects
    Criteria
    You design, build and deploy applications using a data access framework
    You follow best practices for using the selected data access framework
    You describe the purpose and benefits of using a data access framework in applications
    You explain the techniques used to implement DAOs in your applications

  6. Develop secure applications using the current Java SE security APIs.
    Assessment Strategies
    Skill demonstration and discussion
    Lab assignments
    Major course projects
    Criteria
    You design, build and deploy applications that include a security policy
    You follow best practices for implementing security in applications
    You restrict access to some application resources to certain users
    You allow access to some application resources to everyone
    You describe the purpose and benefits of using Java SE security in applications
    You explain the techniques used to implement and enforce security in your applications

  7. Develop web services.
    Assessment Strategies
    Skill demonstration and discussion
    Lab assignments
    Major course projects
    Criteria
    You design, build and deploy web services
    You follow best practices for writing web services
    You create user documentation for the web services that you write
    You explain the techniques used to write a web service

  8. Develop applications that consume web services.
    Assessment Strategies
    Skill demonstration and discussion
    Lab assignments
    Major course projects
    Criteria
    You research and identify web services that add business value to your applications
    You design, build and deploy applications that consume one or more web services
    You follow best practices for consuming web services in your applications
    You describe the purpose and benefits of consuming web services in applications
    You explain the techniques used to implement a web service in your application

  9. Develop applications using Enterprise JavaBean (EJBs).
    Assessment Strategies
    Skill demonstration and discussion
    Lab assignments
    Major course projects
    Criteria
    You design, build and deploy applications that use EJBs
    You follow best practices for using EJBS your applications
    You describe the purpose and benefits of EJBs
    You explain the techniques used to implement EJBs in applications

  10. Research and implement new technologies, tools, and techniques

  11. Design, develop, and deploy Java apis/Java web services in a development team

  12. Design, develop, and deploy a database-driven Java web application

This Outline is under development.