Turning Development Outside

Size: px
Start display at page:

Download "Turning Development Outside"

Transcription

1 Turning Development Outside

2 What We Talk About When We Talk About

3 What We Talk About When We Talk About

4

5 Too often we push the problem into the background because we are in a hurry to proceed to a solution.

6 If you read most software development texts thoughtfully, you will see that almost everything is about the solution; almost nothing is about the problem.

7 Analysis Design Code Test

8 Analysis Design Code Test

9 Analysis Design Code Test

10 It's expensive to know everything up front. Kolton Andrus

11 You have to finish things that's what you learn from, you learn by finishing things. Neil Gaiman

12 SCRUM: A Pattern Language for Hyperproductive Software Development Teams Mike Beedle, Martine Devos, Yonat Sharon,Ken Schwaber, and Jeff Sutherland

13 SCRUM Master Sprint Backlog SCRUM Meetings Demo After Sprint

14 Problem You want to balance the needs of developers to work undisturbed and the needs of management and the customer to see real progress, as well as control the direction of that progress throughout the project. Solution Sprint Divide the project in Sprints. A Sprint is a period of approximately 30 days in which an agreed amount of work will be performed to create a deliverable. Each Sprint takes a pre-allocated amount of work from the Backlog.

15 Analysis Sprint Design Sprint Code Sprint Test Sprint

16 Analysis Design Code Test Analysis Design Code Test Analysis Design Code Test Analysis Design Code Test

17 Develop Develop Develop Develop

18 Develop

19

20 If a plot works out exactly as you first planned, you're not working loosely enough to give room to your imagination and instincts.

21 / WordFriday

22 pantser, noun Writer who writes by the seat of their pants. In contrast to a plotter, a pantser doesn't work to (or have) an outline.

23

24 Your Customers Do Not Mean What They Say Nate Jackson

25 I ve never met a customer yet that wasn t all too happy to tell me what they wanted usually in great detail. The problem is that customers don t always tell you the whole truth. Nate Jackson

26 They generally don't lie. They use their terms and their contexts. They leave out significant details. They make assumptions. Nate Jackson

27 This is compounded by the fact that many customers don t actually know what they want in the first place! Nate Jackson

28 Systems have properties capabilities, features, characteristics, etc. inside and out.

29 Development should discover the specific properties desired and make them so.

30

31

32

33

34

35 Try to leave out the part that readers tend to skip. Elmore Leonard

36

37

38

39 Stack {new, push, pop, depth, top}

40 Given When Then an empty stack an item is pushed it should not be empty

41 Given When Then an empty stack an item is pushed if it's OK with you, I think that, perhaps, it should probably not be empty, don't you think?

42 Omit needless words. William Strunk and E B White The Elements of Style

43 Make definite assertions. Avoid tame, colourless, hesitating, noncommittal language. When a sentence is made stronger, it usually becomes shorter. Thus brevity is a by-product of vigour. William Strunk and E B White The Elements of Style

44 Given When Then an empty stack an item is pushed it is not empty

45 Given When Then And an empty stack an item is pushed it has a depth of 1 the top item is the item that was pushed

46 Given_an_empty_stack_Wh en_an_item_is_pushed_th en_it_has_a_depth_of_1_ And_the_top_item_is_the _item_that_was_pushed

47 new Empty push Non-Empty pop [depth = 1] depth depth top push pop [depth > 1]

48 public class Stack_spec { public static class A_new_stack public void is_empty() } } public static class An_empty_stack ) public void ) public void public void acquires_depth_by_retaining_a_pushed_item_as_its_top() } public static class A_non_empty_stack public void public void on_popping_reveals_tops_in_reverse_order_of_pushing() }

49 public class Stack_spec { public static class A_new_stack public void is_empty() } } public static class { } ) public void ) public void public void acquires_depth_by_retaining_a_pushed_item_as_its_top() public static class { } public void public void on_popping_reveals_tops_in_reverse_order_of_pushing()

50 public class Stack_spec { public static class A_new_stack public void is_empty() } } public static class { } ) public void ) public void public void acquires_depth_by_retaining_a_pushed_item_as_its_top() public static class { } public void public void on_popping_reveals_tops_in_reverse_order_of_pushing()

51 Systems have properties capabilities, features, characteristics, etc. inside and out.

52

53 Functional Operational Developmental

54 We want our code to be unit testable. What is a unit test?

55 A test is not a unit test if: It talks to the database It communicates across the network It touches the file system It can't run at the same time as any of your other unit tests You have to do special things to your environment (such as editing config files) to run it. Michael Feathers

56 A unit test is a test of behaviour whose success or failure is wholly determined by the correctness of the test and the correctness of the unit under test. Kevlin Henney

57 What do we want from unit tests?

58 When a unit test passes, it shows the code is correct.

