Module: Dynamic web applications

Create forms, the Scala template language, and user interaction.

Learning Outcomes

Create standards compliant Java code

You can implement Java code that complies with Java best practices for coding style.

Acquire capability with the Eclipse IDE

You develop capability with the Eclipse IDE that enables you to develop software efficiently and effectively.

Write code efficiently

You can implement correctly functioning Java code in a short period of time.

Create high quality technical writing

You demonstrate the ability to write professional-quality technical essays or to have significantly improved your skill at this task since your last essay.

Design using HTML and CSS

You can use HTML and CSS to design basic web pages, and you can use tools (Eclipse, Chrome Developer Tools, LiveReload) to do this development efficiently.

Design using Twitter Bootstrap

You can use Twitter Bootstrap 3 along with HTML and CSS to design modern, responsive, and attractive web pages.

Design using Play Framework

You can use the Play Framework to implement web applications.

Use cloud-based hosting effectively

You can use git for version control and configuration management, and GitHub as a shared repository for software development artifacts.

Work effectively in a group

You can develop complex software efficiently and effectively as part of a team, using collaboration tools including GitHub and Google Hangouts.

Readings

Introduction to dynamic web applications

Overview of handling user input and providing custom responses.

Screencast 5 min

GitHub for practice WODs

Using branching to simplify your practice WODs.

Screencast 11 min

Introduction to Play forms

Processing forms in the Play framework.

Screencast 24 min

Form validation in Play

How to validate form data in the Play framework.

Screencast 16 min

Play CRUD

Create, Read, Update, Delete in Play

Screencast 12 min

Play for Java, Chapter 5

Controllers: Handling HTTP requests

Play for Java, Chapter 6

Handling user input

Play for Java, Chapter 8

Producing output with view templates

Java ToDo List Tutorial

Play Framework tutorial in creating a simple todo list application.

Experiential Learning

Practice WOD: DigitsMockup

Create a mockup version of the Digits application.

Practice WOD: DigitsForm

Add form processing to your Digits application.

Practice WOD: DigitsFormValidation

Add form data validation to your Digits application.

Practice WOD: DigitsModel

Add model classes to your Digits application.

Practice WOD: DigitsCRUD

Add CRUD to your Digits application.

A18: Dynamic Web Applications Technical Essay

Write a technical essay summarizing your experience doing the dynamic web applications practice WODs.

Assessments

Group WOD: Digits Address

Outcomes assessed: Acquire capability with the Eclipse IDE, Write code efficiently, Design using Play Framework, Work effectively in a group

Rx: < 40 min Av: 40-50 min Sd: 50-60 min DNF: 60+ min or incorrect

Students worked in groups in-class using Google Hangouts and GitHub to collaboratively augment one of their Digits applications with additional functionality.

Discussion:

  • All groups accomplished this task.
  • Many students had not completed all the practice WODs prior to this session.

Dynamic Web Applications Technical Essay

Outcomes assessed: Create high quality technical writing

This assessment evaluated the ability of students to write a high quality technical essay summarizing their experiences doing the dynamic web applications practice WODs.

Discussion:

  • All essays were at least satisfactory.

Individual WOD: DigitsDelete

Outcomes assessed: Acquire capability with the Eclipse IDE, Create standards compliant Java code, Write code efficiently, Design using Twitter Bootstrap, Design using Play Framework

Rx: < 10 min Av: 10-20 min Sd: 20-30 min DNF: 30+ min or incorrect

Students updated a dynamic web application written in Play to incorporate “Delete” functionality. The WOD required them to update the model, view, and controller sections of the web app. While the base application code needs to be touched in several places to implement Delete, if you know what you are doing it is possible to implement this quite quickly.

Discussion:

  • Performance on this WOD was interesting in that there were no Sd times: either the students finished in less than 20 minutes or they didn’t finish at all. Also, all of the finishers had a correctly functioning application. Out of the 14 students, there were only 2 DNFs, which is a strong showing from the class.