Software Engineering Scratch Lab for EPIC

Introductions and Intro to Software Engineering: 8 mins

Instructor

David Janzen
Associate Professor of Computer Science
Cal Poly, San Luis Obispo

Teaching Assistant

Alexander Janzen

Organize: 3 mins

Form teams of two

Learn App Inventor: 60 mins


Elicit and Document Requirements: 10 mins

Come up with an idea for an app. Keep it really simple. You don't have much time. The best thing might be to create a variation on the apps you already created today. For example, add drawing squares to PaintPot (harder than it sounds), or allow the user to save four stocks that get stock quotes refreshed every minute, or ...

If time, document your requirements in user stories on 4x6 cards. Here are some sample user stories:
Title Description
Pop Bubble User moves mouse over a bubble that has not been popped and clicks. Bubble pops. Score increments by one.
Pop Bubble with Bomb User moves mouse over a bubble that has not been popped and clicks. Bubble pops and bomb explodes, ending game.

Create a rough sketch of one or two scenes to explore and communicate the idea of how your system will look.


Design: 10 mins

Give each pair a blank piece of paper. Create storyboards: draw up to eight frames per page, fill with scenes

Construct: 20 mins

Create your system.
You probably won't get past here, but if you do, here is what we would do in a software project:

Test: 5 mins

Swap phones with another team. Test their system and record any defects you find on 4x6 cards. A defect report should contain the following information:

  1. Defect number (make sure they are unique starting with 1)
  2. Short title
  3. Description of defect (what went wrong?)
  4. Description of what happened before defect occured (what were you doing?)

Fix: 5 mins

Return computers and defect reports to original team. Review and fix the defects. Ask clarifying questions if needed.

Deploy: 5 mins

Package app for phone and email it to someone who has an Android phone.

Show Off: 5 mins

If we have time, we will show off our systems to the whole group.

Maintenance: 10 mins

Add new features and fix defects.
Thank you for attending the Software Engineering lab.