Model Minded Development. George Fairbanks SATURN 3 May 2016
|
|
- Kathleen Rose
- 5 years ago
- Views:
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 knowledge sharing knowledge validation knowledge visualisation knowledge reuse collaboration
More informationTDD 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 informationCreating 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 informationUNIT-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 informationo 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 informationReading 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 informationExploring 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 informationEffective 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 informationIf...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 informationMethodology 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 information38. 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 informationCourse 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 informationOur 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 informationxunit 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 informationWhat 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 Innovation is Hard "Skepticism is as much the result of knowledge, as knowledge is of skepticism.
More information10. 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 informationSoftware 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 informationAgreement 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 informationIS 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 informationObject-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 informationMITOCW 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 informationA 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 informationRadically 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 informationAn 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 informationTips, 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 informationUML 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 informationThe 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 informationWelcome 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 informationWorksheets :::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 informationAppendix 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 informationCS 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 informationGOALS 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 informationEmerging 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 informationSoftware 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 informationShipbuilding 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 information3 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 informationSample 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 informationEmpirical 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!
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 informationComputer 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 informationMeta-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 informationTRAFFIC 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 informationMonologues 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 informationHow 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 informationAgile 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 informationIdeas 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 presented by Anton Gerdelan Trinity College Dublin antongerdelan.net me computer graphics research, Trinity College Dublin, Ireland lectured
More informationClick 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 informationSAFETY 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 informationThe 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 informationSmart 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 informationAnne 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 informationTwo 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 informationSoftware 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 informationComputer 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 informationTeenagers 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 information1
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 informationThriving 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 informationA 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 informationVisual 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 informationHUSTLE 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 informationModule 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 informationOrange 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 informationCSTA 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 informationVCXO 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 informationSoftware 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 informationGoal. 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 informationI 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 informationPermanent 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 informationPerfection 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 informationTo 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 informationModel-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 informationAutonomous 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 informationTowards 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 informationUnderstanding 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 informationHow 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 informationComputer 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 informationBig 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 informationRevised 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 informationR3ST 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 informationAstronomy 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 informationMITOCW 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 informationSchool 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 informationIntroduction 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 informationCS360: 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 informationStrategic 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 informationADVANCED 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 informationAvoiding 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 informationCRUCIAL 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 informationExecutive 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 informationThe 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 informationA 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 informationLatest 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 informationYou 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 informationGrundlagen 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 informationCareer 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 information5 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 informationMindfulness: 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 informationDeveloping 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