Android “is free like a puppy.” – James DeBragga, General manager of Microsoft Windows Consumer Product Marketing (reported by Mark Spoonauer in a LAPTOP editorial), January 12, 2011.

You will generally work in pairs for the lab exercises, and we encourage you to ask questions and to collaborate with others. Note, however, that this week you should work individually on the programming exercise so that you configure your own development environment completely.

Creating Innovative Software

Creativity is a key element of innovation in software.

Exercise 1.1

Identify two possible team projects for this semester, both portable apps, but of the following two sorts.

One short paragraph should be sufficient for each idea. Record your proposals in a simple ASCII text file (ideas.txt) so that you can submit it later.

Getting Ready for Teams

We’d like to know a little bit about you so we can more effectively divide the class into teams.

Exercise 1.2

Please answer following questions:

  1. Demographics

    1. What is your class level? (freshman, sophomore, junior, senior, [super-]+senior)

    2. What is your major? (BCS, CS+, …)

    3. What letter grades did you get in CS 112 and 212?

    4. What CS 262 section are you in (A or B)? Can you attend the full Friday lab session, and, therefore, be on a team with members of the other class section?

  2. Technical

    1. Have you worked on any of the following things:

      • JavaScript/Typescript applications
      • SQL database systems

      If so, what (briefly) have you done?

    2. Have you used any of the following tools:

      • Slack
      • Trello
      • Git and/or GitHub

      If so, what have you used an how (briefly) have you used it?

    3. What project or projects would you like to work on. Include at least one tractable project, say from the previous lab exercise or from the suggested projects in the team project specification.

    If you’d like, talk to other students or use the Moodle forum to form groups interested in particular project ideas.

  3. Personality

    1. What is your big-five personality type? Please include these scores in your lab solution and, if you haven’t already done so, enter them using this form as well: CS 262 - Personality Traits. (See the reading guide for how to determine this. Please, give the five trait values only.)

    2. Is there anyone you’d really like (or not like!) to work with? We’ll do our best to honor your requests here.

  4. Is there anything else you’d like us to know about you before assigning you to a project team?

Save your answers in an ASCII file (teams.txt) so that you can submit them as part of this lab assignment. If you work on a team of two students, please put both of your names in this file.

Developing Mobile Applications

The lab machines are configured to run the technologies and tools you’ll need in this course, but we suggest that you configure your own machine to do your work.

Exercise 1.3

Do Expo’s hello-world application as specified in Introduction to Expo (see the sample output to the right). Notes:

When you have the app running on your device, create a text file (README.md) in the root of your lab directory that documents the application and includes one-sentence explanations (or your best guess) of the purpose of each of the following files/directories in your project code:

Be prepared to submit your (modified) App/(tabs)/index.tsx and README.md files.

Checking in

Submit the files specified above in Moodle under lab 1. Please submit them as separate (text!) files, not as a ZIP file, or as DOCX files, etc. We will grade your work according to the following criteria:

Lab assignments are always due by 11:59pm Saturday, the day after the lab.