Lab 10: Project and Code Organization User Interface Lab: GUI Lab Oct. 18 th, 2014.

Slides:



Advertisements
Similar presentations
Lab 10: Images and Skinning, Sound and Assets User Interface Lab: GUI Lab Oct. 30 th, 2013.
Advertisements

Lecture 4 Basic Scripting. Administrative  Files on the website will be posted in pdf for compatibility  Website is now mirrored at:
Event Driven Programming and GUIs Part 3 CS221 – 4/15/09.
SNOWFLAKE By: Caralynne Daigle COS /14/06. Project Description My project was to originally have the user be able to create their own snowflake.
1 Data Analysis Framework for DHC Tower Update - 07/28/2003 Kurt Francis - Northern Illinois University.
Alice Variables Pepper. Set to Java look Edit / preferences restart.
CS503: Tenth Lecture, Fall 2008 Review Michael Barnathan.
From Scenarios to Paper Prototypes Chapter 6 of About Face Defining requirements Defining the interaction framework.
MVC Fall 2005 OOPD John Anthony. Design Patterns The hard problem in O-O programming is deciding what objects to have, and what their responsibilities.
13-Jul-15 Effective Programming. “The new US stealth fighter, the F-22 Raptor, was deployed for the first time to Asia earlier this month. On Feb. 11,
1 Flash Programming Introduction Script Assist. 2 Course Description This course concentrates on the teaching of Actionscript, the programming language.
Software Development, Programming, Testing & Implementation.
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
Graphical User Interfaces A Quick Outlook. Interface Many methods to create and “interface” with the user 2 most common interface methods: – Console –
Adding Controls to User Forms. Adding Controls A user form isn’t much use without some controls We’re going to add controls and write code for them Note.
Java Swing - Lecture 1 An Introduction Milena Radenkovic slides originally by Chris Coleman.
As you arrive… Get you laptop out and get ready to program some python Go to the course website and load all the example programs that are posted there.
Introduction to Graphical User Interfaces. Objectives * Students should understand what a procedural program is. * Students should understand what an.
Peter Andreae Computer Science Victoria University of Wellington Copyright: Peter Andreae, Victoria University of Wellington Summary and Exam COMP 102.
What is Software Testing? And Why is it So Hard J. Whittaker paper (IEEE Software – Jan/Feb 2000) Summarized by F. Tsui.
JavaScript Lecture 6 Rachel A Ober
Car Rental DB Explained. RHS – Car Rental DB Explained The application demonstrates the Model- View-Controller (MVC) pattern The user can –Add.
How to read at a university research level LO Storyboard.
Computing Science 1P Lecture 18: Friday 2 nd March Simon Gay Department of Computing Science University of Glasgow 2006/07.
17-Oct-15 Refactoring. 2 Refactoring is: restructuring (rearranging) code......in a series of small, semantics-preserving transformations (i.e. the code.
My Future By: Gregorey Lancaster. My College- Florida State University  After getting accepted, I’ve decided to go to Florida State University, one of.
Searching for training offers by competency name Log into My Learning Link, go to My Account 1.
InfoBox A Personal Information Manager Built with Ruby on Rails Dustin Martin.
Software Quality Assurance WELCOME Graphic User Interface Testing.
1 CSC 222: Object-Oriented Programming Spring 2012 netBeans & GUIBuilder  netBeans IDE create/edit/run a project  GUIBuilder JFrame, JButton, JTextField,
Model View Controller A Pattern that Many People Think They Understand, But Has A Couple Meanings.
Making Python Pretty!. How to Use This Presentation… Download a copy of this presentation to your ‘Computing’ folder. Follow the code examples, and put.
Computer Science and Software Engineering© 2014 Project Lead The Way, Inc. HTML5 Evolving Standards JavaScript.
Graphical User Interface You will be used to using programs that have a graphical user interface (GUI). So far you have been writing programs that have.
Lab 11: Animation User Interface Lab: GUI Lab Nov. 6 th, 2013.
OARN Database UPDATE – SEPTEMBER We’re Live – and Testing  The site is up and running in Google’s data centers:  The site has been secured: 
Using Google Drive in the Classroom Jacquelyn Chappel HIS Gone WILD Sat., Mar. 8, 2014.
CIS Intro to JAVA Lecture Notes Set July-05 GUI Programming –TextField Action Listeners, JEditorPane action listeners, HTML in a JEditorPane,
CS 180 Problem Solving and Object Oriented Programming Fall 2010 Notes for Week 10: Oct 25-29, 2010 Aditya Mathur Department of Computer Science Purdue.
CIT 590 Intro to Programming Lecture 10 (object oriented programming)
Becca Nelson Final Project for TechMission Corps 7/12/2010.
12-Jun-16 Event loops. 2 Programming in prehistoric times Earliest programs were all “batch” processing There was no interaction with the user Input Output.
Learning to use a ‘For Loop’ and a ‘Variable’. Learning Objective To use a ‘For’ loop to build shapes within your program Use a variable to detect input.
Lab 7: Midsemester Checkpoint User Interface Lab: GUI Lab Oct. 9 th, 2013.
CSC 222: Object-Oriented Programming
FOP: Buttons and Events
Event loops 16-Jun-18.
Model-View-Controller Design Pattern
Accidental and Essential Problems Excise Tasks
He Is Able.
Event loops.
Building Graphical User Interface with Swing a short introduction
Assignment 4 For this assignment refer to the notes on MATLAB from an MIT course that you can find here (or at the original website, lectures 14, 15, 16).
Model-View-Controller
Ship Harbor Model Department of Computer Science University of Karachi
Event loops 17-Jan-19.
Event loops 17-Jan-19.
Week 6: Time and triggers!
1 To go to the next slide, click this button instead. A random slide will come up.
Event loops 8-Apr-19.
11. MVC SE2811 Software Component Design
11. MVC SE2811 Software Component Design
Event loops.
Let us Flex our Gooey Guis, Sire
CHAPTER FOUR VARIABLES AND CONSTANTS
Event loops.
Event loops 19-Aug-19.
TA: Nouf Al-Harbi NoufNaief.net :::
Presentation transcript:

Lab 10: Project and Code Organization User Interface Lab: GUI Lab Oct. 18 th, 2014

Project 4 Due Thursday Any questions?

Organizing a Project So far we’ve mostly covered how to do things I’ve mostly left out the why to do things

My Tips for Organizing a Project Things that I do How I designed the projects (Mostly) best practices I’ve never actually taken a software engineering course

Project Process 1.Sketch out the interface 2.Define the interface’s parts 3.Define the states and transitions for each part 4.Stub out each part/state 5.Flesh out the parts and build features

Project Process 1.Sketch out the interface 1.What does the user need to be able to do? 2.What affordances do they need to able to do those things?

Project Process 2.Define the parts of the interface 1.How should my affordances be organized? 2.Separate your concerns 3.What things does the user need to do a lot? What do they do every so often?

Project Process 3.For each part 1.What actions does this part perform? 1.what does it need to know about to do those? 2.What are the parameters to the actions? 3.Are the actions prefix/postfix/infix? 2.What states does this part go through? 3.What causes the change between those states? 1.What events would cause changes in state?

Project Process 4.Stub out each part 1.Are there primitives (buttons, text fields, form inputs) that can accomplish this part for me? 2.What data do I need to represent a state? 1.What goes in the model? (MVC) 2.Do states share data? (probably) 3.What functions will the state need to function? 1.What events drive these functions? 2.What parameters do these functions need?

Random Notes 1.How things relate to each other is more important than how they work in isolation 2.Look for places you are writing the same code a lot, can you put that common code in a function? 3.Think about actions in terms of frames instead of smooth action 1.what events drive the continuation of an action

Random Notes 1.Write like someone else will have to read your code (it will probably be you) 2.Write like your worst enemy will try to use your code to destroy you (this is called a user)

Questions?