59 When a unit test fails, it shows the code is incorrect.

60 As a I want So that $Role $Feature $Benefit

61 As a I want So that developer of the software $Feature $Benefit

62 As a I want So that developer of the software clean code $Benefit

63 As a I want So that customer of the software $Feature $Benefit

64 As a I want So that user of the software $Feature $Benefit

65 As a I want So that $Role logging $Benefit

66 As a I want So that developer of the software logging $Benefit

67 As a I want So that customer of the software logging $Benefit

68 As a I want So that $Role documentation $Benefit

69 As a I want So that $Role an agile process $Benefit

70 As a I want So that As shown by $Role $Feature $Benefit $Evidence

71

72 Design an architectural space to accommodate a specific program, experience, or intent.

Software. Is

Software. Is Software Is Details @KevlinHenney Any program is a model of a model within a theory of a model of an abstraction of some portion of the world or of some universe of discourse. Meir M Lehman "Programs,

More information

Programming with GUTs

Programming with GUTs Programming with GUTs @KevlinHenney kevlin@curbralan.com When you write unit tests, TDDstyle or after your development, you scrutinize, you think, and often you prevent problems without even encountering

More information

Software. Is

Software. Is Software Is Details @KevlinHenney Any program is a model of a model within a theory of a model of an abstraction of some portion of the world or of some universe of discourse. Meir M Lehman "Programs,

More information

Certified ScrumMaster (CSM) 83 Success Secrets: 83 Most Asked Questions On Certified ScrumMaster (CSM) - What You Need To Know

Certified ScrumMaster (CSM) 83 Success Secrets: 83 Most Asked Questions On Certified ScrumMaster (CSM) - What You Need To Know Certified ScrumMaster (CSM) 83 Success Secrets: 83 Most Asked Questions On Certified ScrumMaster (CSM) - What You Need To Know By Janice Garrison Certified ScrumMaster (CSM) 83 Success Secrets: 83 Most

More information

David Bernstein Five Development Practices Essential for Scrum Teams

David Bernstein Five Development Practices Essential for Scrum Teams David Bernstein Five Development Practices Essential for Scrum Teams 1 Welcome! I m David Scott Bernstein Software developer since 1980 Trained 8,000 developers since 1990 Published author since 2015 Website:

More information

+ Abstract Data Types

+ Abstract Data Types Linked Lists Abstract Data Types An Abstract Data Type (ADT) is: a set of values a set of operations Sounds familiar, right? I gave a similar definition for a data structure. Abstract Data Types Abstract

More information

SML Style Guide. Last Revised: 31st August 2011

SML Style Guide. Last Revised: 31st August 2011 SML Style Guide Last Revised: 31st August 2011 It is an old observation that the best writers sometimes disregard the rules of rhetoric. When they do so, however, the reader will usually find in the sentence

More information

[PDF] Kanban: The Kanban Guide For The Business, Agile Project Manager, Scrum Master, Product Owner, And Development Support Team

[PDF] Kanban: The Kanban Guide For The Business, Agile Project Manager, Scrum Master, Product Owner, And Development Support Team [PDF] Kanban: The Kanban Guide For The Business, Agile Project Manager, Scrum Master, Product Owner, And Development Support Team Creating the most efficient system for your business, development team,

More information

Introduction to Programming

Introduction to Programming CHAPTER 1 Introduction to Programming Begin at the beginning, and go on till you come to the end: then stop. This method of telling a story is as good today as it was when the King of Hearts prescribed

More information

Agile Project Management: A Quick Start Beginner's Guide To Mastering Agile Project Management PDF

Agile Project Management: A Quick Start Beginner's Guide To Mastering Agile Project Management PDF Agile Project Management: A Quick Start Beginner's Guide To Mastering Agile Project Management PDF Discover Agile Project Management *** 3rd Edition *** DO YOU WANT TO ACHIEVE THE BEST AT EVERY STAGE OF

More information

CSC148H Week 3. Sadia Sharmin. May 24, /20

CSC148H Week 3. Sadia Sharmin. May 24, /20 CSC148H Week 3 Sadia Sharmin May 24, 2017 1/20 Client vs. Developer I For the first couple of weeks, we have played the role of class designer I However, you are also often in the opposite role: when a

More information

[PDF] Agile : Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project Management!

[PDF] Agile : Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project Management! [PDF] Agile : Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project Management! Discover Agile Project Management, A QuickStart Beginners 's Guide To Mastering Agile Project

More information

Agile Software Development With Scrum (Series In Agile Software Development) By Ken Schwaber, Mike Beedle

Agile Software Development With Scrum (Series In Agile Software Development) By Ken Schwaber, Mike Beedle Agile Software Development With Scrum (Series In Agile Software Development) By Ken Schwaber, Mike Beedle If searched for the ebook Agile Software Development with Scrum (Series in Agile Software Development)

