Haskell Programming With Tests, and Some Alloy
|
|
|
- Bryan Barrett
- 10 years ago
- Views:
Transcription
1 Haskell Programming With Tests, and Some Alloy Jan van Eijck Master SE, 2010
2 Abstract How to write a program in Haskell, and how to use the Haskell testing tools... QuickCheck is a tool written in the functional programming language Haskell that allows testing of specifications by means of randomly generated tests. QuickCheck is part of the standard Haskell library. Re-implementations of QuickCheck exist for many languages, including Ruby and Scheme. SmallCheck is a similar tool, different from QuickCheck in that it tests properties for all finitely many values of a datatype up to some given depth, with progressive increase of depth. Haskell is a research language: many of the testing tools that were first developed for Haskell later find their way to other languages. These slides discuss QuickCheck (two versions), SmallCheck, and some work in progress. We end with some examples of Alloy specifications.
3 How to Write a Haskell Program program
4 Influence of QuickCheck SIGPLAN Most Influential ICFP Paper Award 2010 (for 2000): Quickcheck: a lightweight tool for random testing of Haskell programs, Koen Claessen and John Hughes This paper presented a very simple but powerful system for testing Haskell programs that has had significant impact on the practice of debugging programs in Haskell. The paper describes a clever way to use type classes and monads to automatically generate random test data. QuickCheck has since become an extremely popular Haskell library that is widely used by programmers, and has been incorporated into many undergraduate courses in Haskell. The techniques described in the paper have spawned a significant body of follow-on work in test case generation. They have also been adapted to other languages, leading to their commercialisation for Erlang and C.
5 QuickCheck: Background See the QuickCheck webpage at QuickCheck/. From this page: QuickCheck is a tool for testing Haskell programs automatically. The programmer provides a specification of the program, in the form of properties which functions should satisfy, and QuickCheck then tests that the properties hold in a large number of randomly generated cases. Specifications are expressed in Haskell, using combinators defined in the QuickCheck library. QuickCheck provides combinators to define properties, observe the distribution of test data, and define test data generators. QuickCheck has excellent documentation on the Haskell homepage, for
6 it is a standard Haskell library. See From this: QuickCheck is effectively an embedded domain specific language for testing Haskell code. More information on the QuickCheck website se/~rjmh/quickcheck/ and in the papers Claessen and Hughes [2000] Claessen and Hughes [2003] (see link on website). An online manual is at html.
7 A Simple Example A simple example of a property definition is prop_revrev xs = reverse (reverse xs) == xs where types = xs::[int] To check the property, we load this definition in to hugs and then invoke Main> quickcheck prop_revrev OK, passed 100 tests.
8 When a property fails, QuickCheck displays a counter-example. example, if we define For prop_revid xs = reverse xs == xs where types = xs::[int] then checking it results in Main> quickcheck prop_revid Falsifiable, after 1 tests: [-3,15]
9 Chapter on Testing in Real World Haskell html
10 Simplification of CounterExamples QuickCheck 2 computes minimal counterexamples. Method: simplify a counterexample and check if the test still fails. A counterexample is minimal if it fails the test but all its simplifications succeed. See Hughes [2007].
11 SmallCheck smallcheck Based on the small domain hypothesis that is also the chief article of faith behind Alloy. See Runciman et al. [2008]
12 Irulan (work in progress) Draft paper: pdf
13 Contract Checking for Haskell Xu et al.
14 And a bit of Alloy... Alloy for automated logical reasoning Alloy specifications of algorithms On your to do list: Look through the example code in these slides, make sure you understand what is happening.
15 Checking the Consistency and the Consequences of a Story Consider the following story: John likes all girls. Some girl likes everybody but John. Mary likes only John. No boy except John likes every girl. 1. Use Alloy to check whether this is a consistent story. 2. Use Alloy to check whether it follows from the above that John is the only boy.
16 Crime Scene Investigation With Alloy Story about witnesses, their assertions, and meta-information about how many of them are truthful. From this the consistent scenarios can be generated with Alloy... How?
17 Reasoning about Repetition: Finding Celebrities Let us assume that a celebrity (within a certain circle of people) is characterized by the following two properties: everybody knows the celebrity, the celebrity does not know anyone else. (Whether the celebrity knows him- or herself does not matter.) Here is the problem we are going to solve. In a company of about one thousand people there is a celebrity. The task is to spot this person by repeatedly asking the question do you know that person?
18 Naive solution Pick a candidate-celebrity X, and ask for each of the others whether X knows them. If X happens to know anyone, we go on with the next candidate. If it turns out that X knows noone, we have found our celebrity. If you are out of luck the first candidate knows of the 999 others precisely the last one, and you need to pose 999 questions to rule her out. Similarly, for the second candidate it might take at worst 998 questions to rule him out, and so on. Thus, this worst-case scenario will take = ( ) 1000 = questions (almost a half million).
19 Better Solution Given any two people x and y there are two outcomes for the question whether x knows y: x knows y then x is not the celebrity. x does not know y then y is not the celebrity. The following procedure uses this.
20 Algorithm for Finding Celebrities Start with the list of all people in the domain. Since it is given that the domain contains a celebrity, the list is not empty. While the list has more than one member, take the first two elements x, y from the list; if x knows y then remove x from the list; otherwise, remove y from the list The celebrity is the single person that remains on the list.
21 Finding the Celebrity: Alloy Specification module myexamples/famous open util/ordering[state] as so sig Person { know: set Person } one sig Famous in Person {} fact lonelyatthetop { all x: Person - Famous x!in Famous.know all x: Person - Famous x in know.famous }
22 sig State { mark: set Person } // at initialisation everybody is marked pred init { let fs = so/first fs.mark=person } pred extend [pre, post: State] { some x: pre.mark, y: pre.mark - x y in x.know => post.mark = pre.mark - x else post.mark = pre.mark - y } fact createstates { init all s: State - so/last let s = so/next[s] extend[s,s ] }
23 assert finalmarkfamous { let final = so/last final.mark = Famous } run {} for 10 check finalmarkfamous for 5
24 Matchmaking An internet dating program should match candidates looking for a date, in accordance with a list of criteria. Make this informal specification more precise, and implement it in Ruby or Haskell. Instead, we are going to work out the specification in Alloy. Here are the criteria.
25 Compatible sexual preferences (match gay men with gay men, heterosexual men with heterosexual women (and vice versa), and lesbian women with lesbian women, Age difference in male/female matches no more than ten years if the male is older, no more than five years if the female is older. For cases of m/m and f/f matches: age differences no more than five years. Similar level of education (distinguish three levels). Similar preferences (or at least reasonable overlap in preferences), with preferences ranging over the following list: (i) Concerts and Museums, (ii) Going out, (iii) Sports, (iv) Conversation, (v) Travel.
26 module myexamples/matchmaking open util/relation as rel open util/ordering[age] as order abstract sig Person { age: Age, edu: Edu, i: set Interest, match: set Person } abstract sig Male extends Person {} abstract sig Female extends Person {} sig Straight, Gay in Person {}
27 fact { Person - Straight = Gay } fact { some Gay } sig Age {} abstract sig Edu {} one sig Basic, Middle, Higher extends Edu {} abstract sig Interest {} one sig Concerts, GoingOut, Sports, Conversation, Travel extends Interest {} fact matchconstraints { irreflexive[match] symmetric[match] all x,y: Person y in match[x] => edu[x] = edu[y]
28 all x,y: Person y in match[x] and x in Male and y in Female => x+y in Straight all x,y: Male y in match[x] => x+y in Gay all x,y: Female y in match[x] => x+y in Gay all x,y: Person y in match[x] => age[x] = age[y] or age[x].prev = age[y] or age[y].prev = age[x] or (x in Male and y in Female and age[x].prev.prev = age[y]) all x,y: Person y in match[x] => i[x] = i[y] or #(i[x] & i[y]) > 2
29 } run { total[match,person]} for exactly 10 Person, exactly 5 Age
30 References Koen Claessen and John Hughes. QuickCheck: A lightweight tool for random testing of Haskell programs,. In Proc. of International Conference on Functional Programming (ICFP), ACM SIGPLAN, Koen Claessen and John Hughes. Specification based testing with QuickCheck. In The Fun of Programming, Cornerstones of Computing, pages Palgrave, John Hughes. Quickcheck testing for fun and profit. In Michael Hanus, editor, Practical Aspects of Declarative Languages; 9th International Symposium, PADL 2007, Nice, France, volume 4353 of Lecture Notes in Computer Science, pages Springer, Colin Runciman, Matthew Naylor, and Fredrik Lindblad. SmallCheck and lazy SmallCheck: automatic exhaustive testing for small values.
31 In Haskell 08: Proceedings of the first ACM SIGPLAN symposium on Haskell, pages 37 48, New York, NY, USA, ACM. Dana N. Xu, Simon Peyton Jones, and Koen Claessen. Static contract checking for Haskell.
Detecting Pattern-Match Failures in Haskell. Neil Mitchell and Colin Runciman York University www.cs.york.ac.uk/~ndm/catch
Detecting Pattern-Match Failures in Haskell Neil Mitchell and Colin Runciman York University www.cs.york.ac.uk/~ndm/catch Does this code crash? risers [] = [] risers [x] = [[x]] risers (x:y:etc) = if x
The countdown problem
JFP 12 (6): 609 616, November 2002. c 2002 Cambridge University Press DOI: 10.1017/S0956796801004300 Printed in the United Kingdom 609 F U N C T I O N A L P E A R L The countdown problem GRAHAM HUTTON
Testing Telecoms Software with Quviq QuickCheck
Testing Telecoms Software with Quviq QuickCheck Thomas Arts IT University of Göteborg, Gothenburg, Sweden and Quviq AB [email protected] John Hughes Chalmers University, Gothenburg, Sweden and Quviq
2.1 Complexity Classes
15-859(M): Randomized Algorithms Lecturer: Shuchi Chawla Topic: Complexity classes, Identity checking Date: September 15, 2004 Scribe: Andrew Gilpin 2.1 Complexity Classes In this lecture we will look
Advanced Functional Programming (9) Domain Specific Embedded Languages
Advanced Functional Programming (9) Domain Specific Embedded Languages Advanced Functional Programming (9) Domain Specific Embedded Languages, Universiteit Utrecht http://www.cs.uu.nl/groups/st/ February
GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS
13_BOLCHINI.qxd 3/26/2003 10:25 Pagina 187 SComS: New Media in Education (2003) 187-191 DAVIDE BOLCHINI* GOAL-BASED WEB DESIGN TOWARDS BRIDGING THE GAP BETWEEN REQUIREMENTS AND DESIGN OF WEB APPLICATIONS
Factoring & Primality
Factoring & Primality Lecturer: Dimitris Papadopoulos In this lecture we will discuss the problem of integer factorization and primality testing, two problems that have been the focus of a great amount
Infinite Pretty-printing in exene
Infinite Pretty-printing in exene Allen Stoughton Kansas State University Manhattan, KS 66506, USA [email protected] http://www.cis.ksu.edu/~allen/home.html Abstract. We describe the design and implementation
Monitoring Web Browsing Habits of User Using Web Log Analysis and Role-Based Web Accessing Control. Phudinan Singkhamfu, Parinya Suwanasrikham
Monitoring Web Browsing Habits of User Using Web Log Analysis and Role-Based Web Accessing Control Phudinan Singkhamfu, Parinya Suwanasrikham Chiang Mai University, Thailand 0659 The Asian Conference on
Model-based approach to design web application testing tool
American Journal of Software Engineering and Applications 2014; 3(5): 63-67 Published online November 20, 2014 (http://www.sciencepublishinggroup.com/j/ajsea) doi: 10.11648/j.ajsea.20140305.12 ISSN: 2327-2473
Testing and Tracing Lazy Functional Programs using QuickCheck and Hat
Testing and Tracing Lazy Functional Programs using QuickCheck and Hat Koen Claessen 1, Colin Runciman 2, Olaf Chitil 2, John Hughes 1, and Malcolm Wallace 2 1 Chalmers University of Technology, Sweden
15 Most Typically Used Interview Questions and Answers
15 Most Typically Used Interview Questions and Answers According to the reports of job seekers, made from thousands of job interviews, done at 97 big companies in the United States, we selected the 15
Rake Task Management Essentials
Rake Task Management Essentials Andrey Koleshko Chapter No. 8 "Testing Rake Tasks" In this package, you will find: A Biography of the author of the book A preview chapter from the book, Chapter NO.8 "Testing
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
Static Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
Working with Youth to Develop Critical Thinking Skills On Sexual Violence and Dating Violence: Three Suggested Classroom Activities
Working with Youth to Develop Critical Thinking Skills On Sexual Violence and Dating Violence: Three Suggested Classroom Activities The Southern Arizona Center Against Sexual Assault s Rape Prevention
Cedalion A Language Oriented Programming Language (Extended Abstract)
Cedalion A Language Oriented Programming Language (Extended Abstract) David H. Lorenz Boaz Rosenan The Open University of Israel Abstract Implementations of language oriented programming (LOP) are typically
Getting It Straight What the Research Shows about Homosexuality. Peter Sprigg and Timothy Dailey, Co-Editors
Getting It Straight What the Research Shows about Homosexuality Peter Sprigg and Timothy Dailey, Co-Editors Getting It Straight: What the Research Shows about Homosexuality ISBN 1-55872-009-X 2004 by Family
Off-Campus Employer JobX Training Guide
Off-Campus Employer JobX Training Guide Student Employment Services Training Topics: 1. Introduction 2. Login 3. Add a job 4. Edit a job 5. Review on-line applications 6. Send Hiring Correspondence to
Type Classes with Functional Dependencies
Appears in Proceedings of the 9th European Symposium on Programming, ESOP 2000, Berlin, Germany, March 2000, Springer-Verlag LNCS 1782. Type Classes with Functional Dependencies Mark P. Jones Department
A Security Domain Model for Static Analysis and Verification of Software Programs
A Security Domain Model for Static Analysis and Verification of Software Programs Alan B. Shaffer Naval Postgraduate School Computer Science Dept Monterey, CA, USA [email protected] Abstract- Unauthorized
So today we shall continue our discussion on the search engines and web crawlers. (Refer Slide Time: 01:02)
Internet Technology Prof. Indranil Sengupta Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No #39 Search Engines and Web Crawler :: Part 2 So today we
Facilitating Consistency Check between Specification and Implementation with MapReduce Framework
Facilitating Consistency Check between Specification and Implementation with MapReduce Framework Shigeru KUSAKABE, Yoichi OMORI, and Keijiro ARAKI Grad. School of Information Science and Electrical Engineering,
Software Specification and Testing
Software Specification and Testing Using UML and OCL Jonathan Milley Faculty of Engineering and Applied Science MUN St. John s, Newfoundland Email: [email protected] Dr. Dennis K. Peters Faculty of Engineering
The Clean programming language. Group 25, Jingui Li, Daren Tuzi
The Clean programming language Group 25, Jingui Li, Daren Tuzi The Clean programming language Overview The Clean programming language first appeared in 1987 and is still being further developed. It was
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Karagpur
Cryptography and Network Security Prof. D. Mukhopadhyay Department of Computer Science and Engineering Indian Institute of Technology, Karagpur Lecture No. #06 Cryptanalysis of Classical Ciphers (Refer
The Character Assassination of Jordan Baker in The Great Gatsby
Jonathan T. Dillon Professor Andrew Strombeck English 3060-02 April 4, 2013 The Character Assassination of Jordan Baker in The Great Gatsby Within literary circles, Jordan Baker's sexuality in The Great
Writing Academic Essays at University. Philip Seaton, Hokkaido University
Writing Academic Essays at University Philip Seaton, Hokkaido University Writing Academic Essays at University Page 2/ What is Research? Video 1 In this video series, I will be introducing you to the basics
Technology WHITE PAPER
Technology WHITE PAPER What We Do Neota Logic builds software with which the knowledge of experts can be delivered in an operationally useful form as applications embedded in business systems or consulted
Bitrix Intranet Portal. Business Process Guide
Bitrix Intranet Portal Business Process Guide Introduction Bitrix Intranet Portal includes modules providing teamwork functions enabling to handle documents in the context of an intranet portal. The Business
Topic #6: Hypothesis. Usage
Topic #6: Hypothesis A hypothesis is a suggested explanation of a phenomenon or reasoned proposal suggesting a possible correlation between multiple phenomena. The term derives from the ancient Greek,
University of Connecticut Writing Center Writing a Psychology Literature Review
University of Connecticut Writing Center Writing a Psychology Literature Review There are two main approaches to a literature review in psychology. One approach is to choose an area of research, read all
A visual DSL toolkit in Lua
A visual DSL toolkit in Lua Past, present and future Alexander Gladysh Lua Workshop 2013 Toulouse 1 / 44 Outline Introduction The Problem Classic third-party alternatives Past generations
Introductory Problem Solving in Computer Science
Introductory Problem Solving in Computer Science David J. Barnes, Sally Fincher, Simon Thompson Computing Laboratory, University of Kent at Canterbury, Kent, CT2 7NF, England E-mail: [email protected]
APP INVENTOR. Test Review
APP INVENTOR Test Review Main Concepts App Inventor Lists Creating Random Numbers Variables Searching and Sorting Data Linear Search Binary Search Selection Sort Quick Sort Abstraction Modulus Division
Internet Access and Use: Does Cell Phone Interviewing make a difference?
Internet Access and Use: Does Cell Phone Interviewing make a difference? By Evans Witt, Jonathan Best and Lee Rainie A paper prepared for The 2008 Conference of The American Association for Public Opinion
Lecture 13. Understanding Probability and Long-Term Expectations
Lecture 13 Understanding Probability and Long-Term Expectations Thinking Challenge What s the probability of getting a head on the toss of a single fair coin? Use a scale from 0 (no way) to 1 (sure thing).
Colored Hats and Logic Puzzles
Colored Hats and Logic Puzzles Alex Zorn January 21, 2013 1 Introduction In this talk we ll discuss a collection of logic puzzles/games in which a number of people are given colored hats, and they try
Functional Programming
FP 2005 1.1 3 Functional Programming WOLFRAM KAHL [email protected] Department of Computing and Software McMaster University FP 2005 1.2 4 What Kinds of Programming Languages are There? Imperative telling
Outbreak questionnaires and data entry using the new EpiData modules
Outbreak questionnaires and data entry using the new EpiData modules Contents Outbreak questionnaires and data entry using the new EpiData modules... 1 Introduction... 1 A. Install... 2 B. Get to know
DYNAMIC LOAD BALANCING IN A DECENTRALISED DISTRIBUTED SYSTEM
DYNAMIC LOAD BALANCING IN A DECENTRALISED DISTRIBUTED SYSTEM 1 Introduction In parallel distributed computing system, due to the lightly loaded and overloaded nodes that cause load imbalance, could affect
E10: Controlled Experiments
E10: Controlled Experiments Quantitative, empirical method Used to identify the cause of a situation or set of events X is responsible for Y Directly manipulate and control variables Correlation does not
Report on the Examination
Version 1.0 0712 General Certificate of Education (A-level) June Computing COMP2 (Specification 2510) Unit 2: Computer Components, The Stored Program Concept and The Internet Report on the Examination
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
Ranking Programs using Black Box Testing
Ranking Programs using Black Box Testing Koen Claessen Technology [email protected] Nick Smallbone Technology [email protected] John Hughes Technology and Quviq AB [email protected] Hans Svensson Technology
Fast string matching
Fast string matching This exposition is based on earlier versions of this lecture and the following sources, which are all recommended reading: Shift-And/Shift-Or 1. Flexible Pattern Matching in Strings,
The ProB Animator and Model Checker for B
The ProB Animator and Model Checker for B A Tool Description Michael Leuschel and Michael Butler Department of Electronics and Computer Science University of Southampton Highfield, Southampton, SO17 1BJ,
With a wide variety of drag and drop widgets, adding and updating information on your website will be a snap!
The Website Builder Bonzi s Website Builder is an easy to use website management tool that allows anyone, from first time web users to advanced coding gurus, to quickly and efficiently manage the content
Perceptions of College Students in Long Distance Relationships
Perceptions of College Students in Long Distance Relationships Breeana Skinner Faculty Advisor: Carmen Wilson-VanVoorhis, Department of Psychology ABSTRACT This study examined women s perceptions of a
Subject knowledge requirements for entry into computer science teacher training. Expert group s recommendations
Subject knowledge requirements for entry into computer science teacher training Expert group s recommendations Introduction To start a postgraduate primary specialist or secondary ITE course specialising
each college c i C has a capacity q i - the maximum number of students it will admit
n colleges in a set C, m applicants in a set A, where m is much larger than n. each college c i C has a capacity q i - the maximum number of students it will admit each college c i has a strict order i
A Tool for Generating Partition Schedules of Multiprocessor Systems
A Tool for Generating Partition Schedules of Multiprocessor Systems Hans-Joachim Goltz and Norbert Pieth Fraunhofer FIRST, Berlin, Germany {hans-joachim.goltz,nobert.pieth}@first.fraunhofer.de Abstract.
Using Adaptive Random Trees (ART) for optimal scorecard segmentation
A FAIR ISAAC WHITE PAPER Using Adaptive Random Trees (ART) for optimal scorecard segmentation By Chris Ralph Analytic Science Director April 2006 Summary Segmented systems of models are widely recognized
Annotated bibliography for the tutorial on Exploring typed language design in Haskell
Annotated bibliography for the tutorial on Exploring typed language design in Haskell Oleg Kiselyov 1 and Ralf Lämmel 2 1 Fleet Numerical Meteorology and Oceanography Center, Monterey, CA 2 Universität
Johannes Sametinger. C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria
OBJECT-ORIENTED DOCUMENTATION C. Doppler Laboratory for Software Engineering Johannes Kepler University of Linz A-4040 Linz, Austria Abstract Object-oriented programming improves the reusability of software
What is Safeguarding?
What is Safeguarding? Easy read 2011 All images CHANGE http://www.changepeople.co.uk/ 1 Message from CHANGE We hope that you find this document useful to support people with learning disabilities and other
Functional Programming. Functional Programming Languages. Chapter 14. Introduction
Functional Programming Languages Chapter 14 Introduction Functional programming paradigm History Features and concepts Examples: Lisp ML 1 2 Functional Programming Functional Programming Languages The
Joint Response to The Programme for Cohesion, Sharing and Integration Consultation Document
Joint Response to The Programme for Cohesion, Sharing and Integration Consultation Document Introduction This is a joint response to the draft Programme for Cohesion, Sharing and Integration ( Cohesion
Model Checking: An Introduction
Announcements Model Checking: An Introduction Meeting 2 Office hours M 1:30pm-2:30pm W 5:30pm-6:30pm (after class) and by appointment ECOT 621 Moodle problems? Fundamentals of Programming Languages CSCI
Why HTML5 Tests the Limits of Automated Testing Solutions
Why HTML5 Tests the Limits of Automated Testing Solutions Why HTML5 Tests the Limits of Automated Testing Solutions Contents Chapter 1 Chapter 2 Chapter 3 Chapter 4 As Testing Complexity Increases, So
monadws: A Monad-Based Testing Tool for Web Services
monadws: A Monad-Based Testing Tool for Web Services College of Computer, Nanjing University of Posts and Telecommunications, Nanjing 210003, China Yingzhou Zhang, Wei Fu, Changhai Nie Email: [email protected]
Helping you avoid stack overflow crashes!
Helping you avoid stack overflow crashes! One of the toughest (and unfortunately common) problems in embedded systems is stack overflows and the collateral corruption that it can cause. As a result, we
Psy 210 Conference Poster on Sex Differences in Car Accidents 10 Marks
Psy 210 Conference Poster on Sex Differences in Car Accidents 10 Marks Overview The purpose of this assignment is to compare the number of car accidents that men and women have. The goal is to determine
Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010)
Electronic Communications of the EASST Volume 34 (2010) Proceedings of the 6th Educators Symposium: Software Modeling in Education at MODELS 2010 (EduSymp 2010) Position Paper: m2n A Tool for Translating
Creating Online Surveys with Qualtrics Survey Tool
Creating Online Surveys with Qualtrics Survey Tool Copyright 2015, Faculty and Staff Training, West Chester University. A member of the Pennsylvania State System of Higher Education. No portion of this
CREATIVE S SKETCHBOOK
Session Plan for Creative Directors CREATIVE S SKETCHBOOK THIS SKETCHBOOK BELONGS TO: @OfficialSYP 1 WELCOME YOUNG CREATIVE If you re reading this, it means you ve accepted the We-CTV challenge and are
Life Insurance Modelling: Notes for teachers. Overview
Life Insurance Modelling: Notes for teachers In this mathematics activity, students model the following situation: An investment fund is set up Investors pay a set amount at the beginning of 20 years.
WRS CLIENT CASE STUDIES
EMR is the Secret to Family Practice s Uniqueness Dr. Edwards insists on caring about his patients, taking his time with patients, getting acquainted with them and creating relationships. Having WRS is
Using your Drupal Website Book 1 - Drupal Basics
Book 1 - Drupal Basics By Karl Binder, The Adhere Creative Ltd. 2010. This handbook was written by Karl Binder from The Adhere Creative Ltd as a beginners user guide to using a Drupal built website. It
NECESSARY AND SUFFICIENT CONDITIONS
Michael Lacewing Personal identity: Physical and psychological continuity theories A FIRST DISTINCTION In order to understand what is at issue in personal identity, it is important to distinguish between
To Comply Software and IT System Development with Related Laws Abstract. Keywords: 1. PROBLEM STATEMENT
To Comply Software and IT System Development with Related Laws Fatemeh Zarrabi Supervising team: Haris Mouratidis, David Preston, Shareeful Islam School of Computing, Information Technology and Engineering,
Finding Execution Faults in Dynamic Web Application
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 5 (2014), pp. 445-452 International Research Publications House http://www. irphouse.com /ijict.htm Finding
Page 1. Outline of the Lecture. What is Software Configuration Management? Why Software Configuration Management?
Books: Software Configuration Management 1. B. Bruegge and A. H. Dutoit, Object-Oriented Software Engineering: Using UML, Patterns, and Java (Chapter 13) Outline of the Lecture Purpose of Software Configuration
identity sexual and gender expression abroad
identity sexual and gender expression abroad Studying abroad is is a a golden opportunity to to live live another culture, soak up up a a second language, and transform yourself as as a a citizen and as
Infinite Campus Ad Hoc Reporting Basics
Infinite Campus Ad Hoc Reporting Basics May, 2012 1 Overview The Ad hoc Reporting module allows a user to create reports and run queries for various types of data in Campus. Ad hoc queries may be used
KS3 Computing Group 1 Programme of Study 2015 2016 2 hours per week
1 07/09/15 2 14/09/15 3 21/09/15 4 28/09/15 Communication and Networks esafety Obtains content from the World Wide Web using a web browser. Understands the importance of communicating safely and respectfully
17.6.1 Introduction to Auction Design
CS787: Advanced Algorithms Topic: Sponsored Search Auction Design Presenter(s): Nilay, Srikrishna, Taedong 17.6.1 Introduction to Auction Design The Internet, which started of as a research project in
CRIMINAL LAW & YOUR RIGHTS MARCH 2008
CRIMINAL LAW & YOUR RIGHTS MARCH 2008 1 What are your rights? As a human being and as a citizen you automatically have certain rights. These rights are not a gift from anyone, including the state. In fact,
Two Flavors in Automated Software Repair: Rigid Repair and Plastic Repair
Two Flavors in Automated Software Repair: Rigid Repair and Plastic Repair Martin Monperrus, Benoit Baudry Dagstuhl Preprint, Seminar #13061, 2013. Link to the latest version Abstract In this paper, we
Daily Lesson Plan Instructor: Ms. Wenstrom Topic: Drugs and Alcohol Trends Grade Level: 7-12 Day 1 of Alcohol and Drug Prevention Unit
Daily Lesson Plan Instructor: Ms. Wenstrom Topic: Drugs and Alcohol Trends Grade Level: 7-12 Day 1 of Alcohol and Drug Prevention Unit Introduction/Review: Today is the first day of our Alcohol and Drug
Mentoring. A Guide for Mentors in the Women s Leadership Initiative
Mentoring A Guide for Mentors in the Mentoring Mentoring: A Cornerstone of the The mission of the (WLI) is to educate, inspire, and empower the next generation of female leaders with the core values, attitudes
Active Learning SVM for Blogs recommendation
Active Learning SVM for Blogs recommendation Xin Guan Computer Science, George Mason University Ⅰ.Introduction In the DH Now website, they try to review a big amount of blogs and articles and find the
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur
Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur Lecture No. # 06 Basics of Real-Time Task Scheduling Let us get started.
INFORMATION TECHNOLOGY FLUENCY FOR MIDDLE SCHOOL GIRLS
INFORMATION TECHNOLOGY FLUENCY FOR MIDDLE SCHOOL GIRLS Shannon Campe ETR Associates Scotts Valley, California 95066 [email protected] Linda L. Werner Computer Science Department University of California,
Standard 12: The student will explain and evaluate the financial impact and consequences of gambling.
STUDENT MODULE 12.1 GAMBLING PAGE 1 Standard 12: The student will explain and evaluate the financial impact and consequences of gambling. Risky Business Simone, Paula, and Randy meet in the library every
