COMP390 (Design &) Implementation

Size: px
Start display at page:

Download "COMP390 (Design &) Implementation"

Transcription

1 COMP390 (Design &) Implementation A rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (With thanks to Dave Shield)

2 Design & Implementation What are we going to look at this morning? Modularity UI Design Top Down Design Testing & Debugging Timetabling Partial Completion Documentation Communication

3 UI Design I For those projects that have a UI Most clients consider UI above every other aspect of your project. It is the single aspect of your project to which the client and others are exposed. Your client doesn t usually care if your code is efficient (we do of course). If your program is unnecessarily hard to use, then it is unlikely to be used by your client.

4 UI Design II How can I be certain my UI is appropriate and easy to use? Develop prototypes early on in the project and give these to the client to obtain feedback Prototypes can be drawings, web pages or simple programs with little or no underlying functionality Get feedback early (and often) - before you have written much/any other code. Once the code is working, watch users attempting to use your software.

5 UI Design III What are some of the typical UI design errors? solutions that do not scale appropriately

6 UI Design III What are some of the typical UI design errors? Use of inappropriate technical detail

7 UI Design III What are some of the typical UI design errors? use of jargon / human-unfriendly text

8 UI Design III What are some of the typical UI design errors? use of jargon / human-unfriendly formats/text

9 UI Design III What are some of the typical UI design errors? giving the user unhelpful help...

10 UI Design III What are some of the typical UI design errors? giving the user unhelpful help...

11 UI Design IV What are some of the typical UI design errors? confusing the user

12 UI Design Prototype as soon as you can. Get Feedback - lots of it Watch people use your interface and see where they fail, or make mistakes Think about how your users think Think about the language they use If you have to present an error message, also provide a simple solution (if you can).

13 The Design Document COMP390 Guidelines suggest what to include in the document Remember that not all of the items listed will be relevant to your specific project e.g. Research project vs an App Development project Decide what is appropriate Consult your Supervisor if you can t figure it out yourself Don t just throw everything into the report!

14 A Useful Quote In 1989, Rick Cook wrote: Programming today is a race between software engineers striving to build bigger and better idiotproof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning.

15 Top Down Design Make a hard task simpler Turn a big problem into lots of little easier pieces (aka modules) If you re not sure what to do now, decide what to do next Never do today, what you can put off until tomorrow

16 Testing & Debugging Test each module individually If things work individually they ll probably work together If not its easier to fix one or two small modules Write tests for a module as you go along

17 Testing & Debugging Keep testing Test Harness Extend the tests as you uncover problems Don t leave testing until the end Test in the final environment Don t assume if it works on your laptop it ll work here

18 Testing & Debugging What do I do when my program stops working? Does your development system support a real debugger? No debugger? What tricks can be employed to assist debugging?

19 Testing & Debugging Real Debugger step through code - check variable values etc. (remember COMP103?) Set breakpoints Modify values live to test conditional code Difficult to debug real-time, asynchronous or interactive code

20 Testing & Debugging No debugger? Don t Panic! Add output statements to your code - display the values of variables, your sql queries... Set variables to fixed values to test conditional code Dump output into files to view when done. (like an audit trail after the event) Run your code on the command line and see what happens (errors are more direct) Check log files for hidden warnings and errors Write a mini program to test your code Use a Swift Playground to test code

21 Testing & Debugging - example 1

22 Testing & Debugging - example 1 Web access log-file output:

23 Testing & Debugging - example 1 php program run on command line:

24 Testing & Debugging - example 1

25 Testing & Debugging - example 1

26 Testing & Debugging - example 2

27 Testing & Debugging - example 2

28 Testing & Debugging - example 2

29 Testing & Debugging - example 2

30 Testing & Debugging - example 2

31 Testing & Debugging - example 2

32 Testing & Debugging - example 2

33 Testing & Debugging - example 2

34 Timetabling Modules help in drawing up a timetable January February March April May think up great ios app learn Swift Design UI Code & test Adjust the timetable if necessary Sell app & retire January February March April May think up great ios app learn Swift Design UI Code & test Sell app & retire

35 Partial Completion If you run out of time prioritise and complete selected modules You can show those completed modules Half a program that works - ok to demo A program that half works - much less use

36 Functional Modularity Web Form SQL query Database Results e.g. Web-fronted database Web interface Database backend Customer view Administration view Develop separately then combine

37 Model / View / Controller Separates the underlying data representations from the input and output modules Changes in one don t necessarily require changes in the other Modules have well defined APIs of course if the interfaces change, then all affected modules must also be modified

38 Prototyping Web Form SQL query Database Results Prototype the form and output - get feedback from users e.g. use fixed results to illustrate the interface Don t need to query the database initially - we may not even have a DB or real data yet! Simulate real code behind the scenes

39 Design Changes Full catalogue Special offers SQL query Database Results Feedback from prototypes likely to lead to changes to original design Modular design limits the pain - just the affected modules If you had developed everything prior to first test - potentially lots to modify! Get feedback as soon as you can!

40 Maintenance Web Form if things need to be changed SQL query Oracle mysql Results

