is313 today: projects!
DESCRIPTION
IS313 Today: projects!. Project plans. AI?. VPool (Jonathan). I hope I'm involved!. Picobot! (Michael). Go (Charles). Dice (and RegDice!) (James). PyGame – Snake! (Mohammed Alateeq). PyGame – Tarot!! (Karen Sun). PyGame – Collector!!! (Baris A.). - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/1.jpg)
IS313 Today: projects!
AI?
UI?
Project plansI hope I'm involved!
Dice (and RegDice!) (James)
PyGame – Snake! (Mohammed Alateeq)
PyGame – Tarot!! (Karen Sun)
PyGame – Collector!!! (Baris A.)
PyGame – Pong!!!! (Sarah A.)
PyGame – PicoGirl!!!!! (Maria A.)
Go (Charles)
Restaurant rating/Django (Peter)
Tic-tac-toe player (Payal)
Scholarship survey (Zara, Roni, Joanne)+map-based writing prompt
Picobot! (Michael)
Mystery (M. Alyami & Abdul A.)
VPool (Jonathan)
Kyle (Tea-file documentation)
Google event tracker (Joe)
SillyLibs! (Amin and Mohammad)
Binary object DB (Jeff w/Twitter + OCR)
![Page 2: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/2.jpg)
Thanks to Kyle… !
![Page 3: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/3.jpg)
IS313 Schedule
Monday, Nov. 29 - no class meeting...
Wednesday, Dec. 1 - preliminary.zip due ...
Monday, Dec. 6 - in-class project presentations...
Monday, Dec. 13 - no formal class meeting
Tuesday, Dec. 7 - intermediate.zip due ...
Friday, Dec. 17 - project.zip due ...
![Page 4: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/4.jpg)
What does this mean?
1st of 3P's: Project preliminaries
![Page 5: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/5.jpg)
What does this mean?(1) Get your libraries working!
(2) preliminary programming
(0) Choose your libraries…
For Dec. 1st…
![Page 6: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/6.jpg)
Getting started !
Feel free to use existing code...
www.cs.hmc.edu/twiki/bin/view/CS5/GoldRobots2010
VPython/VPool starting code...
+ be sure to explain how you've extended it, too...
![Page 7: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/7.jpg)
What does this mean?
(1) An introduction and overview of your progress…
2nd of 3P's: Presentation
certainly no expectations that things are complete!
but they should be further along than preliminary
![Page 8: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/8.jpg)
Example presentation
with running commentary !
feel free to use these slides as a starting point (but it's by no means required!)
![Page 9: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/9.jpg)
this does not seem very original!
inspired by the three projects using PyGame
(one of which are implementing a Snake game!)
Project:
PySnake!
I usually imagine about 1 slide per minute, but this van vary considerably… Also, this will be longer than 10
minutes since there are so many parenthetical comments!
![Page 10: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/10.jpg)
My goal is at least one picture per slide
PyGame: multi-platform (and means it!)
Libraries
Features: classes for 2d single-screen game support
Fun: supports sounds and game controllers, as well…
Resorting to unrelated pictures only when absolutely necessary…
but needs Python 2.6
![Page 11: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/11.jpg)
No one writes programs from scratch!
Start with the example! (bouncing ball program)
Work Approach
Tinker: learning the library requires testing it out…
Planning: adjust this as you tinker…
You can probably
leave this slide out!
www.pygame.org/docs/tut/intro/intro.html
Your project: will need to extend any starter code...
![Page 12: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/12.jpg)
Reading the FAQ and other online resources is a great place to start!
Suggestions?
Having a ball…
This is an interesting piece of advice… who wrote this ?!?
![Page 13: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/13.jpg)
To go from Bouncing Ball to Snake!
Game Plan
Data structures:
There is always a set of data structures that
represents your application…
Describing these data structures is the
application design - or your "game plan" - especially when the
application is a game!
Inspiration:http://www.cs.hmc.edu/~cs60grad/Spampede/
http://www.cs.hmc.edu/~cs60grad/Spampede/Spring02/btagiku6
A 2d list of cells - similar to the game of life - each of which might have
a wall
empty space
food!
[ [ 1, 1, 1, 1, 1, … ], [ 1, 0, 0, 3, 4, … ], [ 1, 0, 2, 0, 0, … ], … ]
body and head
![Page 14: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/14.jpg)
Design Where possible, include details…
Challenge:
How to display a gameboard cell?
Thus, the game knows what to color each cell based on the gameboard's contents…
empty space is 0
[ [ 1, 1, 1, 1, 1, … ], [ 1, 0, 0, 3, 4, … ], [ 1, 0, 2, 0, 0, … ], … ]
food is 2
gameboard =
![Page 15: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/15.jpg)
Details Something about the library that required some work to
figure out!
Challenge:How about more than one!
To create a region of color, you blit an object of the Surface class
Result:
![Page 16: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/16.jpg)
DetailsHow did these checkerboard
patterns arise?
2d lists are used to create patterns of different color surfaces…
Look familiar?
![Page 17: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/17.jpg)
Walls and the Snake
That snake looks like it's in trouble!
The edges are set to be walls, and the snake is started in the upper left…
Problems?
![Page 18: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/18.jpg)
Snake motionIt's always better to use descriptive
variable names!
The snake has one of five directions:
NORTH = ( -1, 0 )
something's missing…
SOUTH = ( +1, 0 )
WEST = ( 0, -1 )
EAST = ( 0, +1 )
STOPPED = ( 0, 0 ) This makes it easy to go
diagonally in the future, if we want to!
![Page 19: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/19.jpg)
Snake controlIt's always better to use descriptive
variable names!
Need to use the kbd
NORTH = ( -1, 0 )
Crash!
SOUTH = ( +1, 0 )
WEST = ( 0, -1 )
EAST = ( 0, +1 )
STOPPED = ( 0, 0 ) This makes it easy to go
diagonally in the future, if we want to!
![Page 20: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/20.jpg)
Key classIt's always better to use descriptive
variable names!
Need to use the kbd
NORTH = ( -1, 0 )
SOUTH = ( +1, 0 )
WEST = ( 0, -1 )
EAST = ( 0, +1 )
STOPPED = ( 0, 0 )
Note that capital Q is tricky to specify…
![Page 21: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/21.jpg)
Key feature
Good variable names make the code self-documenting!
Response to food!
Snake = [ (1,1), (1,2) ]A list keeps track of the cells in the
Snake.
Response to walls and other
obstacles!
What should happen here?
Demo!
![Page 22: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/22.jpg)
Still to go…What are you planning on
implementing before the final version?
Sound Need examples
AI modeI don't want to take time to play the game …
let's have the computer play it for me!
More than simple cells of color
BIGGER!
Done!
Not done…
![Page 23: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/23.jpg)
Examples!
other resources
![Page 24: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/24.jpg)
Problems encountered? Aargh!
error messages
too much spam!
![Page 25: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/25.jpg)
Design question… That's me!
Which of these steps took the most time?
![Page 26: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/26.jpg)
End of example presentationPhew!
![Page 27: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/27.jpg)
ePortfolios…
1. Post your final project on your ePortfolio page in a .zip file
2. Include on the page a text description of
• What it does
• What software prerequisites it needs (libraries, Python)
• How to run it
• What you would add if you had more time
about a paragraph each
The 3rd P!
![Page 28: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/28.jpg)
because software designers aren't the main users…
User interfaces are more difficult than they might seem...
![Page 29: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/29.jpg)
User Inferfaces
No undo!
% ls
file1.txt file2.txt
file3.txt |
% rm *|
(long pause…)
![Page 30: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/30.jpg)
Design for software and beyond
0. Conceptual
models
1. Mapping
2. Visibility
3. Feedback
4. Affordances
Don Norman's key principles:
![Page 31: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/31.jpg)
Conceptual Models
Users always bring something "to the table"
these don't work!
Images from The Design of Everyday Things
Ony a human would think of
these!
![Page 32: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/32.jpg)
Mapping
is matching expected (spatial) relationships
Where to plug in the keyboard and mouse?
?
![Page 33: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/33.jpg)
Visibility
is making functionality apparent
Shower?Slide projector…
From: www.baddesigns.com
"I used to have that awful shower controller where you pull down on the nozzle to turn it on. I had to tell every guest how to do it, and when we sold our house, we got a call from the new owners about 5 days later asking how to turn on the shower. They had been taking baths for 5 days! Unbelievable." - BL
![Page 34: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/34.jpg)
Feedback
providing information back to the user
from the UI Hall of Shame
Microsoft Access
Microsoft Outlook
http://homepage.mac.com/bradster/iarchitect/shame.htmBut some of us graphics aren't so lazy!
![Page 35: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/35.jpg)
Affordances
are the functions that form suggests…
Opening the XO? Door handles
built-in user's manual
![Page 36: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/36.jpg)
Where do these go wrong?Mapping
How to open this gas cap?
Visibility Feedback Affordances
This handle unfastens the seat from the
floor.
How to turn on this stove?
Set to 5 minutes?
Win NT Dialog
![Page 37: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/37.jpg)
Lab / project …
preliminary.zip is due Dec. 1st!
Have a great Thankgiving weekend!
Remember: We do not meet on Mon., Nov. 29th...
![Page 38: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/38.jpg)
Thinking about User Interfaces
Command Line Tablet / Touch
![Page 39: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/39.jpg)
Ambient Information
![Page 40: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/40.jpg)
Display Walls
![Page 41: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/41.jpg)
Thinking about User Interfaces
What other types of human/computer interfaces can you think of?
#1 WI
MP
indowsconsenusointer
GUI
![Page 42: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/42.jpg)
Affordances~ physical and cultural expectations
0. Conceptual models 1. Mapping
Matching user expectations e.g., Directory structures
Visibility and Feedback
Banks of glass doorsSlide projector
Affordances The functions that form suggests! Phone settings
![Page 43: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/43.jpg)
Why is this a better design?
![Page 44: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/44.jpg)
Keypad numbers layout
• A case of external inconsistency
1 2 34 5 6
7 8 9
7 8 9
1 2 3
4 5 6
0 0
(a) phones, remote controls(b) calculators, computer keypads
![Page 45: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/45.jpg)
The project ideas…
Projects!
show text clouds !
local server…
![Page 46: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/46.jpg)
Affordances: to give a clue• Affordances: The perceived and actual properties of an object that signal of the object can be used (from The Design of Everyday Things)
![Page 47: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/47.jpg)
The project ideas…
Projects!
show text clouds !
local server…
![Page 48: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/48.jpg)
Physical Affordances
![Page 49: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/49.jpg)
Physical Affordances
What do the Zune wheel and the door handle have in common?
![Page 50: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/50.jpg)
Virtual AffordancesClick Me Click Me
![Page 51: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/51.jpg)
"Quiz"
Name(s):
Note the perceivedaffordances inthis interface.Are there anythat are missing?Misleading?
![Page 52: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/52.jpg)
For next Thursday…
![Page 53: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/53.jpg)
For Dec. 1st…
What does this mean?
(1) Get your libraries working!
(2) preliminary planning
(0) Choose your libraries…
![Page 54: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/54.jpg)
For Dec. 1st…
What does this mean?
(1) Get your libraries working!
(2) preliminary planning
(0) Choose your libraries…
![Page 55: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/55.jpg)
IS313 Today: projects!
AI?
UI?
Project plansI hope I'm involved!
Dice (and RegDice!) (James)
PyGame – Snake! (Mohammed Alateeq)
PyGame – Tarot!! (Karen Sun)
PyGame – Collector!!! (Baris A.)
PyGame – Pong!!!! (Sarah A.)
PyGame – PicoGirl!!!!! (Maria A.)
Go (Charles)
Restaurant rating/Django (Peter)
Tic-tac-toe player (Payal)
Scholarship survey (Zara, Roni, Joanne)+map-based writing prompt
Picobot! (Michael)
Mystery (M. Alyami & Abdul A.)
VPool (Jonathan)
Kyle (Tea-file documentation)
Google event tracker (Joe)
SillyLibs! (Amin and Mohammad)
Binary object DB (Jeff w/Twitter + OCR)
![Page 56: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/56.jpg)
IS313 Schedule
Monday, Nov. 29 - no class meeting...
Wednesday, Dec. 1 - preliminary.zip due ...
Monday, Dec. 6 - in-class project presentations...
Monday, Dec. 13 - no formal class meeting
Tuesday, Dec. 7 - intermediate.zip due ...
Friday, Dec. 17 - project.zip due ...
![Page 57: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/57.jpg)
What does this mean?(1) Get your libraries working!
(2) preliminary programming
(0) Choose your libraries…
For Dec. 1st…
![Page 58: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/58.jpg)
Getting started !
Feel free to use existing code...
www.cs.hmc.edu/twiki/bin/view/CS5/GoldRobots2010
VPython/VPool starting code...
+ be sure to explain how you've extended it, too...
![Page 59: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/59.jpg)
What does this mean?
(1) An introduction and overview of your progress…
2nd of 3P's: Presentation
certainly no expectations that things are complete!
but they should be further along than preliminary
![Page 60: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/60.jpg)
Example presentation
with running commentary !
feel free to use these slides as a starting point (but it's by no means required!)
![Page 61: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/61.jpg)
this does not seem very original!
inspired by the three projects using PyGame
(one of which are implementing a Snake game!)
Project:
PySnake!
I usually imagine about 1 slide per minute, but this van vary considerably… Also, this will be longer than 10
minutes since there are so many parenthetical comments!
![Page 62: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/62.jpg)
My goal is at least one picture per slide
PyGame: multi-platform (and means it!)
Libraries
Features: classes for 2d single-screen game support
Fun: supports sounds and game controllers, as well…
Resorting to unrelated pictures only when absolutely necessary…
but needs Python 2.6
![Page 63: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/63.jpg)
No one writes programs from scratch!
Start with the example! (bouncing ball program)
Work Approach
Tinker: learning the library requires testing it out…
Planning: adjust this as you tinker…
You can probably
leave this slide out!
www.pygame.org/docs/tut/intro/intro.html
Your project: will need to extend any starter code...
![Page 64: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/64.jpg)
Reading the FAQ and other online resources is a great place to start!
Suggestions?
Having a ball…
This is an interesting piece of advice… who wrote this ?!?
![Page 65: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/65.jpg)
To go from Bouncing Ball to Snake!
Game Plan
Data structures:
There is always a set of data structures that
represents your application…
Describing these data structures is the
application design - or your "game plan" - especially when the
application is a game!
Inspiration:http://www.cs.hmc.edu/~cs60grad/Spampede/
http://www.cs.hmc.edu/~cs60grad/Spampede/Spring02/btagiku6
A 2d list of cells - similar to the game of life - each of which might have
a wall
empty space
food!
[ [ 1, 1, 1, 1, 1, … ], [ 1, 0, 0, 3, 4, … ], [ 1, 0, 2, 0, 0, … ], … ]
body and head
![Page 66: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/66.jpg)
Design Where possible, include details…
Challenge:
How to display a gameboard cell?
Thus, the game knows what to color each cell based on the gameboard's contents…
empty space is 0
[ [ 1, 1, 1, 1, 1, … ], [ 1, 0, 0, 3, 4, … ], [ 1, 0, 2, 0, 0, … ], … ]
food is 2
gameboard =
![Page 67: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/67.jpg)
Details Something about the library that required some work to
figure out!
Challenge:How about more than one!
To create a region of color, you blit an object of the Surface class
Result:
![Page 68: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/68.jpg)
Walls and the Snake
That snake looks like it's in trouble!
The edges are set to be walls, and the snake is started in the upper left…
Problems?
![Page 69: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/69.jpg)
Key classIt's always better to use descriptive
variable names!
Need to use the kbd
NORTH = ( -1, 0 )
SOUTH = ( +1, 0 )
WEST = ( 0, -1 )
EAST = ( 0, +1 )
STOPPED = ( 0, 0 )
Note that capital Q is tricky to specify…
![Page 70: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/70.jpg)
Still to go…What are you planning on
implementing before the final version?
Sound Need examples
AI modeI don't want to take time to play the game …
let's have the computer play it for me!
More than simple cells of color
BIGGER!
Done!
Not done…
![Page 71: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/71.jpg)
Examples!
other resources
![Page 72: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/72.jpg)
Problems encountered? Aargh!
error messages
too much spam!
![Page 73: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/73.jpg)
End of example presentationPhew!
![Page 74: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/74.jpg)
ePortfolios…
1. Post your final project on your ePortfolio page in a .zip file
2. Include on the page a text description of
• What it does
• What software prerequisites it needs (libraries, Python)
• How to run it
• What you would add if you had more time
about a paragraph each
The 3rd P!
![Page 75: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/75.jpg)
because software designers aren't the main users…
User interfaces are more difficult than they might seem...
![Page 76: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/76.jpg)
Design for software and beyond
0. Conceptual
models
1. Mapping
2. Visibility
3. Feedback
4. Affordances
Don Norman's key principles:
![Page 77: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/77.jpg)
Mapping
is matching expected (spatial) relationships
Where to plug in the keyboard and mouse?
?
![Page 78: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/78.jpg)
Visibility
is making functionality apparent
Shower?Slide projector…
From: www.baddesigns.com
"I used to have that awful shower controller where you pull down on the nozzle to turn it on. I had to tell every guest how to do it, and when we sold our house, we got a call from the new owners about 5 days later asking how to turn on the shower. They had been taking baths for 5 days! Unbelievable." - BL
![Page 79: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/79.jpg)
Feedback
providing information back to the user
from the UI Hall of Shame
Microsoft Access
Microsoft Outlook
http://homepage.mac.com/bradster/iarchitect/shame.htmBut some of us graphics aren't so lazy!
![Page 80: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/80.jpg)
Affordances
are the functions that form suggests…
Opening the XO? Door handles
built-in user's manual
![Page 81: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/81.jpg)
Where do these go wrong?Mapping
How to open this gas cap?
Visibility Feedback Affordances
This handle unfastens the seat from the
floor.
How to turn on this stove?
Set to 5 minutes?
Win NT Dialog
![Page 82: IS313 Today: projects!](https://reader035.vdocuments.site/reader035/viewer/2022062409/56815170550346895dbfa548/html5/thumbnails/82.jpg)
Lab / project …
preliminary.zip is due Dec. 1st!
Have a great Thankgiving weekend!
Remember: We do not meet on Mon., Nov. 29th...