IS313 Today: projects! AI? UI? Project plans I hope I'm involved! Role-based access control (James) PyGame - Snake! (Ivan, with SQL!) PyGame - Snake! (Sucheng,

Slides:



Advertisements
Similar presentations
KompoZer. This is what KompoZer will look like with a blank document open. As you can see, there are a lot of icons for beginning users. But don't be.
Advertisements

Microsoft ® Office PowerPoint ® 2003 Training Package to a CD Your STS, Tom Redd, presents:
AGENT TRAINING PowerPoint Basics. Goals: After today, you will be able to: Add new slides Add new slides Apply design templates Apply design templates.
CISB213 Human Computer Interaction Design Principles
Fall 2002CS/PSY Design of Everyday Things Agenda Discuss Norman’s views on HCI & design Discussion What did you take away from DOET book.
MICROCONTROLLED HOME Keith Jones EKU Deparment of Technology CEN.
Add Sound Effects to a Presentation Add sound effects to a presentation Course contents Overview: This sounds easy Lesson 1: Play a sound file Lesson.
Engineering H193 - Team Project Gateway Engineering Education Coalition P. 1Spring Quarter 2007 Week 8 Day 1 Notes on Individual Competition and Visual.
What is Interaction Design?. What is interaction design? Designing interactive products to support people in their everyday and working lives –Sharp,
Other Interaction Styles: Direct Manipulation, Haptic, Multimedia, Multimodal, Virtual Reality, Video Games Dr.s Barnes and Leventhal.
SE320: Introduction to Computer Games Week 8: Game Programming Gazihan Alankus.
Microsoft ® Office Word 2007 Training Mail Merge II: Use the Ribbon and perform a complex mail merge [Your company name] presents:
How to turn on the robot How to start Bluetooth How to connect to robot How to initialize the robot How to not break the robot Sec Getting Started.
Introduction to VBA. This is not Introduction to Excel We’re going to assume you have a basic level of familiarity with Excel If you don’t, or you need.
Every week: Sign in at the door If you are new: Fill in Registration Form Ask a Mentor how to get started Make sure you are on the Athenry Parents/Kids.
What can a good teacher do with a computer? (or 2 or 3)
CSCI 101 Introduction to Software Development and Design.
Website Designing Using Ms FrontPage FrontPage 2003 Create a Web site with FrontPage.
Ch 26 & 27 User Interfaces.
Microsoft ® Office 2007 Get up to speed with the 2007 system Murray State University College of Education:
People: Usability COMP 101 November 12, 2014 Carolyn Seaman Amanda Mancuso Susan Martin University of Maryland Baltimore County.
Microsoft Windows LEARNING HOW USE AN OPERATING SYSTEM 1.
Conceptual Models & Interface Metaphors. Objectives By the end of this class, you will be able to… Define conceptual model Identify instances where the.
GETTING STARTED 1. Click on the START menu and go up to UDT SOFTWARE, then drag over to Microsoft Office, and then down to Power Point 2. Select a theme.
I hope I'm involved! Dice (and RegDice!) (James) PyGame – Snake! (Mohammed Alateeq) PyGame – Tarot!! (Karen Sun) PyGame – Collector!!! (Baris A.) PyGame.
1 CS 106 Computing Fundamentals II Chapter 17 “Introduction To VBA” Herbert G. Mayer, PSU CS status 6/30/2013 Initial content copied verbatim from CS 106.
Introduction to Scratch!
CS 4720 Usability and Accessibility CS 4720 – Web & Mobile Systems.
What is an interface? How many different types of interfaces can you think of?
Mestrado em Informática Médica SIntS 13/14 – T5 Design Concepts Miguel Tavares Coimbra.
Putting together a complete system Chapter 10. Overview  Design a modest but complete system  A collection of objects work together to solve a problem.
User Interface Design Session 11- LBSC 790 / INFM 718B Building the Human-Computer Interface Cartoon removed.
Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 7: Focusing on Users and Their Tasks.
Art 315 Lecture 5 Dr. J. Parker AB 606. Last time … We wrote our first program. We used a tool called GameMaker. The program we wrote causes a ball to.
IS1811 Multimedia Development for Internet Applications Lecture 4: Introduction to HTML Rob Gleasure
“There Will Come Soft Rains” by Ray Bradbury
Software Development Process.  You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy.
Microsoft ® Office PowerPoint ® 2003 Training Create your own template [Your company name] presents:
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
More on Design of Everyday Things. Turn it up, or shut it down?
Making Python Pretty!. How to Use This Presentation… Download a copy of this presentation to your ‘Computing’ folder. Follow the code examples, and put.
Chapter 1: What is interaction design?. Bad designs From:
Interaction design Xiangming Mu.
MODUL 2: KEY POINTS IN DEVELOPING ANDROID APPS Studio Mobile Content Development IMTelkom 2012.
Unix Commands PowerPoint Presentation developed for LS 560 Information Technology online class - University of Alabama by Debey Sklenar TENacious Cohort.
The Software Development Process
Graphics Concepts CS 2302, Fall /17/20142 Drawing in Android.
Intermediate 2 Computing Unit 2 - Software Development.
1 Printing in Python Every program needs to do some output This is usually to the screen (shell window) Later we’ll see graphics windows and external files.
PROGRAMMING IN PYTHON LETS LEARN SOME CODE TOGETHER!
5 Event Handling Interactive Programming Suggested Reading Interaction: Events and Event Handling, Supplemental Text for CPSC 203 Distributed this term.
1- How to connect the robot to the pc Sec Getting Started 3- How to move the robot Sec Scribbler movements 4- How to make a turn 11- How to.
Introduction to TouchDevelop Lesson 3 – Comments & Lists Created by S. Johnson
Today's Ninja Challenge: Write Your First Computer Game!
Martin Norris Computing Teacher/Leader at Moldgreen Community Primary School, Huddersfield
FOP: Multi-Screen Apps
The CS 5 Sun Crushing Athletic Defeat
The Desktop Screen image displayed when a PC starts up A metaphor
Introduction to Event-Driven Programming
FOP: Buttons and Events
Create your Benner - intro
Year 7 E-Me Web design.
Lesson 1: Buttons and Events – 12/18
MonoGame and Windows 8.
Chapter 16 – Programming your App’s Memory
Explain what touch develop is to your students:
Design of Everyday Things
CS305, HW1, Spring 2008 Evaluation Assignment
Add some WordArt to your cover slide
Presentation transcript:

