120 likes | 259 Views
Design IS 101Y/CMSC 101 Computational Thinking and Design Tuesday, October 15, 2013 Carolyn Seaman University of Maryland, Baltimore County. Midterm Preparation. All assigned class material is fair game: Assigned readings from the three textbooks (St. Amant , Processing, MYM)
E N D
DesignIS 101Y/CMSC 101Computational Thinking and DesignTuesday, October 15, 2013Carolyn SeamanUniversity 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 November 1, 2013 • Final Presentation on November 7, 2013 • Final submission due BEFORE CLASS on November 7 • 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 • Designis 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 • Architecture • Major functions and what they will do • Data • See lecture from Oct. 3 • Look and feel • Input • Output • 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 Input - choices Computation Computation - calculate outcomes Output Output - display outcomes 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