Model Minded Development. George Fairbanks SATURN 3 May 2016

Size: px
Start display at page:

Download "Model Minded Development. George Fairbanks SATURN 3 May 2016"

Transcription

1 Model Minded Development George Fairbanks SATURN 3 May 2016

2 Developers weave models Developers keep in mind many abstract yet complex models that constrain the code they write Domain driven design Design patterns Architectural styles Test Driven Design (TDD) Programming styles (functional, OO, procedural, etc.)...

3 What is Model Minded Development? Model-Minded Development generalizes across DDD, design patterns, architecture, TDD, and coding styles. It s the general idea behind many specific ones: Modeling should be a first-class activity

4 Do we really need models? Simple process Imagine discussing with a co-worker He says Forget this abstract stuff. Follow this simple process and be happy. Get new requirement Write test case Edit code minimally so test passes Refactor to remove code duplication repeat forever Answer: Yes we need models, but how can we convince him?

5 Companies: short and long-term Short-term Cashflow Long-term R&D

6 Software development: short and long-term Short-term Deliver features Long-term Build models This is my gut feel, maybe yours too

7 Example behavior with/without models Without models With models Get new requirement Write test case Edit code minimally so test passes Refactor to remove code duplication Get new requirement Does it challenge our models? a. E.g., client-server still OK? b. E.g., domain model still OK? Revise models Write test case Revise code to match model

8 Why model? Need good arguments. For those who don t share our gut feel, two arguments: 1. Programming is theory building 2. Programming is distributed cognition These describe why you cannot skip modeling

9 Programming is theory building

10 Peter Naur (1985) Programming as Theory Building [P]rogramming properly should be regarded as an activity by which the programmers form or achieve a certain kind of insight, a theory, of the matters at hand. This suggestion is in contrast to what appears to be a more common notion, that programming should be regarded as a production of a program and certain other texts. Emphasis added

11 Understanding addition Knowing that Knowing how Memorized facts General theory of addition Know that 3+4=7 Memorize addition table No answers after, eg, 6+6 No understanding; no theory Can add small numbers More mistakes with larger numbers Addition makes numbers bigger Understanding; a theory theory model Gilbert Ryle (1949): Knowing How and Knowing That

12 Understanding software Compare: 1. Developer who can report facts about the program 2. Developer who can give impromptu chalk talk about any aspect of the program Developer #2 has a rich theory of the program Valuable but rare Seed questions: How do we get more chalk talk ready developers? Does university do enough? Do current processes help or hurt?

13 Theory building in science Over time, tune theory to match past observations Goal: theory matches future observations Refactor theory observations past future How well I understand How well theory matches future observations

14 Theory building in programming Over time, tune program to satisfy requirements Goal: avoid dead ends, program can always be adapted to next requirement Refactor theory program output past future How well I understand How well program can produce future output

15 What makes a theory valuable? Worse understanding Better understanding

16 DDD breakthrough Eric Evans, Domain Driven Design, 2004

17 Peter Naur (1985) Programming as Theory Building [P]rogramming properly should be regarded as an activity by which the programmers form or achieve a certain kind of insight, a theory, of the matters at hand. This suggestion is in contrast to what appears to be a more common notion, that programming should be regarded as a production of a program and certain other texts.

18 Programming without theory building [P]rogramming should be regarded as a production of a program and certain other texts. Every feature we add to this geocentric model makes it harder to add the next feature!

19 Programming is distributed cognition

20 Long division?????

21 Long division 2??

22 Long division 29?

23 Long division

24 Internal-external representations match?????

25 Roman numerals, really???????? XLV XIIIXCV

26 Arabic numerals, unhelpful positions

27 Internal - external model alignment Diagram from Stroop effect, not long division

28 Distributed cognition Limits to pure-internal cognition So we use internal + external [D]ifferent representations of a problem can have dramatic impact on problem difficulty even if the formal structures are the same. -- Jaijie Zhang and Donald Norman 1994

29 How do you steer a ship?

30 How do you steer a ship? Challenge 1: Team Many people, each with partial understanding Challenge 2: Internal-external Make internal sense of external representation (charts, logs, ) Success requires: Compatible models across team Effective external representations

31 Teamwork + external representation Ann Carl 45 Diane Bob

32 Programming: External representation Programming bridges internal and external representations Clues in the code Variable name customers, not x Named patterns Client-Server Lambda Observer Note: these are trivial examples; models are deep

33 What are our models?

34 You, doing architecture recovery You are recognizing existing patterns / models Hey, it looks like your system, broadly speaking, has 3 tiers Is it reasonable to group these 3 boxes as related to batch processing? Can you point out which boxes have persistent state, which are stateless? Reusable models must be linked (Sitting in a book they do nothing)

35 Developers weave models into programs Compare: Novelist weaving a story Hero s journey, character development, foreshadowing, dramatic irony, tension/humor, Programmer weaving a program Reusable and ad hoc domain models Patterns and styles Development processes and practices Models are richer than we can yet describe

36 Types of models visible in code Domain Industry standard ontologies Solution Patterns (idioms, design, architecture) Programming styles (Cristina Videira Lopes) Responsibility allocation, encapsulation, parsing Mathematical Logic Logic, set theory, category theory, metamodeling

