Module: Dynamic web applications, Part II

Become more sophisticated with the Scala template language and more advanced user interaction controls.

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.

Readings

Introduction to play-example-form

A Play application template showing advanced form controls.

Screencast 16 min

Scala templates

Play Framework documentation on the Scala template engine

Scala template tips

Sample code for common Scala template operations

Experiential Learning

Pre-WOD Warmup: play-example-form

Get to know the play-example-form system

Practice WOD: DigitsTextTemplate

Refactor your Digits application using Scala templates

Practice WOD: DigitsSelection

Add a pull-down menu to your Digits application.

Practice WOD: DigitsTelephone

Create application-specific Scala templates

Practice WOD: DigitsInit

Create initialization code for Play applications.

A19: Dynamic Web Applications, Part II Technical Essay

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

A20: Dynamic Surferpedia

Consolidate your insights by making Surferpedia dynamic.

A20: Dynamic Surferpedia Technical Essay

Write a technical essay summarizing your experience developing the dynamic surferpedia system.

Assessments

Group WOD: Digits Radio

Outcomes assessed: Acquire capability with the Eclipse IDE, Create standards compliant Java code, Write code efficiently, Design using Play Framework, Work effectively in a group, Use cloud-based hosting effectively

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

Students worked in groups in-class to collaboratively augment one of their Digits applications with additional functionality.

Discussion:

  • All groups accomplished this task.

Dynamic Web Applications Part II 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 part II practice WODs.

Discussion:

  • All essays were at least satisfactory.

Individual WOD: DigitsHidden

Outcomes assessed: Acquire capability with the Eclipse IDE, Create standards compliant Java code, Write code efficiently, Design using Play Framework, Use cloud-based hosting effectively

Rx: < 7 min Av: 7-14 min Sd: 14-21 min DNF: 21+ min or incorrect

This was a solo WOD in which the students had to design a scala template to abstract away some raw html code in their view. The WOD required them to touch just two files in their Digits application.

Discussion:

  • This WOD showed more variability than I expected; I had assumed this would be very easy for the class. The finish time went from 5 minutes for the best finisher to a DNF at 21 minutes. The percentage DNF continues to fall, although five students have now dropped the class, which may account for the low percentage of DNF.