Color Perception and Applications Visualization Ô96 Course: From

advertisement
Design
IS 101Y/CMSC 101
Computational Thinking and Design
Tuesday, October 15, 2013
Marie desJardins
University of Maryland, Baltimore County
Midterm Preparation
 All assigned class material is fair game:



Assigned readings from the three textbooks (St. Amant, Processing, MYM)
Other assigned readings and videos as listed in the class schedule
Lecture slides and in-class discussions
 The focus is on conceptual understanding rather than memorization of details


Be able to define and answer questions about key concepts
 Not memorizing details of examples mentioned in passing
Be able to write and interpret Processing programs
 Not picky/”trick question” syntax questions
 Format:


About 25 questions
Mix of true-false, multiple-choice, matching, and open-ended (short answer or write a
program fragment) questions
 Closed-book but with limited notes:

You may bring one page of notes (8.5”x11”, front and back, typewritten or handwritten,
must be prepared by you but you can talk to other students as much as you want about
what to include)
Data Analysis Assignment
 Draft Presentation on October 25, 2013
 Final Presentation on October 31, 2013
 Final submission due BEFORE CLASS on October 31
 Late policy does not apply – NO LATE SUBMISSIONS!!
 To be done in with your project team
 Uses Excel and PowerPoint – resources are available
 Use the assignment to experiment with visualizations for the
Semester Game project
Design
 Problem solving often produces multiple possible solutions
 ...or multiple ways to implement the solution
 Design is the process of making those decisions and
choices
 Design at a high level
 Is it cost-effective to automate kidney exchange?
 Should we use a relational or object-oriented database?
 Design at a low level
 How do I structure this function?
 What do I call this variable?
Designing the Semester
Game
 Deliverable 1: four parts
1. Architecture

Major functions and what they will do
2. Data

See lecture from Oct. 3
3. Look and feel


Input
Output
4. Extensions

Optional (but you can’t add them later)
Where do you start?
 Most programs have some combination of three main parts:
For each week:
Input - choices
Processing - calculate outcomes
Computation
Output - display outcomes for each week
Output - display final outcomes
Program-level Design
Decisions
 In Processing, you have several defined functions you
can use:
 void setup ()
 void draw ()
 void mousePressed ()
 void keyPressed ()
 What parts of the architecture do you put in each of
these functions?
Design Decisions - Input
 How much do I control how the user enters input?
 Do I force the user to input the choices in a certain order?
 Do I force the user to enter all the choices for one week before going to
the next week?
 Do I let the user change their mind?
 What limits do I put on the values that can be entered?
 Upper and lower bounds
 Default values
 Granularity (integers vs. floats vs. controlled floats, e.g. in quarters of
hours)
 How do I capture the user’s input?
 Text fields vs. buttons vs. ???
 How do I do error checking?
 Check everything after the entire week has been entered, or after each
entry?
 How/when do I check if it adds up to 168, and what do I do if it doesn’t?
Design Decisions Processing
 How are the choices stored?
 Remember the hint from class on Oct. 3?
 Use semester game rules to write expressions for each
of the three outcomes
 Happiness
 Grades
 Wealth
 Create a function that returns a value to calculate each
outcome
 Be sure to store the outcomes by week
Design Decisions - Output
 This is the place to get creative!
 Need to show:
 The outcomes for each week
 The history of outcomes over past weeks
 The final outcomes
 Ideas?
Design Walkthrough
 Not required, but HIGHLY RECOMMENDED
 Before design deliverable is due, but after it is (nearly)
done
 Everyone on the team participates
 Invite your coach
 Walk through, together, all sections of the deliverable
 Make sure it makes sense to all team members
 Purposes:
 Catch errors
 Everyone must know enough to answer questions about
the deliverable
Design Deliverable
 Due BEFORE CLASS on October 22, 2013
 Late policy does not apply – NO LATE SUBMISSIONS!!
 Submit on Blackboard
 Submit one deliverable per team
 Be sure to put team name and team members on the
deliverable
 1-2 pages (could be more, but don’t go crazy)
 Follow the outline of the example
 We’ll schedule group interviews the week following
Download