More information

CaseComplete Roadmap

CaseComplete Roadmap CaseComplete Roadmap Copyright 2004-2014 Serlio Software Development Corporation Contents Get started... 1 Create a project... 1 Set the vision and scope... 1 Brainstorm for primary actors and their goals...

More information

How to Improve Your Campaign Conversion Rates

How to Improve Your  Campaign Conversion Rates How to Improve Your Email Campaign Conversion Rates Chris Williams Author of 7 Figure Business Models How to Exponentially Increase Conversion Rates I'm going to teach you my system for optimizing an email

More information

Git Branching for Agile Teams

Git Branching for Agile Teams Git Branching for Agile Teams Why use Git + agile? Git helps agile teams unleash their potential How? Developer First, let s review two pillars of agile 1 Build in narrow vertical slices Waterfall: can

More information

The Ultimate Medical Mnemonic Comic Book: Color Version

The Ultimate Medical Mnemonic Comic Book: Color Version The Ultimate Medical Mnemonic Comic Book: Color Version Click here if your download doesn"t start automatically The Ultimate Medical Mnemonic Comic Book: Color Version The Ultimate Medical Mnemonic Comic

More information

ME 4054W: SENIOR DESIGN PROJECTS

ME 4054W: SENIOR DESIGN PROJECTS ME 4054W: SENIOR DESIGN PROJECTS Week 3 Thursday Documenting Your Design Before we get started We have received feedback from an industry advisor that some of the students on their design team were not

More information

Without further ado, let s go over and have a look at what I ve come up with.

Without further ado, let s go over and have a look at what I ve come up with. JIRA Integration Transcript VLL Hi, my name is Jonathan Wilson and I m the service management practitioner with NHS Digital based in the United Kingdom. NHS Digital is the provider of services to the National

More information

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5

Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 Formal Methods of Software Design, Eric Hehner, segment 24 page 1 out of 5 [talking head] This lecture we study theory design and implementation. Programmers have two roles to play here. In one role, they

More information

Credit where Credit is Due. Lecture 29: Test-Driven Development. Test-Driven Development. Goals for this lecture

Credit where Credit is Due. Lecture 29: Test-Driven Development. Test-Driven Development. Goals for this lecture Lecture 29: Test-Driven Development Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some of the material for this lecture is taken from

More information

QUIZ. What are 3 differences between C and C++ const variables?

QUIZ. What are 3 differences between C and C++ const variables? QUIZ What are 3 differences between C and C++ const variables? Solution QUIZ Source: http://stackoverflow.com/questions/17349387/scope-of-macros-in-c Solution The C/C++ preprocessor substitutes mechanically,

More information

MITOCW ocw f99-lec07_300k

MITOCW ocw f99-lec07_300k MITOCW ocw-18.06-f99-lec07_300k OK, here's linear algebra lecture seven. I've been talking about vector spaces and specially the null space of a matrix and the column space of a matrix. What's in those

More information

User Stories. Wednesday, January 23, 13

User Stories. Wednesday, January 23, 13 User Stories 1 User Stories and their friends: Use Cases, Scenarios, Personas, Gherkins and Kanbans 7 W s Who writes user stories? What is a user story? When is it written? Where are they seen? Why is

More information

CASE STUDY TELECOMS. Calvi - two years with no database-related bugs

CASE STUDY TELECOMS. Calvi - two years with no database-related bugs CASE STUDY TELECOMS Calvi - two years with no database-related bugs "Redgate tools save me hours and hours of work each week In the last two years we haven t had any bugs related to database objects at

More information

