Module: Cloud-based Hosting

Concepts of cloud-based hosting, Git, and GitHub.

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 cloud-based hosting

How cloud-based hosting facilitates team-based software development

Screencast 11 min

Introduction to version control and configuration management

Basic concepts of VC and CM, from rcs to svn to git

Screencast 24 min

Introduction to Google Hangouts

How to do same-time, different-place collaboration using Google Hangouts

Screencast 13 min

Collaborating via GitHub and Google Hangouts

Combining GitHub and Google Hangouts to support team-based software development

Screencast 8 min

Pro Git, Chapter 1

About version control, a short history of git, git basics

GitHub Basics

Signup, setup git, create a repo, fork a repo, be social, try git

Linus Torvalds on Git (Why Subversion Sucks)

Google Tech Talk (optional, but interesting (1M+ views))

Screencast 70 min

GitHub Guidelines

Standards for using git and GitHub in this class

Experiential Learning

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.

Assessments

Group WOD: Surferpedia Monday

Outcomes assessed: Acquire capability with the Eclipse IDE, Write code efficiently, 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 to use Google Hangouts and GitHub to collaboratively create a release of one of their Surferpedia systems.

Discussion:

  • All groups accomplished this task.
  • Many students required this in-class time to learn to use these tools.

Cloud-based Hosting 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 Cloud-based Hosting practice WODs.

Discussion:

  • Everyone who actually submitted did well.
  • More attempts to provide “personality” in the postings. Keep up the good work!

Paired WOD: Surferpedia

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

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

This was the first paired WOD of the semester: students added a new page to a partner’s Surferpedia website. To make matters more complicated, they could not speak to their partner; all interactions had to be through Google Hangout; and they shared their code through GitHub repositories. The goal of this WOD is to test both website manipulation skills as well as software engineering collaboration skills.

Discussion:

  • Again, relatively few DNFs on this WOD.