Experiential Learning in module order

Module: Introduction

A01: Get the books

Learn how to get the books for this class.

A02: Environment configuration

Learn how to configure your development environment.

A03: Introduce yourself

Post a message to the class discussion list about yourself

Module: Professional Persona

A04: Create a professional portfolio

Learn how to design and implement your professional portfolio.

A05: Open source software and the three prime directives

Analyze an open source software project to see if it conforms to the three prime directives

A06: Join TechHui

Learn how to join TechHui and participate in discussions.

A07: Join LinkedIn

Learn how to join LinkedIn and set up your profile.

Module: Integrated development environments

A08: Install Eclipse

Verify that you can install Eclipse on your laptop.

A09: FizzBuzz in Eclipse

Verify that you can solve FizzBuzz using Eclipse

Module: Coding standards

Find the violations game

Verify that you can find violations of the Elements of Java Style

Module: Java coding

Practice WOD: FileIO-CountLines

Develop a program to count lines in a file.

Practice WOD: FileIO-CountWords

Develop a program to count words in a file.

Practice WOD: WebIO-CountWords

Develop a program to count words in a web page.

Practice WOD: WebIO-CountURL

Develop a program to count words given a URL.

Practice WOD: WebIO-FrequencyURL

Develop a program to count the frequency of words at a URL.

A10: Java Coding Technical Essay

Write a technical essay summarizing your experience doing the Java Coding practice WODs.

Module: UI Basics

Practice WOD: BrowserHistory1

Develop a web page using basic HTML.

Practice WOD: BrowserHistory2

Develop a web page using basic CSS and Google Web Fonts.

Practice WOD: BrowserHistory3

Develop a web page using Chrome Developer Tools.

A11: UI Basics Technical Essay

Write a technical essay summarizing your experience doing the UI Basics practice WODs.

Module: UI Frameworks

A12: Build bootstrap bookmarks

Create bookmarks in your browser to enable fast lookup of Bootstrap documentation.

Practice WOD: BootstrapBrowserHistory

Develop a simple web page using Twitter Bootstrap

Practice WOD: ResponsiveKamanu

Develop a responsive web page based upon kamanu.com

Practice WOD: ResponsiveCastleHighSchool

Develop a responsive web page based upon the Castle High School web site

A13: UI Frameworks Technical Essay

Write a technical essay summarizing your experience doing the UI Frameworks practice WODs.

Module: Web Application Frameworks

Practice WOD: HelloMe

Create a minimal Play application.

Practice WOD: CleanHelloMe

Create a minimal Play application that passes checkstyle.

Practice WOD: PlayBootstrapBrowserHistory

Create a Play version of the BootstrapBrowserHistory page.

Interlude: Page development in Play

Watch how to create new pages in Play efficiently.

Practice WOD: MultiPage PlayBootstrapBrowserHistory

Create a multi-page Play version of the BootstrapBrowserHistory page.

Practice WOD: PlayResponsiveKamanu

Create a Play version of the Kamanu Composites home page.

A14: Web Application Frameworks Technical Essay

Write a technical essay summarizing your experience doing the Web Application Frameworks practice WODs.

Module: Cloud-based Hosting

A15: GitHub Getting Started Technical Essay

Write a technical essay summarizing your experience getting started with GitHub.

A16: Surferpedia Sunday

Use google hangouts to collaborate, then write a technical essay summarizing your experience.

Practice WOD: GitHub Play Responsive Kamanu

Create a github repo containing your PlayResponsiveKamanu project

Interlude: Play Dropdown Carousel

Learn to use the Bootstrap dropdown menu and carousel components

Practice WOD: Surferpedia

Create the first version of a Surfer encyclopedia application.

A17: Cloud-based Hosting Technical Essay

Write a technical essay summarizing your experience doing the Cloud-based Hosting practice WODs.

Module: Dynamic web applications

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.

Module: Dynamic web applications, Part II

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.

Module: Cloud-based Deployment

A21: Get started with CloudBees

Signup, use clickstart, install the CloudBees SDK

Practice WOD: DeploySurferpedia

Deploy Surferpedia to the cloud.

Practice WOD: CustomDomainName

Buy a domain name and point it to your Surferpedia application

Practice WOD: ModalDialog

Add a modal dialog to your Surferpedia application.

Module: Startup Weekend

Participate in Startup Weekend

Sign up and attend Startup Weekend

Weekend homework assignment

If not doing the Startup Weekend, do this homework assignment.

Module: Authentication and authorization

Practice WOD: DigitsLogin

Add authorization and authentication to your Digits application.

Practice WOD: DigitsMultiUser

Support multiple users in your Digits application.

Practice WOD: DigitsCloudAuthentication

Understand issues around cloud-based authorization and authentication.

Module: Model design

Practice WOD: Warehouse

Design the ER diagram for a Warehouse application

Practice WOD: Library

Design the ER diagram for a Library application

Practice WOD: Car rental

Design the ER diagram for a Car Rental application

A24: Model Design Technical Essay

Write a technical essay summarizing your experience doing the Model Design practice WODs.

Module: Model implementation

play-example-mysql

Learn to install MySQL, a MySQL client, and configure a Play application to connect to a local and cloud-based MySQL instance.

A25: play-example-mysql Technical Essay

Write a technical essay summarizing your experience with the play-example-mysql system.

Practice WOD: DigitsMySQL

Implement back-end persistence for your Digits application

Practice WOD: DigitsCloudBees

Deploy your Digits application using CloudBees MySQL.

A26: Model Implementation Technical Essay

Write a technical essay summarizing your experience doing the Model Implementation practice WODs.

Module: Testing

Practice WOD: DigitsTest

Add testing to your Digits application.

A27: Testing Technical Essay

Write a technical essay summarizing your experience doing the Testing practice WODs.

Surferpedia Testing

Implement testing for your Surferpedia application

Module: Final Exam

Final Exam

Your final mission, should you choose to accept it.