Agile Project Management: An Inclusive Walkthrough Of Agile Project Management (Agile Project Management, Agile Software Developement, Scrum, Project

Agile Project Management: An Inclusive Walkthrough Of Agile Project Management (Agile Project Management, Agile Software Developement, Scrum, Project Agile Project Management: An Inclusive Walkthrough Of Agile Project Management (Agile Project Management, Agile Software Developement, Scrum, Project Management) PDF Get an Inclusive Look at Agile Project

More information

Stacks and queues (chapters 6.6, 15.1, 15.5)

Stacks and queues (chapters 6.6, 15.1, 15.5) Stacks and queues (chapters 6.6, 15.1, 15.5) So far... Complexity analysis For recursive and iterative programs Sorting algorithms Insertion, selection, quick, merge, (intro, dual-pivot quick, natural

More information

CSE 100: GRAPH ALGORITHMS

CSE 100: GRAPH ALGORITHMS CSE 100: GRAPH ALGORITHMS 2 Graphs: Example A directed graph V5 V = { V = E = { E Path: 3 Graphs: Definitions A directed graph V5 V6 A graph G = (V,E) consists of a set of vertices V and a set of edges

More information

The Stack, Free Store, and Global Namespace

The Stack, Free Store, and Global Namespace Pointers This tutorial is my attempt at clarifying pointers for anyone still confused about them. Pointers are notoriously hard to grasp, so I thought I'd take a shot at explaining them. The more information

More information

GETTING STARTED. User Story Mapping

GETTING STARTED. User Story Mapping GETTING STARTED User Story Mapping contents SECTION 1 user story maps what is a user story map? 3 examples of user story maps 4 breakdown of a user story map 5 why create user story maps? 6 benefits of

More information

Everything You Wanted To Know About USB Embossers* *but were afraid to ask

Everything You Wanted To Know About USB Embossers* *but were afraid to ask Braille2000, LLC 6801 Southfork Cir, Lincoln, NE 68516 Phone: (402) 423-4782, Fax: (402) 423-5154 http://www.braille2000.com Everything You Wanted To Know About USB Embossers* *but were afraid to ask This

More information

Specifying Acceptance Criteria

Specifying Acceptance Criteria Freelance SQL Server Consultant Specifying Acceptance Criteria I have worked with some agile product owners who when the write user stories, the like to go epic on the acceptance criteria, in fact when

More information

Project 2010 For Dummies Free Download PDF

Project 2010 For Dummies Free Download PDF Project 2010 For Dummies Free Download PDF A friendly reference guide to Microsoft Project, the leading enterprise project management software As project management software, Microsoft Project allows you

More information

Client Code - the code that uses the classes under discussion. Coupling - code in one module depends on code in another module

Client Code - the code that uses the classes under discussion. Coupling - code in one module depends on code in another module Basic Class Design Goal of OOP: Reduce complexity of software development by keeping details, and especially changes to details, from spreading throughout the entire program. Actually, the same goal as

More information

Audio CD Basics Lesson 7: Submit Your CD To Gracenote

Audio CD Basics Lesson 7: Submit Your CD To Gracenote Audio CD Basics Lesson 7: Submit Your CD To Gracenote This tutorial is for itunes version 11 or newer. If you re using an older version of itunes, please refer to our other white paper. By looking at the

More information

CSE332: Data Abstractions Lecture 23: Programming with Locks and Critical Sections. Tyler Robison Summer 2010

CSE332: Data Abstractions Lecture 23: Programming with Locks and Critical Sections. Tyler Robison Summer 2010 CSE332: Data Abstractions Lecture 23: Programming with Locks and Critical Sections Tyler Robison Summer 2010 1 Concurrency: where are we Done: The semantics of locks Locks in Java Using locks for mutual

More information

KMyMoney Transaction Matcher

KMyMoney Transaction Matcher KMyMoney Transaction Matcher Ace Jones Use Cases Case #1A: Matching hand-entered transactions manually I enter a transaction by hand, with payee, amount, date & category. I download

More information

How to set up SQL Source Control The short guide for evaluators

How to set up SQL Source Control The short guide for evaluators GUIDE How to set up SQL Source Control The short guide for evaluators 1 Contents Introduction Team Foundation Server & Subversion setup Git setup Setup without a source control system Making your first

More information

Test-Driven Development (TDD)

Test-Driven Development (TDD) Test-Driven Development (TDD) CS 4501 / 6501 Software Testing [Lasse Koskela, Test Driven, Chapters 2-3] 1 Agile Airplane Testing Test harness: Appearance matches Color coding in place Fly 6ft (or 2m)

More information

[PDF] Database Systems: Design, Implementation, And Management (Book Only)

[PDF] Database Systems: Design, Implementation, And Management (Book Only) [PDF] Database Systems: Design, Implementation, And Management (Book Only) This text provides in-depth coverage of database design, demonstrating that the key to successful database implementation is in

More information

Lock Picking and Physical Security. Tyler Nighswander

Lock Picking and Physical Security. Tyler Nighswander Lock Picking and Physical Security Tyler Nighswander Lock Picking and Physical Security Tyler Nighswander Introduction Who I am: PPP member (specializes in crypto and hardware interested in everything!)

More information

Total Score /15 /20 /30 /10 /5 /20 Grader

Total Score /15 /20 /30 /10 /5 /20 Grader NAME: NETID: CS2110 Fall 2009 Prelim 2 November 17, 2009 Write your name and Cornell netid. There are 6 questions on 8 numbered pages. Check now that you have all the pages. Write your answers in the boxes

More information

MITOCW ocw f99-lec12_300k

MITOCW ocw f99-lec12_300k MITOCW ocw-18.06-f99-lec12_300k This is lecture twelve. OK. We've reached twelve lectures. And this one is more than the others about applications of linear algebra. And I'll confess. When I'm giving you

More information

Assertions. Assertions - Example

Assertions. Assertions - Example References: internet notes; Bertrand Meyer, Object-Oriented Software Construction; 11/13/2003 1 Assertions Statements about input to a routine or state of a class Have two primary roles As documentation,

More information

MTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45

MTAT Software Engineering. Written Exam 10 January Start: 9:15 End: 11:45 MTAT.03.094 Software Engineering Written Exam 10 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail

More information

Recursively Enumerable Languages, Turing Machines, and Decidability

Recursively Enumerable Languages, Turing Machines, and Decidability Recursively Enumerable Languages, Turing Machines, and Decidability 1 Problem Reduction: Basic Concepts and Analogies The concept of problem reduction is simple at a high level. You simply take an algorithm

More information

[PDF] Agile Project Management & Scrum QuickStart Guides

[PDF] Agile Project Management & Scrum QuickStart Guides [PDF] Agile Project Management & Scrum QuickStart Guides The ultimate companion for professionals interested or involved in Agile and Scrum, this book will give you a holistic, well-balanced introduction

More information

Tree traversals and binary trees

Tree traversals and binary trees Tree traversals and binary trees Comp Sci 1575 Data Structures Valgrind Execute valgrind followed by any flags you might want, and then your typical way to launch at the command line in Linux. Assuming

More information

Abstract Data Types! Documentation!

Abstract Data Types! Documentation! ! Abstract Data Types! Documentation! 13-1! Documentation! Users are only interested in the properties of the ADT! Programmers and designers require all the information which a user needs AND all information

More information

Extreme programming XP 6

Extreme programming XP 6 Extreme programming XP 6 Planning Game 3 Planning Game Independent: Stories should be as independent as possible. When thinking of independence it is often easier to think of order independent. In other

More information

Keeping Order:! Stacks, Queues, & Deques. Travis W. Peters Dartmouth College - CS 10

Keeping Order:! Stacks, Queues, & Deques. Travis W. Peters Dartmouth College - CS 10 Keeping Order:! Stacks, Queues, & Deques 1 Stacks 2 Stacks A stack is a last in, first out (LIFO) data structure Primary Operations: push() add item to top pop() return the top item and remove it peek()

More information

CS106A, Stanford Handout #30. Coding Style

CS106A, Stanford Handout #30. Coding Style CS106A, Stanford Handout #30 Fall, 2004-05 Nick Parlante Coding Style When writing paper, you can have well-crafted, correctly spelled sentences and create "A" work. Or you can hack out the text in a hurry.

More information

Creating Object Classes in True BASIC

Creating Object Classes in True BASIC Introduction Creating Object Classes in True BASIC by Thomas E. Kurtz Co-inventor of BASIC Now that we have seen and experienced the use of an object class, through the driver StackDriver.tru, let s now

More information

Oracle Cloud. Content and Experience Cloud ios Mobile Help E

Oracle Cloud. Content and Experience Cloud ios Mobile Help E Oracle Cloud Content and Experience Cloud ios Mobile Help E82090-01 February 2017 Oracle Cloud Content and Experience Cloud ios Mobile Help, E82090-01 Copyright 2017, 2017, Oracle and/or its affiliates.

More information

JUnit 4 and Java EE 5 Better Testing by Design

JUnit 4 and Java EE 5 Better Testing by Design JUnit 4 and Java EE 5 Better Testing by Design Kent Beck Alberto Savoia Agitar Software Inc. www.agitar.com TS-1580 2006 JavaOne SM Conference Session TS-1580 Simplifying Developer Testing JUnit 4 further

More information

Analysis of the Test Driven Development by Example

Analysis of the Test Driven Development by Example Computer Science and Applications 1 (2013) 5-13 Aleksandar Bulajic and Radoslav Stojic The Faculty of Information Technology, Metropolitan University, Belgrade, 11000, Serbia Received: June 18, 2013 /

More information

The Need for Agile Project Management

The Need for Agile Project Management The Need for Agile Project Management by Mike Cohn 21 Comments originally published in Agile Times Newsletter on 2003-01-01 One of the common misperceptions about agile processes is that there is no need

More information

Outline for Today. Euler Tour Trees Revisited. The Key Idea. Dynamic Graphs. Implementation Details. Dynamic connectivity in forests.

Outline for Today. Euler Tour Trees Revisited. The Key Idea. Dynamic Graphs. Implementation Details. Dynamic connectivity in forests. Dynamic Graphs Outline for Today Euler Tour Trees Revisited Dynamic connectivity in forests. The Key Idea Maintaining dynamic connectivity in general graphs Dynamic Graphs A data structure for dynamic

More information

Lesson Share TEACHER'S NOTES LESSON SHARE. ing by Olya Sergeeva. Overview. Preparation. Procedure

Lesson Share TEACHER'S NOTES LESSON SHARE.  ing by Olya Sergeeva. Overview. Preparation. Procedure Lesson Share TEACHER'S NOTES Age: Adults Level: Intermediate + Time: 1 hour 40 minutes Objective: to practise writing work-related emails Key skills: writing Materials: one copy of the worksheet per student;

More information

Arduino IDE Friday, 26 October 2018

Arduino IDE Friday, 26 October 2018 Arduino IDE Friday, 26 October 2018 12:38 PM Looking Under The Hood Of The Arduino IDE FIND THE ARDUINO IDE DOWNLOAD First, jump on the internet with your favorite browser, and navigate to www.arduino.cc.

More information

Intro. Scheme Basics. scm> 5 5. scm>

Intro. Scheme Basics. scm> 5 5. scm> Intro Let s take some time to talk about LISP. It stands for LISt Processing a way of coding using only lists! It sounds pretty radical, and it is. There are lots of cool things to know about LISP; if

More information

New Customer Campaign

New Customer Campaign 65 65 New Customer Campaign This 4 month campaign is designed to welcome new customers to your company, and costs only $7.00 per contact. In addition, every piece is customized with your company information

More information

Dilbert Scott Adams. CSc 233 Spring 2012

Dilbert Scott Adams. CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 Dilbert Scott Adams CSc 233 Spring 2012 2 Dilbert Scott Adams CSc 233 Spring 2012 3 prerequisites CSc 233 Spring 2012 I thought we had agreed long ago that the Department

More information

Practical 2: Ray Tracing

Practical 2: Ray Tracing 2017/2018, 4th quarter INFOGR: Graphics Practical 2: Ray Tracing Author: Jacco Bikker The assignment: The purpose of this assignment is to create a small Whitted-style ray tracer. The renderer should be

More information

Introduction to Extreme Programming

Introduction to Extreme Programming Introduction to Extreme Programming References: William Wake, Capital One Steve Metsker, Capital One Kent Beck Robert Martin, Object Mentor Ron Jeffries,et.al. 12/3/2003 Slide Content by Wake/Metsker 1

More information

CS106B Handout 34 Autumn 2012 November 12 th, 2012 Data Compression and Huffman Encoding

CS106B Handout 34 Autumn 2012 November 12 th, 2012 Data Compression and Huffman Encoding CS6B Handout 34 Autumn 22 November 2 th, 22 Data Compression and Huffman Encoding Handout written by Julie Zelenski. In the early 98s, personal computers had hard disks that were no larger than MB; today,

More information

Defining Done in User Stories

Defining Done in User Stories This article originally appeared on Artima Developer on Wednesday, January 6, 2010. To access it online, visit: http://www.artima.com/articl es/defining_done.html Defining Done in User Stories By Victor

More information

GUARD1 PLUS Documentation. Version TimeKeeping Systems, Inc. GUARD1 PLUS and THE PIPE are registered trademarks

GUARD1 PLUS Documentation. Version TimeKeeping Systems, Inc. GUARD1 PLUS and THE PIPE are registered trademarks GUARD1 PLUS Documentation Version 3.02 2000-2005 TimeKeeping Systems, Inc. GUARD1 PLUS and THE PIPE are registered trademarks i of TimeKeeping Systems, Inc. Table of Contents Welcome to Guard1 Plus...

More information

Abstract Data Types Documentation

Abstract Data Types Documentation Abstract Data Types Documentation ADT-doc-1 Documentation Users are only interested in the properties of the ADT Programmers and designers require all the information which a user needs AND all information

More information

Expanding Our Horizons. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 9 09/25/2011

Expanding Our Horizons. CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 9 09/25/2011 Expanding Our Horizons CSCI 4448/5448: Object-Oriented Analysis & Design Lecture 9 09/25/2011 1 Goals of the Lecture Cover the material in Chapter 8 of our textbook New perspective on objects and encapsulation

More information

CREATING EFFECTIVE USER STORIES

CREATING EFFECTIVE USER STORIES CREATING EFFECTIVE USER STORIES THE PRODUCT OWNER S PERSPECTIVE By: Philip Wess CREATING EFFECTIVE USER STORIES (THE PRODUCT OWNER'S PERSPECTIVE)... 1 Overview of a User Story... 2 Epics vs User Stories...

More information

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology.

In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. Guide to and Hi everybody! In our first lecture on sets and set theory, we introduced a bunch of new symbols and terminology. This guide focuses on two of those symbols: and. These symbols represent concepts

More information

Algorithms & Datastructures Laboratory Exercise Sheet 1

Algorithms & Datastructures Laboratory Exercise Sheet 1 Algorithms & Datastructures Laboratory Exercise Sheet 1 Wolfgang Pausch Heiko Studt René Thiemann Tomas Vitvar

More information

CS 160: Evaluation. Professor John Canny Spring /15/2006 1

CS 160: Evaluation. Professor John Canny Spring /15/2006 1 CS 160: Evaluation Professor John Canny Spring 2006 2/15/2006 1 Outline User testing process Severity and Cost ratings Discount usability methods Heuristic evaluation HE vs. user testing 2/15/2006 2 Outline

More information

Please follow the steps outlined below to complete your repurchase submission.

Please follow the steps outlined below to complete your repurchase submission. Please follow the steps outlined below to complete your repurchase submission. 1) Visit www.fsinvestments.com and select your role. If this does not appear please continue to the next step. 2) Click tender

More information

Arrays. Comp Sci 1570 Introduction to C++ Array basics. arrays. Arrays as parameters to functions. Sorting arrays. Random stuff

Arrays. Comp Sci 1570 Introduction to C++ Array basics. arrays. Arrays as parameters to functions. Sorting arrays. Random stuff and Arrays Comp Sci 1570 Introduction to C++ Outline and 1 2 Multi-dimensional and 3 4 5 Outline and 1 2 Multi-dimensional and 3 4 5 Array declaration and An array is a series of elements of the same type

More information

Quick Tips to Using I-DEAS. Learn about:

Quick Tips to Using I-DEAS. Learn about: Learn about: Quick Tips to Using I-DEAS I-DEAS Tutorials: Fundamental Skills windows mouse buttons applications and tasks menus icons part modeling viewing selecting data management using the online tutorials

More information

CS 160: Evaluation. Outline. Outline. Iterative Design. Preparing for a User Test. User Test

CS 160: Evaluation. Outline. Outline. Iterative Design. Preparing for a User Test. User Test CS 160: Evaluation Professor John Canny Spring 2006 2/15/2006 1 2/15/2006 2 Iterative Design Prototype low-fi paper, DENIM Design task analysis contextual inquiry scenarios sketching 2/15/2006 3 Evaluate

More information

Hands-On Lab. Agile Planning and Portfolio Management with Team Foundation Server Lab version: Last updated: 11/25/2013

Hands-On Lab. Agile Planning and Portfolio Management with Team Foundation Server Lab version: Last updated: 11/25/2013 Hands-On Lab Agile Planning and Portfolio Management with Team Foundation Server 2013 Lab version: 12.0.21005.1 Last updated: 11/25/2013 CONTENTS OVERVIEW... 3 EXERCISE 1: AGILE PROJECT MANAGEMENT... 4

More information

Who we are: Kristin Martin, Metadata Librarian, Catalog Department Peter Hepburn, Digitization Librarian, Digital Programs Department

Who we are: Kristin Martin, Metadata Librarian, Catalog Department Peter Hepburn, Digitization Librarian, Digital Programs Department Introduction Who we are: Kristin Martin, Metadata Librarian, Catalog Department Peter Hepburn, Digitization Librarian, Digital Programs Department Many of the images in this presentation come from the

More information

CPSC 221: Algorithms and Data Structures ADTs, Stacks, and Queues

CPSC 221: Algorithms and Data Structures ADTs, Stacks, and Queues CPSC 221: Algorithms and Data Structures ADTs, Stacks, and Queues Alan J. Hu (Slides borrowed from Steve Wolfman) Be sure to check course webpage! http://www.ugrad.cs.ubc.ca/~cs221 1 Lab 1 available very

More information

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time!

Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time! Testing in an Agile Environment Understanding Testing role and techniques in an Agile development environment. Just enough, just in time! Today s Topics How the Tester s Role Changes in Agile Testing in

More information

Good afternoon and thank you for being at the webinar on accessible PowerPoint presentations. This is Dr. Zayira Jordan web accessibility coordinator

Good afternoon and thank you for being at the webinar on accessible PowerPoint presentations. This is Dr. Zayira Jordan web accessibility coordinator Good afternoon and thank you for being at the webinar on accessible PowerPoint presentations. This is Dr. Zayira Jordan web accessibility coordinator at Iowa State and this is the topic for this week s

More information

Working with Adobe Premiere Pro CS4

Working with Adobe Premiere Pro CS4 Working with Adobe Premiere Pro CS4 Setup When you open Premiere Pro CS4, you see a window that allows you to either start a new project, open an existing project or search Premiere's help menu. For the

More information

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45

MTAT Software Engineering. Written Exam 17 January Start: 9:15 End: 11:45 MTAT.03.094 Software Engineering Written Exam 17 January 2014 Start: 9:15 End: 11:45 Important Notes: The exam is open book and open laptop. Web browsing is allowed, but you are not allowed to use e mail

More information

Letter from the editor.

Letter from the editor. Enjoy reading the January issue of the HP-39/40g newsletter! In this issue we will talk about: 1. Letter from the editor. 2. Program of the month. 3. Upcoming Programs. 4. Interview with Nobody. 5. Michaël

More information

Day in the Life of an SAP Consultant using IntelliCorp s LiveCompare Software

Day in the Life of an SAP Consultant using IntelliCorp s LiveCompare Software Day in the Life of an SAP Consultant using IntelliCorp s LiveCompare Software Introduction Consultants use LiveCompare on a daily basis to help them deliver results to their clients more effectively and

More information

Hi everyone. I hope everyone had a good Fourth of July. Today we're going to be covering graph search. Now, whenever we bring up graph algorithms, we

Hi everyone. I hope everyone had a good Fourth of July. Today we're going to be covering graph search. Now, whenever we bring up graph algorithms, we Hi everyone. I hope everyone had a good Fourth of July. Today we're going to be covering graph search. Now, whenever we bring up graph algorithms, we have to talk about the way in which we represent the

More information

Creating accessible forms

Creating accessible forms Creating accessible forms Introduction Creating an accessible form can seem tricky. Some of the questions people commonly ask include: Can I use protected forms? How do I lay out my prompts and questions?

More information

ABSTRACT DATA TYPES (ADTS) COMP1927 Computing 2 16x1 Sedgewick Chapter 4

ABSTRACT DATA TYPES (ADTS) COMP1927 Computing 2 16x1 Sedgewick Chapter 4 ABSTRACT DATA TYPES (ADTS) COMP1927 Computing 2 16x1 Sedgewick Chapter 4 ABSTRACTION To understand a system, it should be enough to understand what its components do without knowing how Watching a television

More information

STUDENT FAQS (LAUNCHPAD, WRITER'S HELP 2.0, AND LEARNINGCURVE)

STUDENT FAQS (LAUNCHPAD, WRITER'S HELP 2.0, AND LEARNINGCURVE) STUDENT FAQS (LAUNCHPAD, WRITER'S HELP 2.0, AND LEARNINGCURVE) Table of Contents... 3 What are the minimum system requirements for your media?... 4 Access Code FAQs... 6 How do I register for my course

More information

Emma for Students Lesson 2: Peer Review and Graded Documents

Emma for Students Lesson 2: Peer Review and Graded Documents Emma for Students Lesson 2: Peer Review and Graded Documents Viewing a List of Class Documents When you start to do peer reviews, you may want to see all the papers that have been submitted and are ready

More information

TEST-DRIVEN DEVELOPMENT

TEST-DRIVEN DEVELOPMENT tdd 2003/6/10 21:42 page 5 #25 Chapter 1 TEST-DRIVEN DEVELOPMENT To vouch this, is no proof, Without more wider and more overt test -Othello,Act 1 Scene 3 William Shakespeare From programmers to users,

More information

Lowering the Level of

Lowering the Level of Lowering the Level of Conversation @KevlinHenney https://twitter.com/kevlinhenney/status/761081424493449217 A goto completely invalidates the high-level structure of the code. Taligent's Guide to Designing

More information

INTERFACES IN JAVA. Prof. Chris Jermaine

INTERFACES IN JAVA. Prof. Chris Jermaine INTERFACES IN JAVA Prof. Chris Jermaine cmj4@cs.rice.edu 1 Now On To Interfaces in Java Java gives the ability to declare an interface Like a, except: Can t declare any member variables (well, you can,

More information

Saturday, October 26th, 11am. JALT2013, Kobe Convention Center, Portopia Kobe, October 25th - 28th.

Saturday, October 26th, 11am. JALT2013, Kobe Convention Center, Portopia Kobe, October 25th - 28th. Metaprograms as a Tool for Critical Thinking in Reading and Writing Second JALT Critical Thinking SIG forum Cullen, Brian - Nagoya Institute of Technology cullen.brian@gmail.com Saturday, October 26th,

More information

A New Era of Website Design Features, Benefits, and Pricing

A New Era of Website Design Features, Benefits, and Pricing A New Era of Website Design Features, Benefits, and Pricing Convert Visitors to Customers We know what users are looking for on a website. We will provide a design that attracts visitors and converts them

More information

Injector. Windows Server 2008/2008 R2. Automai, Corp.

Injector. Windows Server 2008/2008 R2.   Automai, Corp. Injector Windows Server 2008/2008 R2 www.automai.com Automai, Corp. Contents INJECTOR OPTIMIZATIONS... 3 GROUP POLICY CONFIGURATIONS... 3 Internet Explorer - Disable AutoComplete and HTTP Error Message

More information

Test-Driven Development

Test-Driven Development Test-Driven Development Kenneth M. Anderson University of Colorado, Boulder CSCI 4448/6448 Lecture 27 12/2/08 University of Colorado, 2008 Credit where Credit is Due Some of the material for this lecture

More information

WLANs = Counterintuitive

WLANs = Counterintuitive WLANs = Counterintuitive Page 1 WLW 019 - WLANs = Counterintuitive WLANs = Counterintuitive This week we ll be talking about some of the counter intuitive issues concerning Wireless LANs. Many things in

More information