IS313 Today: projects! AI? UI? Project plans I hope I'm involved! Role-based access control (James) PyGame - Snake! (Ivan, with SQL!) PyGame - Snake! (Sucheng, James) PyGame - Bomberman Jetters! TextClouds (HsingHuei) TextClouds (Bridget and Laura) vPool (Igho and Yernur) (Congshan, Bill, Spencer) IT placement app (Phil, Tim, Hamdan)

IS313 Schedule Wednesday, Dec. 2 - Projects… ! Thursday, Dec. 3 - progress report due – with code Wednesday, Dec. 9 - In-class project presentations Thursday, Dec progress report due – with code Wednesday, Dec no class meeting Thursday, Dec Final project due! Wednesday, Dec Player class due (Hw #9)

What does this mean? 3P's: Projects

For tomorrow… What does this mean? (1) Get your libraries working! (2) preliminary planning (0) Choose your libraries…

What does this mean? (1) An introduction and overview of your progress… 3P's: Presentation certainly no expectations that things are complete! but they should be further along than preliminary

Example presentation with running commentary ! feel free to use these slides as a starting point (but it's by no means required!)

this does not seem very original! inspired by the three projects using PyGame (two 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 minutes since there are so many parenthetical comments!

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…

No one writes programs from scratch! Start with the example! (bouncing ball program) Work Approach Tinker: learning the library requires testing it out… Plan: best done as you tinker… You can probably leave this slide out!

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 ?!?

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: 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

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 =

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:

Details How did these checkerboard patterns arise? 2d lists are used to create patterns of different color surfaces… Look familiar?

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?

Snake motion It'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!

Snake control It'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!

Key class It'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…

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!

Still to go… What are you planning on implementing before the final version? Sound Need examples AI mode I 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…

Examples! other resources

Problems encountered? Aargh! error messages too much spam!

Design question… That's me! Which of these steps took the most time?

End of example presentation Phew!

For next Thursday…

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!

User Inferfaces No undo! % ls file1.txt file2.txt file3.txt ! % rm *! (long pause…)

Design for software and beyond 0. Conceptual models 1. Mapping 2.Visibility 3.Feedback 4.Affordances Don Norman's key principles:

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!

Mapping is matching expected (spatial) relationships Where to plug in the keyboard and mouse? ?

Visibility is making functionality apparent Shower? Slide projector … From: "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

Feedback providing information back to the user from the UI Hall of Shame Microsoft Access Microsoft Outlook But some of us graphics aren't so lazy!

Affordances are the functions that form suggests… Opening the XO? Door handles built-in user's manual

Where do these go wrong? Mapping How to open this gas cap? VisibilityFeedbackAffordances This handle unfastens the seat from the floor. How to turn on this stove? Set to 5 minutes? Win NT Dialog

The designers aren't the users…

Lab / project … Remember: preliminary.zip is due tomorrow evening…

Thinking about User Interfaces Command LineTablet / Touch

Ambient Information

Display Walls

Thinking about User Interfaces What other types of human/computer interfaces can you think of? #1 WIMPWIMP indows cons enus ointer GUI

Affordances ~ physical and cultural expectations 0. Conceptual models 1. Mapping Matching user expectations e.g., Directory structures Visibility and Feedback Banks of glass doors Slide projector Affordances The functions that form suggests! Phone settings

Why is this a better design?

Keypad numbers layout A case of external inconsistency (a) phones, remote controls(b) calculators, computer keypads

The project ideas… Projects! show text clouds ! local server…

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)

The project ideas… Projects! show text clouds ! local server…

Physical Affordances

What do the Zune wheel and the door handle have in common?

Virtual Affordances Click Me

"Quiz" Name(s): Note the perceived affordances in this interface. Are there any that are missing? Misleading?