37 Reusable and ad hoc models Reusable models Ad hoc models Domain Industry standard ontologies Your domain model Solution Patterns (idioms, design, architecture) Programming styles (Cristina Videira Lopes) Responsibility allocation, encapsulation, parsing Your patterns Your styles Mathematical Logic Logic, set theory, category theory, metamodeling Rare

38 Yesterday, today, tomorrow

39 Yesterday Yesterday Process allocates time to modeling Yes Models are first class citizens Yes, in documents Guilt when no design docs / models Medium Domain / machine separation Yes, in documents Education (university, industry) OOA&D, spec / impl, design patterns, Formalisms and notations UML Feedback loops Medium

40 Today Yesterday Today Process allocates time to modeling Yes Rarely Models are first class citizens Yes, in documents No (few documents) Guilt when no design docs / models Medium Rarely Domain / machine separation Yes, in documents Rarely (eg DDD in code) Education (university, industry) OOA&D, spec / impl, design patterns, Rarely Formalisms and notations UML No Feedback loops Medium Fast (good!)

41 Today: Developers build models anyway Good news: Lots of intellectual curiosity Lots of laziness (DRY) Management tolerates some slack I.e., figuring things out that isn t immediately delivery focused But: Model building discouraged by process, done on the side Not taught directly Social stigma: Modeling with the door shut

42 Tomorrow: Balanced systems and models Systems and models ready for the next requirement program output past future

43 Tomorrow: Developers who can chalk talk Ready to talk about: Zoom in / out Technical debt Crosscutting concerns Evolving requirements Not just greybeards: High % of engineers In mid-20 s Taught in university

44 Tomorrow: Processes promote model building Model building as first-class activity Models in code, on whiteboards, in docs, in conversations Brute force solutions as a code smell E.g., IF statement instead of improved model Avoid coding knowing that Result: More senior engineers faster Achieve internalized rich models at younger age

45 Tomorrow: Universities teach modeling Undergrads should be taught model building explicitly Developers I see have ~8 years programming experience and 0 years modeling experience So: Teach general techniques explicitly Activate those techniques in context eg OS models, DB models, Domain models Refactor documentation books as modeling books Documenting Software Architectures (SEI++) Requirements Engineering (Van Lamsweerde)

46 Model Minded Development Developers keep in mind many abstract yet complex models that constrain the code they write. Model-Minded Development generalizes across DDD, design patterns, architecture, TDD, and coding styles. 1. Programming is theory building 2. Programming is distributed cognition Modeling should be a first-class activity

Model Oriented Domain Analysis & Engineering Thinking Tools for Interdisciplinary Research, Design, and Engineering

Model Oriented Domain Analysis & Engineering Thinking Tools for Interdisciplinary Research, Design, and Engineering Model Oriented Domain Analysis & Engineering Thinking Tools for Interdisciplinary Research, Design, and Engineering knowledge sharing knowledge validation knowledge visualisation knowledge reuse collaboration

More information

TDD Making sure everything works. Agile Transformation Summit May, 2015

TDD Making sure everything works. Agile Transformation Summit May, 2015 TDD Making sure everything works Agile Transformation Summit May, 2015 My name is Santiago L. Valdarrama (I don t play soccer. I m not related to the famous Colombian soccer player.) I m an Engineer Manager

More information

Creating Agile Programs:

Creating Agile Programs: Creating Agile Programs Vendor Name: Rally Software Development Johanna Rothman, Owner Rothman Consulting Group, Inc. Johanna Rothman: Hi. I m Johanna Rothman, author of Manage It!: Your Guide to Modern,

More information

UNIT-III LIFE-CYCLE PHASES

UNIT-III LIFE-CYCLE PHASES INTRODUCTION: UNIT-III LIFE-CYCLE PHASES - If there is a well defined separation between research and development activities and production activities then the software is said to be in successful development

More information

o o o o o o o o o o o o

o o o o o o o o o o o o ONE ROW NIM Introduction: Nim is a two-person, perfect-knowledge game of strategy. Perfect knowledge means that there are no hidden cards or moves, and no dice to roll, and therefore that both players

More information

Reading Closely to Develop Themes

Reading Closely to Develop Themes Reading Closely to Develop Themes Connection- Evolution of Theme Have you ever noticed how themes in life change over time? What are some themes in your life that have changed over time? If you rethink

More information

Exploring YOUR inner-self through Vocal Profiling

Exploring YOUR inner-self through Vocal Profiling Thank you for taking the opportunity to experience the nvoice computer program. As you speak into the microphone, the computer will catalog your words into musical note patterns. Your print-out will reflect

More information

Effective Iconography....convey ideas without words; attract attention...

Effective Iconography....convey ideas without words; attract attention... Effective Iconography...convey ideas without words; attract attention... Visual Thinking and Icons An icon is an image, picture, or symbol representing a concept Icon-specific guidelines Represent the

More information

If...Then Unit Nonfiction Book Clubs. Bend 1: Individuals Bring Their Strengths as Nonfiction Readers to Clubs

If...Then Unit Nonfiction Book Clubs. Bend 1: Individuals Bring Their Strengths as Nonfiction Readers to Clubs If...Then Unit Nonfiction Book Clubs Bend 1: Individuals Bring Their Strengths as Nonfiction Readers to Clubs Session 1 Connection: Readers do you remember the last time we formed book clubs in first grade?