41 Maintenance Web Form when things need to be changed modular design limits the pain SQL query Oracle mysql Results

42 A Useful Historical Quote No plan survives contact with the enemy - Helmuth von Moltke the Elder Applies just as much to application development as it does to war.

43 Change DBMS (maintenance) Which program is easier to switch to another DB? $x = mysql_query($query); $z = mysql_fetch_row($result); $this = mysql_query($query2); $that = mysql_query($query4); $y2 = mysql_fetch_row($result3); $z = mysql_query($query1); $t = mysql_query($query5); // etc. $x = doquery($query); $z = dofetch_row($result); $this = doquery($query2); $that = doquery($query4); $y2 = dofetch_row($result3); $z = doquery($query1); $t = doquery($query5); //etc. function doquery($q) { return mysql_query($q); } // function dofetch_row($r) // etc.

44 Change DBMS (maintenance) Which is easier to debug? $x = mysql_query($query); $z = mysql_fetch_row($result); $this = mysql_query($query2); $that = mysql_query($query4); $y2 = mysql_fetch_row($result3); $z = mysql_query($query1); $t = mysql_query($query5); //etc. $x = doquery($query); $z = dofetch_row($result); $this = doquery($query2); $that = doquery($query4); $y2 = dofetch_row($result3); $z = doquery($query1); $t = doquery($query5); //etc. function doquery($q) { return mysql_query($q); echo $q. <br>\n ; } // function dofetch_row($r) // etc.

45 Maintenance Write it twice Second revision is invariably better Rewriting a module is realistic Rewriting a whole program usually isn t

46 Choice of Development Environment For many projects - don t need to decide up front Usually has minimal impact on design, though language special features may affect things. Design should drive development choices (not the other way round)

47 Choice of Development Environment Modularity allows easy change A clean design is adaptable Web interface / Standalone app Same underlying processing Just a different interface

48 Development Environment Considerations What do you already have experience of? What would you like experience of? What is available to you? What is available to the client? What can the client support? What is suitable for the task? Be prepared to defend your choice (don t just choose something on a whim)

49 It s worth 65%!! Documentation I ve only got 2 weeks to write it! Write down everything you re doing Write it down now! Yes everything! Don t forget to write the why s Write a daily log consisting of things you did and things you learned Much easier to take existing material and edit and filter it than to write from scratch

50 Revision Control It used to work, now something s changed and it s broken Regular snapshots Full revision control - snapshots of all changes Essential for collaborative work Continuous documentation!

51 Communication Talk to your client Talk to each other Talk to the tech staff (they are your friends) Don t feel you have to do it all alone It s ok to consult / research / borrow But you must reference stuff you got elsewhere Well, most of them are...

52 Communication Tech staff can help you with more information on detailed topics - each of them has expertise in specific areas Don t be afraid to ask for assistance (the setup here may be different from elsewhere e.g. your laptop - so test it here as well as on your laptop!)

53 and finally... You can go to any Help Desk session for help with Honours Projects If they can t help you directly, they will attempt to point you in the right direction (to the right person or the right bit of the web!)

54 The End

COMP390 (Design &) Implementation

COMP390 (Design &) Implementation COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features

More information

COMP390 (Design &) Implementation