More information

Methodology for Agent-Oriented Software

Methodology for Agent-Oriented Software ب.ظ 03:55 1 of 7 2006/10/27 Next: About this document... Methodology for Agent-Oriented Software Design Principal Investigator dr. Frank S. de Boer (frankb@cs.uu.nl) Summary The main research goal of this

More information

38. Looking back to now from a year ahead, what will you wish you d have done now? 39. Who are you trying to please? 40. What assumptions or beliefs

38. Looking back to now from a year ahead, what will you wish you d have done now? 39. Who are you trying to please? 40. What assumptions or beliefs A bundle of MDQs 1. What s the biggest lie you have told yourself recently? 2. What s the biggest lie you have told to someone else recently? 3. What don t you know you don t know? 4. What don t you know

More information

Course Introduction and Overview of Software Engineering. Richard N. Taylor Informatics 211 Fall 2007

Course Introduction and Overview of Software Engineering. Richard N. Taylor Informatics 211 Fall 2007 Course Introduction and Overview of Software Engineering Richard N. Taylor Informatics 211 Fall 2007 Software Engineering A discipline that deals with the building of software systems which are so large

More information

Our Digital Future: An Interview with the UM Dean of School of Information

Our Digital Future: An Interview with the UM Dean of School of Information University of Michigan Deep Blue deepblue.lib.umich.edu 2011-01 Our Digital Future: An Interview with the UM Dean of School of Information MacKie-Mason, Jeffrey K.; Peters, Allison; Wang, Julia; Zhang,

More information

xunit Test Patterns Refactoring Test Code Gerard Meszaros r\addison-wesley

xunit Test Patterns Refactoring Test Code Gerard Meszaros r\addison-wesley xunit Test Patterns Refactoring Test Code Gerard Meszaros r\addison-wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid Capetown Sydney

More information

What to Look for When Hiring a PMO/PM Consultant

What to Look for When Hiring a PMO/PM Consultant What to Look for When Hiring a PMO/PM Consultant It s hard to know where to start when you are tasked with building or optimizing (and yes, sometimes rescuing) your PMO or PM practice in your organization.

More information

#SpigitIgnite1. Innovation is Hard. Brent Foster, Engineering Director, Corporate Innovation, American Express

#SpigitIgnite1. Innovation is Hard. Brent Foster, Engineering Director, Corporate Innovation, American Express #SpigitIgnite1 Innovation is Hard Brent Foster, Engineering Director, Corporate Innovation, American Express Innovation is Hard "Skepticism is as much the result of knowledge, as knowledge is of skepticism.

More information

10. Personas. Plan for ISSD Lecture #10. 1 October Bob Glushko. Roadmap to the lectures. Stakeholders, users, and personas

10. Personas. Plan for ISSD Lecture #10. 1 October Bob Glushko. Roadmap to the lectures. Stakeholders, users, and personas 10. Personas 1 October 2008 Bob Glushko Plan for ISSD Lecture #10 Roadmap to the lectures Stakeholders, users, and personas User models and why personas work Methods for creating and using personas Problems

More information

Software Maintenance Cycles with the RUP

Software Maintenance Cycles with the RUP Software Maintenance Cycles with the RUP by Philippe Kruchten Rational Fellow Rational Software Canada The Rational Unified Process (RUP ) has no concept of a "maintenance phase." Some people claim that

More information

Agreement Technologies Action IC0801

Agreement Technologies Action IC0801 Agreement Technologies Action IC0801 Sascha Ossowski Agreement Technologies Large-scale open distributed systems Social Science Area of enormous social and economic potential Paradigm Shift: beyond the

More information

IS 525 Chapter 2. Methodology Dr. Nesrine Zemirli

IS 525 Chapter 2. Methodology Dr. Nesrine Zemirli IS 525 Chapter 2 Methodology Dr. Nesrine Zemirli Assistant Professor. IS Department CCIS / King Saud University E-mail: Web: http://fac.ksu.edu.sa/nzemirli/home Chapter Topics Fundamental concepts and

More information

Object-oriented Analysis and Design

Object-oriented Analysis and Design Object-oriented Analysis and Design Stages in a Software Project Requirements Writing Understanding the Client s environment and needs. Analysis Identifying the concepts (classes) in the problem domain

More information

MITOCW R11. Principles of Algorithm Design

MITOCW R11. Principles of Algorithm Design MITOCW R11. Principles of Algorithm Design The following content is provided under a Creative Commons license. Your support will help MIT OpenCourseWare continue to offer high quality educational resources

More information

A Theory about the Structure of GTSEs

A Theory about the Structure of GTSEs A Theory about the Structure of GTSEs Dewayne E Perry ENS 623 Perry@ece.utexas.edu 1 Separation of Concerns An important separation of concerns distinguish between Theories about software engineers (SEs)

More information

Radically better software development with Extreme Programming. Carl Erickson Atomic Object LLC October 2002

Radically better software development with Extreme Programming. Carl Erickson Atomic Object LLC October 2002 Radically better software development with Extreme Programming Carl Erickson Atomic Object LLC October 2002 The software crisis Software is all too often Over budget Late to market Buggy Not accepted by