COMP390 (Design &) Implementation COMP390 (Design &) Implementation Phil (& Dave s) rough guide Consisting of some ideas to assist the development of large and small projects in Computer Science (and a chance for me to try out some features

More information

learn programming the right way

learn programming the right way Coding 101 learn programming the right way 1 INTRODUCTION Before you begin learning how to code, it s first useful to discuss why you would want to learn web development. There are lots of good reasons

More information

Lecture 1: Overview

Lecture 1: Overview 15-150 Lecture 1: Overview Lecture by Stefan Muller May 21, 2018 Welcome to 15-150! Today s lecture was an overview that showed the highlights of everything you re learning this semester, which also meant

More information

Web Hosting. Important features to consider

Web Hosting. Important features to consider Web Hosting Important features to consider Amount of Storage When choosing your web hosting, one of your primary concerns will obviously be How much data can I store? For most small and medium web sites,

More information

Reliable programming

Reliable programming Reliable programming How to write programs that work Think about reliability during design and implementation Test systematically When things break, fix them correctly Make sure everything stays fixed

More information

Shorthand for values: variables

Shorthand for values: variables Chapter 2 Shorthand for values: variables 2.1 Defining a variable You ve typed a lot of expressions into the computer involving pictures, but every time you need a different picture, you ve needed to find

More information

If Statements, For Loops, Functions

If Statements, For Loops, Functions Fundamentals of Programming If Statements, For Loops, Functions Table of Contents Hello World Types of Variables Integers and Floats String Boolean Relational Operators Lists Conditionals If and Else Statements

More information

3 Continuous Integration 3. Automated system finding bugs is better than people

3 Continuous Integration 3. Automated system finding bugs is better than people This presentation is based upon a 3 day course I took from Jared Richardson. The examples and most of the tools presented are Java-centric, but there are equivalent tools for other languages or you can

More information

Blitz! (Outlook 2011 for Mac)

Blitz! (Outlook 2011 for Mac) Email Blitz! (Outlook 2011 for Mac) Finding your inbox unmanageable? Follow the tips in this document to take back control. Tips for having a thorough clear out The techniques here can be used when spring

More information

Real World Web Scalability. Ask Bjørn Hansen Develooper LLC

Real World Web Scalability. Ask Bjørn Hansen Develooper LLC Real World Web Scalability Ask Bjørn Hansen Develooper LLC Hello. 28 brilliant methods to make your website keep working past $goal requests/transactions/sales per second/hour/day Requiring minimal extra

More information

We aren t getting enough orders on our Web site, storms the CEO.

We aren t getting enough orders on our Web site, storms the CEO. In This Chapter Introducing how Ajax works Chapter 1 Ajax 101 Seeing Ajax at work in live searches, chat, shopping carts, and more We aren t getting enough orders on our Web site, storms the CEO. People

More information

Creating the Data Layer

Creating the Data Layer Creating the Data Layer When interacting with any system it is always useful if it remembers all the settings and changes between visits. For example, Facebook has the details of your login and any conversations

More information

COPYRIGHTED MATERIAL. Getting Started with Google Analytics. P a r t

COPYRIGHTED MATERIAL. Getting Started with Google Analytics. P a r t P a r t I Getting Started with Google Analytics As analytics applications go, Google Analytics is probably the easiest (or at least one of the easiest) available in the market today. But don t let the

More information

hw6, BFS, debugging CSE 331 Section 5 10/25/12 Slides by Kellen Donohue

hw6, BFS, debugging CSE 331 Section 5 10/25/12 Slides by Kellen Donohue hw6, BFS, debugging CSE 331 Section 5 10/25/12 Slides by Kellen Donohue Agenda hw4 being graded hw5 may be graded first, for feedback to be used on hw6 hw6 due next week Today hw6 BFS Debugging hashcode()

More information

CASE STUDY IT. Albumprinter Adopting Redgate DLM

CASE STUDY IT. Albumprinter Adopting Redgate DLM CASE STUDY IT Albumprinter Adopting Redgate DLM "Once the team saw they could deploy all their database changes error-free at the click of a button, with no more manual scripts, it spread by word of mouth.

More information

Human-Computer Interaction Design

Human-Computer Interaction Design Human-Computer Interaction Design COGS120/CSE170 - Intro. HCI Instructor: Philip Guo Week 2 - Prototyping (2016-10-04) some slides adapted from Scott Klemmer s Intro. HCI course Grading policy: aim for

More information

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet.

The name of our class will be Yo. Type that in where it says Class Name. Don t hit the OK button yet. Mr G s Java Jive #2: Yo! Our First Program With this handout you ll write your first program, which we ll call Yo. Programs, Classes, and Objects, Oh My! People regularly refer to Java as a language that

More information

Mini-Project, Exam, Etc

Mini-Project, Exam, Etc Mini-Project, Exam, Etc Original slides are from Silberschatz, Korth and Sudarshan Mini Project The basis for the oral exam To provide a realistic running example To use in practice, the major topics covered

More information

Introduction. A Brief Description of Our Journey

Introduction. A Brief Description of Our Journey Introduction If you still write RPG code as you did 20 years ago, or if you have ILE RPG on your resume but don t actually use or understand it, this book is for you. It will help you transition from the

More information

Laboratory 1: Eclipse and Karel the Robot

Laboratory 1: Eclipse and Karel the Robot Math 121: Introduction to Computing Handout #2 Laboratory 1: Eclipse and Karel the Robot Your first laboratory task is to use the Eclipse IDE framework ( integrated development environment, and the d also

More information

Lesson 2. Introducing Apps. In this lesson, you ll unlock the true power of your computer by learning to use apps!

Lesson 2. Introducing Apps. In this lesson, you ll unlock the true power of your computer by learning to use apps! Lesson 2 Introducing Apps In this lesson, you ll unlock the true power of your computer by learning to use apps! So What Is an App?...258 Did Someone Say Free?... 259 The Microsoft Solitaire Collection

More information

Testing is a very big and important topic when it comes to software development. Testing has a number of aspects that need to be considered.

Testing is a very big and important topic when it comes to software development. Testing has a number of aspects that need to be considered. Testing Testing is a very big and important topic when it comes to software development. Testing has a number of aspects that need to be considered. System stability is the system going to crash or not?

More information

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015

Git. all meaningful operations can be expressed in terms of the rebase command. -Linus Torvalds, 2015 Git all meaningful operations can be expressed in terms of the rebase command -Linus Torvalds, 2015 a talk by alum Ross Schlaikjer for the GNU/Linux Users Group Sound familiar? add commit diff init clone

More information

Term Definition Introduced in: This option, located within the View tab, provides a variety of options to choose when sorting and grouping Arrangement

Term Definition Introduced in: This option, located within the View tab, provides a variety of options to choose when sorting and grouping Arrangement 60 Minutes of Outlook Secrets Term Definition Introduced in: This option, located within the View tab, provides a variety of options to choose when sorting and grouping Arrangement messages. Module 2 Assign

More information

Systems Software. Recitation 1: Intro & Revision Control. Quite different from 213. Our Philosophy. Partly-free lunch

Systems Software. Recitation 1: Intro & Revision Control. Quite different from 213. Our Philosophy. Partly-free lunch Systems Software Recitation 1: Intro & Revision Control Dave Andersen CMU Computer Science Fall 2006 Low-level (projects in C) Designed to run forever Handle every possible error condition Manage resources

More information

PHP. MIT 6.470, IAP 2010 Yafim Landa

PHP. MIT 6.470, IAP 2010 Yafim Landa PHP MIT 6.470, IAP 2010 Yafim Landa (landa@mit.edu) LAMP We ll use Linux, Apache, MySQL, and PHP for this course There are alternatives Windows with IIS and ASP Java with Tomcat Other database systems

More information

Test Your XAML-based Windows Store Apps with Visual Studio 2013 Benjamin Day

Test Your XAML-based Windows Store Apps with Visual Studio 2013 Benjamin Day Test Your XAML-based Windows Store Apps with Visual Studio 2013 Benjamin Day Level: Intermediate Benjamin Day Brookline, MA Consultant, Coach, & Trainer Microsoft MVP for Visual Studio ALM Team Foundation

More information

CSS Crash Course for Fearless Bloggers by Gill Andrews

CSS Crash Course for Fearless Bloggers by Gill Andrews CSS Crash Course for Fearless Bloggers by Gill Andrews The main principle of using CSS with HTML... 2 Why not leave all the CSS inside the HTML?... 5 You think you did everything right, but your style

More information

Everything you need to know about cloud. For companies with people in them

Everything you need to know about cloud. For companies with people in them Everything you need to know about cloud For companies with people in them You used to know where you stood with the word cloud. It meant those fluffy things floating above you, bringing shade and rain,

More information

CS168 Programming Assignment 2: IP over UDP

CS168 Programming Assignment 2: IP over UDP Programming Assignment 2: Assignment Out: February 17, 2011 Milestone: February 25, 2011 Assignment Due: March 4, 2011, 10pm 1 Introduction In this assignment you will be constructing a Virtual IP Network

More information

Small changes. Big results.

Small changes. Big results. FileMaker Developer Conference 2017 Presenter Series Small changes. Big results. A guide to perfecting user interface. Martha Zink, Soliant Consulting, Inc. FileMaker Developer Conference DevCon is an

More information

EPISODE 23: HOW TO GET STARTED WITH MAILCHIMP

EPISODE 23: HOW TO GET STARTED WITH MAILCHIMP EPISODE 23: HOW TO GET STARTED WITH MAILCHIMP! 1 of! 26 HOW TO GET STARTED WITH MAILCHIMP Want to play a fun game? Every time you hear the phrase email list take a drink. You ll be passed out in no time.

More information

Recipes. Marketing For Bloggers. List Building, Traffic, Money & More. A Free Guide by The Social Ms Page! 1 of! 24

Recipes.  Marketing For Bloggers. List Building, Traffic, Money & More. A Free Guide by The Social Ms Page! 1 of! 24 16 Recipes Email Marketing For Bloggers List Building, Traffic, Money & More A Free Guide by The Social Ms Page 1 of 24 Brought to you by: Jonathan Gebauer, Susanna Gebauer INTRODUCTION Email Marketing

More information

MySQL Worst Practices. Introduction. by Jonathan Baldie

MySQL Worst Practices. Introduction. by Jonathan Baldie MySQL Worst Practices by Jonathan Baldie Introduction MySQL and MariaDB are two of the most popular database engines in the world. They re rightly chosen for their speed potential, portability, and the

More information

A short guide to learning more technology This week s topic: Windows 10 Tips

A short guide to learning more technology This week s topic: Windows 10 Tips Wednesday s Technology Tips November 2, 2016 A short guide to learning more technology This week s topic: Windows 10 Tips Like it or not, Microsoft is rushing quickly toward Windows 10 as the new standard

More information

David DeFlyer Class notes CS162 January 26 th, 2009

David DeFlyer Class notes CS162 January 26 th, 2009 1. Class opening: 1. Handed out ACM membership information 2. Review of last lecture: 1. operating systems were something of an ad hoc component 2. in the 1960s IBM tried to produce a OS for all customers

More information

Bellevue Community College Summer 2009 Interior Design 194 SPECIAL TOPIC: SKETCHUP

Bellevue Community College Summer 2009 Interior Design 194 SPECIAL TOPIC: SKETCHUP Class Session: TTh 6:00 pm 8:00 pm Credit Hours: Two (2) Location: A262 Door Code: 349499 (through A254) Instructor: Greg Wharton Office: by appointment Hours: by appointment or email email: gwharton@gmail.com

More information

Seng310 Lecture 8. Prototyping

Seng310 Lecture 8. Prototyping Seng310 Lecture 8. Prototyping Course announcements Deadlines Individual assignment (extended) deadline: today (June 7) 8:00 am by email User testing summary for paper prototype testing- Thursday June

More information

COMP6471 WINTER User-Centered Design

COMP6471 WINTER User-Centered Design COMP6471 WINTER 2003 User-Centered Design Instructor: Shahriar Ameri, Ph.D. Student: Pedro Maroun Eid, ID# 5041872. Date of Submission: Monday, March 10, 2003. (Week 9) Outline Outline... 2 ABSTRACT...3

More information

Spam. Time: five years from now Place: England

Spam. Time: five years from now Place: England Spam Time: five years from now Place: England Oh no! said Joe Turner. When I go on the computer, all I get is spam email that nobody wants. It s all from people who are trying to sell you things. Email

More information

Frequently Asked Questions about the NDIS

Frequently Asked Questions about the NDIS Frequently Asked Questions about the NDIS Contents 3 4 5 5 5 5 6 6 7 7 8 8 8 8 8 9 9 9 9 9 10 10 10 10 11 11 11 11 12 12 12 12 13 13 13 14 14 What is the NDIS and how is it different to current funding

More information

Neo4J: Graph Database

Neo4J: Graph Database February 24, 2013 Basics is a data storage and query system designed for storing graphs. Data as a series of relationships, modelled as a directed graph. Recall, a graph is a pair of sets: G(V, E) vertices

More information

9 R1 Get another piece of paper. We re going to have fun keeping track of (inaudible). Um How much time do you have? Are you getting tired?

9 R1 Get another piece of paper. We re going to have fun keeping track of (inaudible). Um How much time do you have? Are you getting tired? Page: 1 of 14 1 R1 And this is tell me what this is? 2 Stephanie x times y plus x times y or hm? 3 R1 What are you thinking? 4 Stephanie I don t know. 5 R1 Tell me what you re thinking. 6 Stephanie Well.

More information

In this white paper we want to look at seven basic principles that can help make your website be the best it can be.

In this white paper we want to look at seven basic principles that can help make your website be the best it can be. websites matter A good website is important now more than ever. More and more people first visit your church through your website -- not through your front doors. Visitors will likely evaluate six to 12

More information

Strategies That Work

Strategies That Work Email Strategies That Work Your focus questions for today: 1. What kinds of cookie content can I create? What type of content will reward my reader for consuming it? 2. When and how will I make an offer

More information

Quick Web Development using JDeveloper 10g

Quick Web Development using JDeveloper 10g Have you ever experienced doing something the long way and then learned about a new shortcut that saved you a lot of time and energy? I can remember this happening in chemistry, calculus and computer science

More information

Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website:

Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ We will come around checking your pre-labs

More information

Clickbank Domination Presents. A case study by Devin Zander. A look into how absolutely easy internet marketing is. Money Mindset Page 1

Clickbank Domination Presents. A case study by Devin Zander. A look into how absolutely easy internet marketing is. Money Mindset Page 1 Presents A case study by Devin Zander A look into how absolutely easy internet marketing is. Money Mindset Page 1 Hey guys! Quick into I m Devin Zander and today I ve got something everybody loves! Me

More information

Dealer Reviews Best Practice Guide

Dealer Reviews Best Practice Guide Dealer Reviews Best Practice Guide What do I do if I get a negative review? Well, the first thing is, don t panic. Negative reviews aren t the end of the world, they actually help build trust and credibility

More information

WEBINARS FOR PROFIT. Contents

WEBINARS FOR PROFIT. Contents Contents Introduction:... 3 Putting Your Presentation Together... 5 The Back-End Offer They Can t Refuse... 8 Pick One Target Audience per Webinar... 10 Automate Your Webinar Sessions... 12 Introduction:

More information

Timeless Theory vs. Changing Users: Reconsidering Database Education

Timeless Theory vs. Changing Users: Reconsidering Database Education Timeless Theory vs. Changing Users: Reconsidering Database Education Purpose of the Session Demonstration of subject matter mastery, teaching skills But theme topic required Focus on my two divergent roles

More information

Background. Let s see what we prescribed.

Background. Let s see what we prescribed. Background Patient B s custom application had slowed down as their data grew. They d tried several different relief efforts over time, but performance issues kept popping up especially deadlocks. They

More information

Welcome to Lab! You do not need to keep the same partner from last lab. We will come around checking your prelabs after we introduce the lab

Welcome to Lab! You do not need to keep the same partner from last lab. We will come around checking your prelabs after we introduce the lab Welcome to Lab! Feel free to get started until we start talking! The lab document is located on the course website: http://users.wpi.edu/~ndemarinis/ece2049/ You do not need to keep the same partner from

More information

Understanding prototype fidelity What is Digital Prototyping? Introduction to various digital prototyping tools

Understanding prototype fidelity What is Digital Prototyping? Introduction to various digital prototyping tools HCI and Design Today Assignment 1 is graded Assignment 3 is posted Understanding prototype fidelity What is Digital Prototyping? Introduction to various digital prototyping tools Reminder: What is a prototype?

More information

Description. Learning Objectives. Your AU Expert

Description. Learning Objectives. Your AU Expert PD17918 Creating Fusion 360 Custom Commands Brian Ekins Autodesk, Inc. Description Go beyond writing simple scripts with Fusion 360 and learn how to create powerful interactive custom commands. We ll begin

More information

Difference Between Dates Case Study 2002 M. J. Clancy and M. C. Linn

Difference Between Dates Case Study 2002 M. J. Clancy and M. C. Linn Difference Between Dates Case Study 2002 M. J. Clancy and M. C. Linn Problem Write and test a Scheme program to compute how many days are spanned by two given days. The program will include a procedure

More information

9 quick wins every membership organisation should adopt

9 quick wins every membership organisation should adopt 9 quick wins every membership organisation should adopt Working in a smaller membership organisation we know that email marketing isn t your only focus. You ve got other things going on and resource is

More information

Paper William E Benjamin Jr, Owl Computer Consultancy, LLC

Paper William E Benjamin Jr, Owl Computer Consultancy, LLC Paper 025-2009 So, You ve Got Data Enterprise Wide (SAS, ACCESS, EXCEL, MySQL, and Others); Well, Let SAS Enterprise Guide Software Point-n-Click Your Way to Using It William E Benjamin Jr, Owl Computer

More information

How APEXBlogs was built

How APEXBlogs was built How APEXBlogs was built By Dimitri Gielis, APEX Evangelists Copyright 2011 Apex Evangelists apex-evangelists.com How APEXBlogs was built By Dimitri Gielis This article describes how and why APEXBlogs was

More information

THE OPEN ENROLLMENT ENGAGEMENT PLAYBOOK. Your simple, all-in-one guide to Open Enrollment communications, resources, and planning

THE OPEN ENROLLMENT ENGAGEMENT PLAYBOOK. Your simple, all-in-one guide to Open Enrollment communications, resources, and planning THE OPEN ENROLLMENT ENGAGEMENT PLAYBOOK Your simple, all-in-one guide to Open Enrollment communications, resources, and planning CONTENTS OE TIMELINE 4 Think Like a Marketer 8 Enrollment Timeline 11 Sample

More information

Beginning Tutorials. BT004 Enterprise Guide Version 2.0 NESUG 2003 James Blaha, Pace University, Briarcliff Manor, NY ABSTRACT: INTRODUCTION:

Beginning Tutorials. BT004 Enterprise Guide Version 2.0 NESUG 2003 James Blaha, Pace University, Briarcliff Manor, NY ABSTRACT: INTRODUCTION: BT004 Enterprise Guide Version 2.0 NESUG 2003 James Blaha, Pace University, Briarcliff Manor, NY ABSTRACT: This paper focuses on the basics for using the SAS Enterprise Guide software. The focus is on

More information

Lecture 5. Monday, February 1, 2016

Lecture 5. Monday, February 1, 2016 Lecture 5 Monday, February 1, 2016 === and!== In an example last week, we talked about how PHP does not check type when doing comparisons (so 1.0 == "1.0" is true) PHP calls this type juggling it juggles

More information

Case Study Matrix Solutions Inc., Canada

Case Study Matrix Solutions Inc., Canada Case Study Matrix Solutions Inc., Canada With over four million images to manage, environmental engineering consultants Matrix Solutions chose Third Light software for its adaptable Application Programming

More information

Last, with this edition, you can view and download the complete source for all examples at

Last, with this edition, you can view and download the complete source for all examples at PREFACE hat could be more exciting than learning the cool subfile concepts and techniques provided in the first edition of this book? Learning more in this new edition, of course! Actually, subfile concepts

More information

Duo Travel Guide. duo.com

Duo Travel Guide. duo.com Duo Travel Guide duo.com Overview As a member of an organization protected by Duo, you already have secure access to applications and assets. This guide is designed to help you maintain that trusted access

More information

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.

1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE. CUSTOMER PAIN POINTS 1. I NEED TO HAVE MULTIPLE VERSIONS OF VISUAL STUDIO INSTALLED IF I M MAINTAINING APPLICATIONS THAT RUN ON MORE THAN ONE VERSION OF THE.NET FRAMEORK. THAT S TAKING UP SPACE ON MY HARDDRIVE

More information

Adding content to your Blackboard 9.1 class

Adding content to your Blackboard 9.1 class Adding content to your Blackboard 9.1 class There are quite a few options listed when you click the Build Content button in your class, but you ll probably only use a couple of them most of the time. Note

More information

Science-as-a-Service

Science-as-a-Service Science-as-a-Service The iplant Foundation Rion Dooley Edwin Skidmore Dan Stanzione Steve Terry Matthew Vaughn Outline Why, why, why! When duct tape isn t enough Building an API for the web Core services

More information

IGL S AND MOUNT NS. Taking AKKA to Production

IGL S AND MOUNT NS. Taking AKKA to Production IGL S AND MOUNT NS Taking AKKA to Production THIS TALK Hello! I m Derek Wyatt, Senior Platform Developer at Auvik Networks! and author of Akka Concurrency Scala, Play and Akka form the foundational triad

More information

These are notes for the third lecture; if statements and loops.

These are notes for the third lecture; if statements and loops. These are notes for the third lecture; if statements and loops. 1 Yeah, this is going to be the second slide in a lot of lectures. 2 - Dominant language for desktop application development - Most modern

More information

Strong signs your website needs a professional redesign

Strong signs your website needs a professional redesign Strong signs your website needs a professional redesign Think - when was the last time that your business website was updated? Better yet, when was the last time you looked at your website? When the Internet

More information

Unit 9 Tech savvy? Tech support. 1 I have no idea why... Lesson A. A Unscramble the questions. Do you know which battery I should buy?

Unit 9 Tech savvy? Tech support. 1 I have no idea why... Lesson A. A Unscramble the questions. Do you know which battery I should buy? Unit 9 Tech savvy? Lesson A Tech support 1 I have no idea why... A Unscramble the questions. 1. which battery / Do you know / should / buy / I? Do you know which battery I should buy? 2. they / where /

More information

Cross-platform software development in practice. Object-Oriented approach.

Cross-platform software development in practice. Object-Oriented approach. Cross-platform software development in practice. Object-Oriented approach. Vitaly Repin Maemo Devices, Nokia Maemo March 25, 2010 (Maemo) Cross-platform software development. March 25, 2010 1 / 37 Outline

More information

How to Read AWStats. Why it s important to know your stats

How to Read AWStats. Why it s important to know your stats How to Read AWStats Welcome to the world of owning a website. One of the things that both newbie and even old time website owners get overwhelmed by is their analytics and understanding the data. One of

More information

Selection the If Statement Try Catch and Validation

Selection the If Statement Try Catch and Validation Selection the If Statement Try Catch and Validation The main statement used in C# for making decisions depending on different conditions is called the If statement. A second useful structure in a similar

More information

HOUR 18 Collaborating on Documents

HOUR 18 Collaborating on Documents HOUR 18 Collaborating on Documents In today s office environments, people are increasingly abandoning red ink pens, highlighters, and post-it slips in favor of software tools that enable them to collaborate

More information

The Idiot s Guide to Quashing MicroServices. Hani Suleiman

The Idiot s Guide to Quashing MicroServices. Hani Suleiman The Idiot s Guide to Quashing MicroServices Hani Suleiman The Promised Land Welcome to Reality Logging HA/DR Monitoring Provisioning Security Debugging Enterprise frameworks Don t Panic WHOAMI I wrote

More information

Designing largescale applications. in Python. EuroPython 2013 Florence, Italy. Marc-André Lemburg

Designing largescale applications. in Python. EuroPython 2013 Florence, Italy. Marc-André Lemburg Designing largescale applications in Python Florence, Italy Marc-André Lemburg (c) 2013 egenix.com com Software GmbH, info@egenix.com 2 Agenda 1. Introduction 2. Application Design 3. Before you start...

More information

CS61A Notes Week 6: Scheme1, Data Directed Programming You Are Scheme and don t let anyone tell you otherwise

CS61A Notes Week 6: Scheme1, Data Directed Programming You Are Scheme and don t let anyone tell you otherwise CS61A Notes Week 6: Scheme1, Data Directed Programming You Are Scheme and don t let anyone tell you otherwise If you re not already crazy about Scheme (and I m sure you are), then here s something to get

More information

Lab 1: Space Invaders. The Introduction

Lab 1: Space Invaders. The Introduction Lab 1: Space Invaders The Introduction Welcome to Lab! Feel free to get started until we start talking! The lab document is located on course website: https://users.wpi.edu/~sjarvis/ece2049_smj/ Be sure

More information

How to Host WebEx Meetings

How to Host WebEx Meetings How to Host WebEx Meetings Instructions for ConnSCU Faculty and Staff using ConnSCU WebEx Table of Contents How Can Faculty and Staff Use WebEx?... 3 Inviting Meeting Participants... 3 Tips before Starting

More information

ONLINE EVALUATION FOR: Company Name

ONLINE EVALUATION FOR: Company Name ONLINE EVALUATION FOR: Company Name Address Phone URL media advertising design P.O. Box 2430 Issaquah, WA 98027 (800) 597-1686 platypuslocal.com SUMMARY A Thank You From Platypus: Thank you for purchasing

More information

Software Development and Usability Testing

Software Development and Usability Testing Software Development and Usability Testing Shneiderman, Chapter 4 Preece et al, Ch 9, 11-15 Krug, Rocket Surgery Made Easy Rubin, Handbook of Usability Testing Norman Neilsen Group www HCI in Software

More information

WHITEPAPER MOVING TO A NEW BUSINESS PHONE SYSTEM

WHITEPAPER MOVING TO A NEW BUSINESS PHONE SYSTEM WHITEPAPER MOVING TO A NEW BUSINESS PHONE SYSTEM Introduction Phone systems have been installed in offices of all different sizes for more than 40 years, providing a vital service to the business. Since

More information

Testing, Debugging, Program Verification

Testing, Debugging, Program Verification Testing, Debugging, Program Verification Debugging Programs, Part II Wolfgang Ahrendt & Vladimir Klebanov & Moa Johansson & Gabriele Paganelli 14 November 2012 TDV: Debugging II /GU 2011-11-09 1 / 32 Today

More information

The Top 25. To Keep Your Business on Track for 2017

The Top 25. To Keep Your Business on Track for 2017 The Top 25 Productivity Tools & Apps To Keep Your Business on Track for 2017 What does increasing productivity mean to you? Does it mean wrapping up work by 5pm to have dinner with your kids? Having time

More information

Lecture Notes CPSC 491 (Fall 2018) Topics. Peer evals. UI Sketches. Homework. Quiz 4 next Tues. HW5 out. S. Bowers 1 of 11

Lecture Notes CPSC 491 (Fall 2018) Topics. Peer evals. UI Sketches. Homework. Quiz 4 next Tues. HW5 out. S. Bowers 1 of 11 Topics Peer evals UI Sketches Homework Quiz 4 next Tues HW5 out S. Bowers 1 of 11 Context Diagrams Context Diagrams describe the system boundaries what is inside ( in scope ) vs outside ( out of scope

More information

MICRO DIGITAL: TECHNICAL CRITERIA FOR MAKING THE RTOS CHOICE

MICRO DIGITAL: TECHNICAL CRITERIA FOR MAKING THE RTOS CHOICE MICRO DIGITAL: TECHNICAL CRITERIA FOR MAKING THE RTOS CHOICE 15 December 2008: Technical Criteria for Making the RTOS Choice INTERVIEWEE. RALPH MOORE PRESIDENT TEL. 714 427 7333 EMAIL. RALPHM@SMXRTOS.COM

More information

Assignments. Assignment 2 is due TODAY, 11:59pm! Submit one per pair on Blackboard.

Assignments. Assignment 2 is due TODAY, 11:59pm! Submit one per pair on Blackboard. HCI and Design Assignments Assignment 2 is due TODAY, 11:59pm! Submit one per pair on Blackboard. Today Paper prototyping An essential tool in your design toolbox! How do we design things that actually

More information

Work like a startup! TUT Software Startup Day. Harri Kiljander, Dr. Tech

Work like a startup! TUT Software Startup Day. Harri Kiljander, Dr. Tech TUT Software Startup Day Work like a startup! Harri Kiljander, Dr. Tech Product guy and UX designer, who also wrote real software a couple of decades ago Director of F-Secure Lokki 11 th of December 2013,

More information

Surviving Live Stream Catastrophes. Tim Akimoff Oregon Department of Fish and Wildlife

Surviving Live Stream Catastrophes. Tim Akimoff Oregon Department of Fish and Wildlife Surviving Live Stream Catastrophes Tim Akimoff Oregon Department of Fish and Wildlife What we re going to cover today What is live streaming and why should I do it? Live Stream fails and what we can learn

More information

Real Time and Embedded Systems. by Dr. Lesley Shannon Course Website:

Real Time and Embedded Systems. by Dr. Lesley Shannon   Course Website: Real Time and Embedded Systems by Dr. Lesley Shannon Email: lshannon@ensc.sfu.ca Course Website: http://www.ensc.sfu.ca/~lshannon/courses/ensc351 Simon Fraser University Slide Set: 2 Date: September 13,

More information

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney

1 Build Your First App. The way to get started is to quit talking and begin doing. Walt Disney 1 Build Your First App The way to get started is to quit talking and begin doing. Walt Disney Copyright 2015 AppCoda Limited All rights reserved. Please do not distribute or share without permission. No

More information

Are You Too Busy? Practical Tips For Better Time Management

Are You Too Busy? Practical Tips For Better Time Management with Lorena Prime Are You Too Busy? Practical Tips For Better Time Management Is this How You Feel? What s a Productivity Expert? Focuses on offices (at work or virtual / home) Sets up file systems and

More information

Burning CDs in Windows XP

Burning CDs in Windows XP B 770 / 1 Make CD Burning a Breeze with Windows XP's Built-in Tools If your PC is equipped with a rewritable CD drive you ve almost certainly got some specialised software for copying files to CDs. If

More information

Assignment II: Foundation Calculator

Assignment II: Foundation Calculator Assignment II: Foundation Calculator Objective The goal of this assignment is to extend the CalculatorBrain from last week to allow inputting variables into the expression the user is typing into the calculator.

More information

Cancer Waiting Times. Getting Started with Beta Testing. Beta Testing period: 01 February May Copyright 2018 NHS Digital

Cancer Waiting Times. Getting Started with Beta Testing. Beta Testing period: 01 February May Copyright 2018 NHS Digital Getting Started with Beta Testing Beta Testing period: 01 February 2018 03 May 2018 Copyright 2018 NHS Digital Document management Revision History Version Date Summary of Changes 0.1 23/03/2018 Initial

More information

Instructor s Notes Web Data Management Web Client/Server Concepts. Web Data Management Web Client/Server Concepts

Instructor s Notes Web Data Management Web Client/Server Concepts. Web Data Management Web Client/Server Concepts Instructor s Web Data Management Web Client/Server Concepts Web Data Management 152-155 Web Client/Server Concepts Quick Links & Text References Client / Server Concepts Pages 4 11 Web Data Mgt Software

More information

Northern New York Library Network. Jim Crowley. Course objectives. Course description. Schedule. Workshop

Northern New York Library Network. Jim Crowley. Course objectives. Course description. Schedule. Workshop Northern New York Library Network Workshop www.nnyln.org Course objectives To explore the mail merging with Microsoft Word. To develop computer and basic database literacy. To address the class' questions.

More information