More information

An introduction to these key work products

An introduction to these key work products Architecture Overview Diagram & Component Model An introduction to these key work products Learning Objectives At the end of this lecture, you should be able to: Understand: What is an Architecture Overview

More information

Tips, Tricks, and Pitfalls When Getting Started Outsourcing to the Philippines

Tips, Tricks, and Pitfalls When Getting Started Outsourcing to the Philippines Tips, Tricks, and Pitfalls When Getting Started Outsourcing to the Philippines Short Introduction Over the past year I ve seen a lot of people do their first outsourcing to the Philippines. I ve seen a

More information

UML and Patterns.book Page 52 Thursday, September 16, :48 PM

UML and Patterns.book Page 52 Thursday, September 16, :48 PM UML and Patterns.book Page 52 Thursday, September 16, 2004 9:48 PM UML and Patterns.book Page 53 Thursday, September 16, 2004 9:48 PM Chapter 5 5 EVOLUTIONARY REQUIREMENTS Ours is a world where people

More information

The Art of. Christy Whitman s. Interview with. Kat Loterzo

The Art of. Christy Whitman s. Interview with. Kat Loterzo Christy Whitman s Interview with Kat Loterzo Having it all is not about striving for perfection, or about living our lives according to someone else s standards or expectations (we ve done that for far

More information

Welcome to 6.S084! Computation Structures (special)

Welcome to 6.S084! Computation Structures (special) Welcome to 6.S084! Computation Structures (special) Spring 2018 6.S084 Course Staff Instructors Arvind arvind@csail.mit.edu Daniel Sanchez sanchez@csail.mit.edu Teaching Assistants Silvina Hanono Wachman

More information

Worksheets :::1::: Copyright Zach Browman - All Rights Reserved Worldwide

Worksheets :::1::: Copyright Zach Browman - All Rights Reserved Worldwide Worksheets :::1::: WARNING: This PDF is for your personal use only. You may NOT Give Away, Share Or Resell This Intellectual Property In Any Way All Rights Reserved Copyright 2012 Zach Browman. All rights

More information

Appendix I Engineering Design, Technology, and the Applications of Science in the Next Generation Science Standards

Appendix I Engineering Design, Technology, and the Applications of Science in the Next Generation Science Standards Page 1 Appendix I Engineering Design, Technology, and the Applications of Science in the Next Generation Science Standards One of the most important messages of the Next Generation Science Standards for

More information

CS Division of EECS Dept. KAIST

CS Division of EECS Dept. KAIST Chapter 3 Prescriptive Process Models Moonzoo Kim CS Division of EECS Dept. KAIST 1 Prescriptive Models Prescriptive process models advocate an orderly approach to software engineering That leads to a

More information

GOALS TO ASPECTS: DISCOVERING ASPECTS ORIENTED REQUIREMENTS

GOALS TO ASPECTS: DISCOVERING ASPECTS ORIENTED REQUIREMENTS GOALS TO ASPECTS: DISCOVERING ASPECTS ORIENTED REQUIREMENTS 1 A. SOUJANYA, 2 SIDDHARTHA GHOSH 1 M.Tech Student, Department of CSE, Keshav Memorial Institute of Technology(KMIT), Narayanaguda, Himayathnagar,

More information

Emerging Trends in Software Engineering

Emerging Trends in Software Engineering Emerging Trends in Software Engineering presented by Roger S. Pressman, Ph.D. R.S. Pressman & Associates, Inc. Boca Raton, Florida USA January, 2009 1 Predictions One of the things that I think we have

More information

Software Design and Architecture

Software Design and Architecture Software Design and Architecture The once and future focus of software engineering Richard N. Taylor André van der Hoek University of California, Irvine Structure of the Paper Introduction Paradigms and

More information

Shipbuilding Principles: Planning, Production and Assembly

Shipbuilding Principles: Planning, Production and Assembly Higher National Unit Specification General information for centres Unit title: Shipbuilding Principles: Planning, Production and Assembly Unit code: DR2F 34 Unit purpose: This Unit is designed to enable

More information

3 Visualizations That Will materialize Real Wealth

3 Visualizations That Will materialize Real Wealth 3 Visualizations That Will materialize Real Wealth By Darren Regan 3 VISUALIZATIONS THAT WILL MATERIALIZE REAL WEALTH Contents Visualizing to Materialize Real Wealth...3 Why Visualize?... 5 Get Comfy,

More information

Sample excerpt from Transitions: Pathways to the Life and World Your Soul Desires - Page 1 of 5. An excerpt from

Sample excerpt from Transitions: Pathways to the Life and World Your Soul Desires - Page 1 of 5. An excerpt from Transitions: Pathways to the Life and World Your Soul Desires - Page 1 of 5 An excerpt from From chapter Connect with Your Deep Desires The Iceberg of Deep Desires Quick. Instant response: What does your

More information

Empirical Research on Systems Thinking and Practice in the Engineering Enterprise

Empirical Research on Systems Thinking and Practice in the Engineering Enterprise Empirical Research on Systems Thinking and Practice in the Engineering Enterprise Donna H. Rhodes Caroline T. Lamb Deborah J. Nightingale Massachusetts Institute of Technology April 2008 Topics Research

More information

... Quality Think/Quick Write... DESCRIBE SOMEONE YOU CONSIDER TO VERY FULL OF ENTHUSIASM. You would describe this person as ENTHUSIASTIC!

... Quality Think/Quick Write... DESCRIBE SOMEONE YOU CONSIDER TO VERY FULL OF ENTHUSIASM. You would describe this person as ENTHUSIASTIC! NAME DEFINITION: It is great excitement for or interest in a subject or cause. It has been explained further as "Expressing joy in each task as I give it my best effort." http://www.thefreedictionary.com/enthusiasm

More information

Computer Science: Who Cares? Computer Science: It Matters. Computer Science: Disciplines

Computer Science: Who Cares? Computer Science: It Matters. Computer Science: Disciplines Computer Science: Who Cares? Computer Graphics (1970 s): One department, at one university Several faculty, a few more students $5,000,000 grant from ARPA Original slides by Chris Wilcox, Edited and extended

More information

Meta-models, Environment and Layers: Agent-Oriented Engineering of Complex Systems

Meta-models, Environment and Layers: Agent-Oriented Engineering of Complex Systems Meta-models, Environment and Layers: Agent-Oriented Engineering of Complex Systems Ambra Molesini ambra.molesini@unibo.it DEIS Alma Mater Studiorum Università di Bologna Bologna, 07/04/2008 Ambra Molesini

More information

TRAFFIC CONVERSION SECRETS MODULE #6 OF 8 RECYCLING STRATEGIES: HOW TO MONETIZE YOUR ABANDONMENT TRAFFIC

TRAFFIC CONVERSION SECRETS MODULE #6 OF 8 RECYCLING STRATEGIES: HOW TO MONETIZE YOUR ABANDONMENT TRAFFIC TRAFFIC CONVERSION SECRETS MODULE #6 OF 8 RECYCLING STRATEGIES: HOW TO MONETIZE YOUR ABANDONMENT TRAFFIC QUOTE OF THE WEEK: A clever, humorous request can open closed doors and closed minds. ~ Percy Ross

More information

Monologues for Easter

Monologues for Easter Monologues for Easter C. Scott Ananian cananian@alumni.princeton.edu April 1, 1996 (slightly revised April 6, 2006) [There are 2 male actors ( MAN, SOMMERS), and 1 female ( EVERHART). LOVELACE and the

More information

How to Encourage a Child to Read (Even if Your Child Is Older and Hates Reading)

How to Encourage a Child to Read (Even if Your Child Is Older and Hates Reading) Podcast Episode 180 Unedited Transcript Listen here How to Encourage a Child to Read (Even if Your Child Is Older and Hates Reading) David Loy: Hi and welcome to In the Loop with Andy Andrews, I m your

More information

Agile Non-Agile. Previously on Software Engineering

Agile Non-Agile. Previously on Software Engineering Previously on : Are we enough? Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska DSDM: Project overview Software Development Framework How to communicate? How to divide project into tasks?

More information

Ideas beyond Number. Teacher s guide to Activity worksheets

Ideas beyond Number. Teacher s guide to Activity worksheets Ideas beyond Number Teacher s guide to Activity worksheets Learning objectives To explore reasoning, logic and proof through practical, experimental, structured and formalised methods of communication

More information

[Game] Programming I Didn t Learn In School

[Game] Programming I Didn t Learn In School [Game] Programming I Didn t Learn In School presented by Anton Gerdelan Trinity College Dublin antongerdelan.net me computer graphics research, Trinity College Dublin, Ireland lectured

More information

Click here to find out more about the book that will teach you how-to design presentations like the pros.

Click here to find out more about the book that will teach you how-to design presentations like the pros. What you are about to read is the result of 10 years of hands-on presentation design experience. My name is Adam Noar, and I am the founder of Presentation Panda a presentation design firm that builds

More information

SAFETY CASE PATTERNS REUSING SUCCESSFUL ARGUMENTS. Tim Kelly, John McDermid

SAFETY CASE PATTERNS REUSING SUCCESSFUL ARGUMENTS. Tim Kelly, John McDermid SAFETY CASE PATTERNS REUSING SUCCESSFUL ARGUMENTS Tim Kelly, John McDermid Rolls-Royce Systems and Software Engineering University Technology Centre Department of Computer Science University of York Heslington

More information

The Buck Starts Here. Doug Kalish, PhD. Negotiating job offers and salary. #dougsguides UCB V18

The Buck Starts Here. Doug Kalish, PhD. Negotiating job offers and salary. #dougsguides UCB V18 The Buck Starts Here Negotiating job offers and salary Doug Kalish, PhD #dougsguides UCB V18 http://www.dougsguides.com http://www.dougsguides.com 2 Today s Agenda Negotiating your first job offer Preparing

More information

Smart Money, Smart Kids 6 Contentment Priceless

Smart Money, Smart Kids 6 Contentment Priceless Smart Money, Smart Kids 6 Contentment Priceless Handout adapted from the book Smart Money Smart Kids, by Dave Ramsey & Rachel Cruze Handout can be downloaded at www.austinchristianparenting.com/smart-money-smart-kids/

More information

Anne Reckling: Thank you so much for much taking the time today. Now how old were you when you were diagnosed?

Anne Reckling: Thank you so much for much taking the time today. Now how old were you when you were diagnosed? It made my friends more protective of me. They didn t really want me doing the same things that they did because they were afraid I would get hurt or I d get sick or something would happen, which was nice,

More information

Two Perspectives on Logic

Two Perspectives on Logic LOGIC IN PLAY Two Perspectives on Logic World description: tracing the structure of reality. Structured social activity: conversation, argumentation,...!!! Compatible and Interacting Views Process Product

More information

Software Architecture. New wine in old bottles? (i.e., software architecture global design?, architect designer)

Software Architecture. New wine in old bottles? (i.e., software architecture global design?, architect designer) Software Architecture New wine in old bottles? (i.e., software architecture global design?, architect designer) Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural

More information

Computer Science: Disciplines. What is Software Engineering and why does it matter? Software Disasters

Computer Science: Disciplines. What is Software Engineering and why does it matter? Software Disasters Computer Science: Disciplines What is Software Engineering and why does it matter? Computer Graphics Computer Networking and Security Parallel Computing Database Systems Artificial Intelligence Software

More information

Teenagers Preparing for the Real World

Teenagers Preparing for the Real World Name: Block: Date: Teenagers Preparing for the Real World Directions: Complete the following questions by choosing the best answer, filling in the blank, or providing a short answer. Kid at Camp p.9-12

More information

1

1 http://www.songwriting-secrets.net/letter.html 1 Praise for How To Write Your Best Album In One Month Or Less I wrote and recorded my first album of 8 songs in about six weeks. Keep in mind I'm including

More information

Thriving Systems Theory:

Thriving Systems Theory: Thriving Systems Theory: An Emergent Information Systems Design Theory Les Waguespack, Ph.D. Professor & Chairperson of Computer Information Systems William T. Schiano professor of Computer Information

More information

A Mashup of Techniques to Create Reference Architectures

A Mashup of Techniques to Create Reference Architectures A Mashup of Techniques to Create Reference Architectures Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Rick Kazman, John McGregor Copyright 2012 Carnegie Mellon University.

More information

Visual Art Standards Grades P-12 VISUAL ART

Visual Art Standards Grades P-12 VISUAL ART Visual Art Standards Grades P-12 Creating Creativity and innovative thinking are essential life skills that can be developed. Artists and designers shape artistic investigations, following or breaking

More information

HUSTLE YOUR WAY TO THE TOP

HUSTLE YOUR WAY TO THE TOP 2011: year of the HUSTLE YOUR WAY TO THE TOP Get Inside Their Heads: How To Avoid No and Score Big Wins By Deeply Understanding Your Prospect BY RAMIT SETHI hustle 2 MOST PEOPLE DESERVE TO FAIL Today,

More information

Module 9 Putting It All Together

Module 9 Putting It All Together Module 9 Putting It All Together In this module, well cover: How to find a Guest Client Sample letters to send to new prospects Scripts for telephone calls to source new business A step-by-step guide to

More information

Orange High School. Year 8 Mathematics. Assignment 1

Orange High School. Year 8 Mathematics. Assignment 1 Full name: Teacher: Due date: Orange High School Year 8 Mathematics Assignment 1 2017 Syllabus Outcomes This assignment will address many outcomes from the Stage 4 syllabus, with particular focus on: Calculates

More information

CSTA K- 12 Computer Science Standards: Mapped to STEM, Common Core, and Partnership for the 21 st Century Standards

CSTA K- 12 Computer Science Standards: Mapped to STEM, Common Core, and Partnership for the 21 st Century Standards CSTA K- 12 Computer Science s: Mapped to STEM, Common Core, and Partnership for the 21 st Century s STEM Cluster Topics Common Core State s CT.L2-01 CT: Computational Use the basic steps in algorithmic

More information

VCXO Basics David Green & Anthony Scalpi

VCXO Basics David Green & Anthony Scalpi VCXO Basics David Green & Anthony Scalpi Overview VCXO, or Voltage Controlled Crystal Oscillators are wonderful devices they function in feedback systems to pull the crystal operating frequency to meet

More information

Software Engineering: A Practitioner s Approach, 7/e. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman

Software Engineering: A Practitioner s Approach, 7/e. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman Chapter 9 Architectural Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit

More information

Goal. Understanding Themes and Ideas. Why is this goal important?

Goal. Understanding Themes and Ideas. Why is this goal important? Goal 7 Supporting Comprehension in Fiction Understanding Themes and Ideas Why is this goal important? Stories are rich with issues and ideas, many of which don t always jump off the page at you. It takes

More information

I once said my hobby is Instagram. They looked at me like I am fool like you doing right now.

I once said my hobby is Instagram. They looked at me like I am fool like you doing right now. INTRODUCTION Good morning Ladies and Gentlemen It is such honour to be here today I would like to congratulate you on coming this far. Many are called but few are chosen and in this context that statement

More information

Permanent Innovation

Permanent Innovation Permanent Innovation Proven Strategies and Methods of Successful Innovators Langdon Morris Preface by Hartmut Esslinger Notes on the Revised Edition, 2011 The Revised Edition of Permanent Innovation has

More information

Perfection is the Enemy of Progress

Perfection is the Enemy of Progress Perfection is the Enemy of Progress Page 1 I feel like I ve been saying that a lot. We do a lot. We are ALL doing a lot. I am willing to bet that every single one of you that reads this article does A

More information

To control, or to be controlled

To control, or to be controlled THE GRANDEST CHALLENGE To control, or to be controlled Arch 587: Design Computing Theory Research Paper Teng Teng 12.11.2012 The development of design tools The word Design comes from an Italian word disegno,

More information

Model-Based Systems Engineering Methodologies. J. Bermejo Autonomous Systems Laboratory (ASLab)

Model-Based Systems Engineering Methodologies. J. Bermejo Autonomous Systems Laboratory (ASLab) Model-Based Systems Engineering Methodologies J. Bermejo Autonomous Systems Laboratory (ASLab) Contents Introduction Methodologies IBM Rational Telelogic Harmony SE (Harmony SE) IBM Rational Unified Process

More information

Autonomous Maintenance

Autonomous Maintenance Autonomous Maintenance Autonomous Maintenance occurs when maintenance responsibilities are shared between operators and maintenance. For example, when you re driving your own car around, you re the operator.

More information

Towards a Methodology for Designing Artificial Conscious Robotic Systems

Towards a Methodology for Designing Artificial Conscious Robotic Systems Towards a Methodology for Designing Artificial Conscious Robotic Systems Antonio Chella 1, Massimo Cossentino 2 and Valeria Seidita 1 1 Dipartimento di Ingegneria Informatica - University of Palermo, Viale

More information

Understanding Systems through Graph Theory and Dynamic Visualization

Understanding Systems through Graph Theory and Dynamic Visualization 2015 NDIA GROUND VEHICLE SYSTEMS ENGINEERING AND TECHNOLOGY SYMPOSIUM SYSTEMS ENGINEERING (SE) TECHNICAL SESSION AUGUST 4-6, 2015 - NOVI, MICHIGAN Understanding Systems through Graph Theory and Dynamic

More information

How Minimalism Brought Me Freedom and Joy

How Minimalism Brought Me Freedom and Joy How Minimalism Brought Me Freedom and Joy I have one bag of clothes, one backpack with a computer, ipad, and phone. I have zero other possessions. Today I have no address. At this exact moment I am sitting

More information

Computer Aided Design Basic Course

Computer Aided Design Basic Course Kon-41.3006 Computer Aided Design Basic Course 23 th September 2016 Agenda Practical Arrangements Parametric Modeling Software 2 Practical Arrangements Course Staff kaur.jaakma@aalto.fi Responsible Teacher

More information

Big Balls of Mud in Agile Development Can we Avoid Them? Joseph W. Yoder

Big Balls of Mud in Agile Development Can we Avoid Them? Joseph W. Yoder Big Balls of Mud in Agile Development Can we Avoid Them? Joseph W. Yoder www.refactory.com Copyright 2011 Joseph W. Yoder & The Refactory, Inc. Big Ball of Mud Alias: Shantytown, Spaghetti Code A BIG BALL

More information

Revised East Carolina University General Education Program

Revised East Carolina University General Education Program Faculty Senate Resolution #17-45 Approved by the Faculty Senate: April 18, 2017 Approved by the Chancellor: May 22, 2017 Revised East Carolina University General Education Program Replace the current policy,

More information

R3ST for Requirements Recovery of Legacy Runtime Code

R3ST for Requirements Recovery of Legacy Runtime Code R3ST for Requirements Recovery of Legacy Runtime Code Eko K. Budiardjo, Elviawaty M. Zamzami, and Wahyudianto, Member, IACSIT Abstract In reality, we often find that proven and workable software, exist

More information

Astronomy Project Assignment #4: Journal Entry

Astronomy Project Assignment #4: Journal Entry Assignment #4 notes Students need to imagine that they are a member of the space colony and to write a journal entry about a typical day. Once again, the main purpose of this assignment is to keep students

More information

MITOCW watch?v=fp7usgx_cvm

MITOCW watch?v=fp7usgx_cvm MITOCW watch?v=fp7usgx_cvm Let's get started. So today, we're going to look at one of my favorite puzzles. I'll say right at the beginning, that the coding associated with the puzzle is fairly straightforward.

More information

School Based Projects

School Based Projects Welcome to the Week One lesson. School Based Projects Who is this lesson for? If you're a high school, university or college student, or you're taking a well defined course, maybe you're going to your

More information

Introduction to Computer Science

Introduction to Computer Science Introduction to CS, 2003 p.1 Introduction to Computer Science Ian Leslie with thanks to Robin Milner, Andrew Pitts and others... Computer Laboratory In the beginning... Introduction to CS, 2003 p.2 Introduction

More information

CS360: AI & Robotics. TTh 9:25 am - 10:40 am. Shereen Khoja 8/29/03 CS360 AI & Robotics 1

CS360: AI & Robotics. TTh 9:25 am - 10:40 am. Shereen Khoja 8/29/03 CS360 AI & Robotics 1 CS360: AI & Robotics TTh 9:25 am - 10:40 am Shereen Khoja shereen@pacificu.edu 8/29/03 CS360 AI & Robotics 1 Artificial Intelligence v We call ourselves Homo sapiens v What does this mean? 8/29/03 CS360

More information

Strategic Bargaining. This is page 1 Printer: Opaq

Strategic Bargaining. This is page 1 Printer: Opaq 16 This is page 1 Printer: Opaq Strategic Bargaining The strength of the framework we have developed so far, be it normal form or extensive form games, is that almost any well structured game can be presented

More information

ADVANCED COMPETITIVE DUPLICATE BIDDING

ADVANCED COMPETITIVE DUPLICATE BIDDING This paper introduces Penalty Doubles and Sacrifice Bids at Duplicate. Both are quite rare, but when they come up, they are heavily dependent on your ability to calculate alternative scores quickly and

More information

Avoiding the Problems

Avoiding the Problems Information Systems Concepts Avoiding the Problems Roman Kontchakov Birkbeck, University of London Based on Chapter 3 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and Design Using UML,

More information

CRUCIAL CONVERSATION: TOOLS FOR TALKING WHEN STAKES ARE HIGH

CRUCIAL CONVERSATION: TOOLS FOR TALKING WHEN STAKES ARE HIGH CRUCIAL CONVERSATION: TOOLS FOR TALKING WHEN STAKES ARE HIGH Patrice Ann McGuire Senior Consultant McGuire Business Partners Sussex, WI patrice@wi.rr.com 414-234-0665 August 8-10, 2018 Graduate School

More information

Executive Summary. Chapter 1. Overview of Control

Executive Summary. Chapter 1. Overview of Control Chapter 1 Executive Summary Rapid advances in computing, communications, and sensing technology offer unprecedented opportunities for the field of control to expand its contributions to the economic and

More information

The Use of Memory and Causal Chunking in the Game of Shogi

The Use of Memory and Causal Chunking in the Game of Shogi The Use of Memory and Causal Chunking in the Game of Shogi Takeshi Ito 1, Hitoshi Matsubara 2 and Reijer Grimbergen 3 1 Department of Computer Science, University of Electro-Communications < ito@cs.uec.ac.jp>

More information

A MESSAGE TO GYM OWNERS WHO ARE FRUSTRATED WITH THE AMOUNT OF MONEY THEY ARE MAKING

A MESSAGE TO GYM OWNERS WHO ARE FRUSTRATED WITH THE AMOUNT OF MONEY THEY ARE MAKING A MESSAGE TO GYM OWNERS WHO ARE FRUSTRATED WITH THE AMOUNT OF MONEY THEY ARE MAKING Dear Club Owner, Hello. My name is Jim Thomas. I have been teaching many of you how to consistently shorten the learning

More information

Latest fast diode technology tailored to soft switching applications

Latest fast diode technology tailored to soft switching applications AN_201708_PL52_024 600 V CoolMOS CFD7 About this document Scope and purpose The new 600 V CoolMOS TM CFD7 is Infineon s latest high voltage (HV) SJ MOSFET technology with integrated fast body diode. It

More information

You are the first resource of your business and its biggest obstacle. You are the common denominator in every decision you make for your business.

You are the first resource of your business and its biggest obstacle. You are the common denominator in every decision you make for your business. 2018 Strategic Plan The purpose of this plan is to evaluate, allocate, focus and optimize your personal resources to direct the growth of your business. It will provide the blueprint for a unique business

More information

Grundlagen des Software Engineering Fundamentals of Software Engineering

Grundlagen des Software Engineering Fundamentals of Software Engineering Software Engineering Research Group: Processes and Measurement Fachbereich Informatik TU Kaiserslautern Grundlagen des Software Engineering Fundamentals of Software Engineering Winter Term 2011/12 Prof.

More information

Career Roadmap. Career Development Office. Contents. Introduction... 2 Steps to creating a career road map

Career Roadmap. Career Development Office. Contents. Introduction... 2 Steps to creating a career road map Career Roadmap Contents Career Development Office Introduction... 2 Steps to creating a career road map... 2 3 1. Career Visioning 2. Who am I and how do I want to contribute... 3. Identify possible careers....

More information

5 0 I N S I D E R T I P S T O G O F R O M M A K I N G A L I V I N G T O M A K I N G A L I F E

5 0 I N S I D E R T I P S T O G O F R O M M A K I N G A L I V I N G T O M A K I N G A L I F E 5 0 I N S I D E R T I P S T O G O F R O M M A K I N G A L I V I N G T O M A K I N G A L I F E F R O M P E O P L E T H A T H A V E G O N E B E F O R E Y O U Hi, thank you for signing up and welcome in our

More information

Mindfulness: A doorway to the Human Curriculum

Mindfulness: A doorway to the Human Curriculum Mindfulness: A doorway to the Human Curriculum Allan Donsky MD Clinical Assistant Professor, Department of Psychiatry, University of Calgary Adjunct Professor, Department of Child and Youth Studies, Mount

More information

Developing and Distributing a CubeSat Model-Based Systems Engineering (MBSE) Reference Model Interim Status

Developing and Distributing a CubeSat Model-Based Systems Engineering (MBSE) Reference Model Interim Status Developing and Distributing a CubeSat Model-Based Systems Engineering (MBSE) Reference Model Interim Status Dave Kaslow Chair: International Council on Systems Engineering (INCOSE) Space Systems Working

More information