The Calculus of Computation

Size: px
Start display at page:

Download "The Calculus of Computation"

Transcription

1 The Calculus of Computation

2 Aaron R. Bradley Zohar Manna The Calculus of Computation Decision Procedures with Applications to Verification With 60 Figures 123

3 Authors Aaron R. Bradley Zohar Manna Gates Building, Room 481 Stanford University Stanford, CA USA Library of Congress Control Number: ACM Computing Classification (1998): B.8, D.1, D.2, E.1, F.1, F.3, F.4, G.2, I.1, I.2 ISBN Springer Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilm or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer. Violations are liable for prosecution under the German Copyright Law. Springer is a part of Springer Science+Business Media springer.com Springer-Verlag Berlin Heidelberg 2007 The use of general descriptive names, registered names, trademarks, etc. in this publication does not imply, even in the absence of a specific statement, that such names are exempt from the relevant protective laws and regulations and therefore free for general use. Typesetting by the authors Production: LE-TEX Jelonek, Schmidt & Vöckler GbR, Leipzig Cover design: KünkelLopka Werbeagentur, Heidelberg Printed on acid-free paper 45/3180/YL

4 To my wife, Sarah A.R.B. To my grandchildren, Itai Maya Ori Z.M.

5 Preface Logic is the calculus of computation. Forty-five years ago, John McCarthy predicted in A Basis for a Mathematical Theory of Computation that the relationship between computation and mathematical logic will be as fruitful in the next century as that between analysis and physics in the last. The field of computational logic emerged over the past few decades in partial fulfillment of that vision. Focusing on producing efficient and powerful algorithms for deciding the satisfiability of formulae in logical theories and fragments, it continues to push the frontiers of general computer science. This book is about computational logic and its applications to program verification. Program verification is the task of analyzing the correctness of a program. It encompasses the formal specification of what a program should do and the formal proof that the program meets this specification. The reasoning power that computational logic offers revolutionized the field of verification. Ongoing research will make verification standard practice in software and hardware engineering in the next few decades. This acceptance into everyday engineering cannot come too soon: software and hardware are becoming ever more ubiquitous and thus ever more the source of failure. We wrote this book with an undergraduate and beginning graduate audience in mind. However, any computer scientist or engineer who would like to enter the field of computational logic or apply its products should find this book useful. Content The book has two parts. Part I, Foundations, presents first-order logic, induction, and program verification. The methods are general. For example, Chapter 2 presents a complete proof system for first-order logic, while Chapter 5 describes a relatively complete verification methodology. Part II, Algorithmic Reasoning, focuses on specialized algorithms for reasoning about fragments of first-order logic and for deducing facts about programs. Part II trades generality for decidability and efficiency.

6 VIII Preface The first three chapters of Part I introduce first-order logic. Chapters 1 and 2 begin our presentation with a review of propositional and predicate logic. Much of the material will be familiar to the reader who previously studied logic. However, Chapter 3 on first-order theories will be new to many readers. It axiomatically defines the various first-order theories and fragments that we study and apply throughout the rest of the book. Chapter 4 reviews induction, introducing some forms of induction that may be new to the reader. Induction provides the mathematical basis for analyzing program correctness. Chapter 5 turns to the primary motivating application of computational logic in this book, the task of verifying programs. It discusses specification, in which the programmer formalizes in logic the (sometimes surprisingly vague) understanding that he has about what functions should do; partial correctness, which requires proving that a program or function meets a given specification if it halts; and total correctness, which requires proving additionally that a program or function always halts. The presentation uses the simple programming language pi and is supported by the verifying compiler πvc (see The πvc System, below, for more information on πvc). Chapter 6 suggests strategies for applying the verification methodology. Part II on Algorithmic Reasoning begins in Chapter 7 with quantifierelimination methods for limited integer and rational arithmetic. It describes an algorithm for reducing a quantified formula in integer or rational arithmetic to an equivalent formula without quantifiers. Chapter 8 begins a sequence of chapters on decision procedures for quantifier-free and other fragments of theories. These fragments of first-order theories are interesting for three reasons. First, they are sometimes decidable when the full theory is not (see Chapters 9, 10, and 11). Second, they are sometimes efficiently decidable when the full theory is not (compare Chapters 7 and 8). Finally, they are often useful; for example, proving the verification conditions that arise in the examples of Chapters 5 and 6 requires just the fragments of theories studied in Chapters The simplex method for linear programming is presented in Chapter 8 as a decision procedure for deciding satisfiability in rational and real arithmetic without multiplication. Chapters 9 and 11 turn to decision procedures for non-arithmetical theories. Chapter 9 discusses the classic congruence closure algorithm for equality with uninterpreted functions and extends it to reason about data structures like lists, trees, and arrays. These decision procedures are for quantifier-free fragments only. Chapter 11 presents decision procedures for larger fragments of theories that formalize array-like data structures. Decision procedures are most useful when they are combined. For example, in program verification one must reason about arithmetic and data structures simultaneously. Chapter 10 presents the Nelson-Oppen method for combining decision procedures for quantifier-free fragments. The decision procedures of Chapters 8, 9, and 11 are all combinable using the Nelson-Oppen method. Chapter 12 presents a methodology for constructing invariant generation procedures. These procedures reason inductively about programs to aid in

7 Preface IX 1 4 5, Fig The chapter dependency graph 11 Verification Decision procedures verification. They relieve some of the burden on the programmer to provide program annotations for verification purposes. For now, developing a static analysis is one of the easiest ways of bringing formal methods into general usage, as a typical static analysis requires little or no input from the programmer. The chapter presents a general methodology and two instances of the method for deducing arithmetical properties of programs. Finally, Chapter 13 suggests directions for further reading and research. Teaching This book can be used in various ways and taught at multiple levels. Figure 0.1 presents a dependency graph for the chapters. There are two main tracks: the verification track, which focuses on Chapters 1 4, 5, 6, and 12; and the decision procedures track, which focuses on Chapters 1 4 and Within the decision procedures track, the reader can focus on the quantifier-free decision procedures track, which skips Chapters 7 and 11. The reader interested in quickly obtaining an understanding of modern combination decision procedures would prefer this final track. We have annotated several sections with a to indicate that they provide additional depth that is unnecessary for understanding subsequent material. Additionally, all proofs may be skipped without preventing a general understanding of the material. Each chapter ends with a set of exercises. Some require just a mechanical understanding of the material, while others require a conceptual understanding or ask the reader to think beyond what is presented in the book. These latter exercises are annotated with a. For certain audiences, additional exercises might include implementing decision procedures or invariant generation procedures and exploring certain topics in greater depth (see Chapter 13). In our courses, we assign program verification exercises from Chapters 5 and 6 throughout the term to give students time to develop this important skill. Learning to verify programs is about as difficult for students as learning

8 X Preface to program in the first place. Specifying and verifying programs also strengthens the students facility with logic. Bibliographic Remarks Each chapter ends with a section entitled Bibliographic Remarks in which we attempt to provide a brief account of the historical context and development of the chapter s material. We have undoubtedly missed some important contributions, for which we apologize. We welcome corrections, comments, and historical anecdotes. The πvc System We implemented a verifying compiler called πvc to accompany this text. It allows users to write and verify annotated programs in the pi programming language. The system and a set of examples, including the programs listed in this book, are available for download from arbrad/pivc. We plan to update this website regularly and welcome readers comments, questions, and suggestions about πvc and the text. Acknowledgments This material is based upon work supported by the National Science Foundation under Grant Nos. CSR and CNS and by Navy/ONR contract N Any opinions, findings, and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the National Science Foundation or the Navy/ONR. The first author received additional support from a Sang Samuel Wang Stanford Graduate Fellowship. We thank the following people for their comments throughout the writing of this book: Miquel Bertran, Andrew Bradley, Susan Bradley, Chang- Seo Park, Caryn Sedloff, Henny Sipma, Matteo Slanina, Sarah Solter, Fabio Somenzi, Tomás Uribe, the students of CS156, and Alfred Hofmann and the reviewers and editors at Springer. Their suggestions helped us to improve the presentation substantially. Remaining errors and shortcomings are our responsibility. Stanford University, June 2007 Aaron R. Bradley Zohar Manna

9 Contents Part I Foundations 1 Propositional Logic Syntax Semantics Satisfiability and Validity Truth Tables Semantic Arguments Equivalence and Implication Substitution Normal Forms Decision Procedures for Satisfiability Simple Decision Procedures Reconsidering the Truth-Table Method Conversion to an Equisatisfiable Formula in CNF The Resolution Procedure DPLL Summary Bibliographic Remarks Exercises First-Order Logic Syntax Semantics Satisfiability and Validity Substitution Safe Substitution Schema Substitution Normal Forms Decidability and Complexity Satisfiability as a Formal Language

10 XII Contents Decidability Complexity Meta-Theorems of First-Order Logic Simplifying the Language of FOL Semantic Argument Proof Rules Soundness and Completeness Additional Theorems Summary Bibliographic Remarks Exercises First-Order Theories First-Order Theories Equality Natural Numbers and Integers Peano Arithmetic Presburger Arithmetic Theory of Integers Rationals and Reals Theory of Reals Theory of Rationals Recursive Data Structures Arrays Survey of Decidability and Complexity Combination Theories Summary Bibliographic Remarks Exercises Induction Stepwise Induction Complete Induction Well-Founded Induction Structural Induction Summary Bibliographic Remarks Exercises Program Correctness: Mechanics pi: A Simple Imperative Language The Language Program Annotations Partial Correctness Basic Paths: Loops Basic Paths: Function Calls

11 Contents XIII Program States Verification Conditions P-Invariant and P-Inductive Total Correctness Summary Bibliographic Remarks Exercises Program Correctness: Strategies Developing Inductive Annotations Basic Facts The Precondition Method A Strategy Extended Example: QuickSort Partial Correctness Total Correctness Summary Bibliographic Remarks Exercises Part II Algorithmic Reasoning 7 Quantified Linear Arithmetic Quantifier Elimination Quantifier Elimination A Simplification Quantifier Elimination over Integers Augmented Theory of Integers Cooper s Method A Symmetric Elimination Eliminating Blocks of Quantifiers Solving Divides Constraints Quantifier Elimination over Rationals Ferrante and Rackoff s Method Complexity Summary Bibliographic Remarks Exercises Quantifier-Free Linear Arithmetic Decision Procedures for Quantifier-Free Fragments Preliminary Concepts and Notation Linear Programs The Simplex Method

12 XIV Contents From M to M Vertex Traversal Complexity Summary Bibliographic Remarks Exercises Quantifier-Free Equality and Data Structures Theory of Equality Congruence Closure Algorithm Relations Congruence Closure Algorithm Congruence Closure with DAGs Directed Acyclic Graphs Basic Operations Congruence Closure Algorithm Decision Procedure for T E -Satisfiability Complexity Recursive Data Structures Arrays Summary Bibliographic Remarks Exercises Combining Decision Procedures Combining Decision Procedures Nelson-Oppen Method: Nondeterministic Version Phase 1: Variable Abstraction Phase 2: Guess and Check Practical Efficiency Nelson-Oppen Method: Deterministic Version Convex Theories Phase 2: Equality Propagation Equality Propagation: Implementation Correctness of the Nelson-Oppen Method Complexity Summary Bibliographic Remarks Exercises Arrays Arrays with Uninterpreted Indices Array Property Fragment Decision Procedure Integer-Indexed Arrays

13 Contents XV Array Property Fragment Decision Procedure Hashtables Hashtable Property Fragment Decision Procedure Larger Fragments Summary Bibliographic Remarks Exercises Invariant Generation Invariant Generation Weakest Precondition and Strongest Postcondition General Definitions of wp and sp Static Analysis Abstraction Interval Analysis Karr s Analysis Standard Notation and Concepts Summary Bibliographic Remarks Exercises Further Reading References Index

Guide to Teaching Computer Science

Guide to Teaching Computer Science Guide to Teaching Computer Science Orit Hazzan Tami Lapidot Noa Ragonis Guide to Teaching Computer Science An Activity-Based Approach Dr. Orit Hazzan Associate Professor Technion - Israel Institute of

More information

A R "! I,,, !~ii ii! A ow ' r.-ii ' i ' JA' V5, 9. MiN, ;

A R ! I,,, !~ii ii! A ow ' r.-ii ' i ' JA' V5, 9. MiN, ; A R "! I,,, r.-ii ' i '!~ii ii! A ow ' I % i o,... V. 4..... JA' i,.. Al V5, 9 MiN, ; Logic and Language Models for Computer Science Logic and Language Models for Computer Science HENRY HAMBURGER George

More information

Lecture Notes in Artificial Intelligence 4343

Lecture Notes in Artificial Intelligence 4343 Lecture Notes in Artificial Intelligence 4343 Edited by J. G. Carbonell and J. Siekmann Subseries of Lecture Notes in Computer Science Christian Müller (Ed.) Speaker Classification I Fundamentals, Features,

More information

Pre-vocational Education in Germany and China

Pre-vocational Education in Germany and China Pre-vocational Education in Germany and China Jun Li Pre-vocational Education in Germany and China A Comparison of Curricula and Its Implications Jun Li Tongji University, Shanghai, People s Republic of

More information

International Series in Operations Research & Management Science

International Series in Operations Research & Management Science International Series in Operations Research & Management Science Volume 240 Series Editor Camille C. Price Stephen F. Austin State University, TX, USA Associate Series Editor Joe Zhu Worcester Polytechnic

More information

Perspectives of Information Systems

Perspectives of Information Systems Perspectives of Information Systems Springer-Science+ Business Media, LLC Vesa Savolainen Editor and Main Author Perspectives of Information Systems Springer Vesa Savolainen Department of Computer Science

More information

Communication and Cybernetics 17

Communication and Cybernetics 17 Communication and Cybernetics 17 Editors: K. S. Fu W. D. Keidel W. J. M. Levelt H. Wolter Communication and Cybernetics Editors: K.S.Fu, W.D.Keidel, W.1.M.Levelt, H.Wolter Vol. Vol. 2 Vol. 3 Vol. 4 Vol.

More information

Lecture Notes on Mathematical Olympiad Courses

Lecture Notes on Mathematical Olympiad Courses Lecture Notes on Mathematical Olympiad Courses For Junior Section Vol. 2 Mathematical Olympiad Series ISSN: 1793-8570 Series Editors: Lee Peng Yee (Nanyang Technological University, Singapore) Xiong Bin

More information

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.) PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.) OVERVIEW ADMISSION REQUIREMENTS PROGRAM REQUIREMENTS OVERVIEW FOR THE PH.D. IN COMPUTER SCIENCE Overview The doctoral program is designed for those students

More information

Proof Theory for Syntacticians

Proof Theory for Syntacticians Department of Linguistics Ohio State University Syntax 2 (Linguistics 602.02) January 5, 2012 Logics for Linguistics Many different kinds of logic are directly applicable to formalizing theories in syntax

More information

GACE Computer Science Assessment Test at a Glance

GACE Computer Science Assessment Test at a Glance GACE Computer Science Assessment Test at a Glance Updated May 2017 See the GACE Computer Science Assessment Study Companion for practice questions and preparation resources. Assessment Name Computer Science

More information

AQUA: An Ontology-Driven Question Answering System

AQUA: An Ontology-Driven Question Answering System AQUA: An Ontology-Driven Question Answering System Maria Vargas-Vera, Enrico Motta and John Domingue Knowledge Media Institute (KMI) The Open University, Walton Hall, Milton Keynes, MK7 6AA, United Kingdom.

More information

University of Groningen. Systemen, planning, netwerken Bosman, Aart

University of Groningen. Systemen, planning, netwerken Bosman, Aart University of Groningen Systemen, planning, netwerken Bosman, Aart IMPORTANT NOTE: You are advised to consult the publisher's version (publisher's PDF) if you wish to cite from it. Please check the document

More information

Self Study Report Computer Science

Self Study Report Computer Science Computer Science undergraduate students have access to undergraduate teaching, and general computing facilities in three buildings. Two large classrooms are housed in the Davis Centre, which hold about

More information

MARE Publication Series

MARE Publication Series MARE Publication Series Volume 8 Series Editors Maarten Bavinck University of Amsterdam, Amsterdam, The Netherlands Svein Jentoft Tromsø, Norway The MARE Publication Series is an initiative of the Centre

More information

Evolution of Collective Commitment during Teamwork

Evolution of Collective Commitment during Teamwork Fundamenta Informaticae 56 (2003) 329 371 329 IOS Press Evolution of Collective Commitment during Teamwork Barbara Dunin-Kȩplicz Institute of Informatics, Warsaw University Banacha 2, 02-097 Warsaw, Poland

More information

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming. Computer Science 1 COMPUTER SCIENCE Office: Department of Computer Science, ECS, Suite 379 Mail Code: 2155 E Wesley Avenue, Denver, CO 80208 Phone: 303-871-2458 Email: info@cs.du.edu Web Site: Computer

More information

Mathematics Program Assessment Plan

Mathematics Program Assessment Plan Mathematics Program Assessment Plan Introduction This assessment plan is tentative and will continue to be refined as needed to best fit the requirements of the Board of Regent s and UAS Program Review

More information

Transfer Learning Action Models by Measuring the Similarity of Different Domains

Transfer Learning Action Models by Measuring the Similarity of Different Domains Transfer Learning Action Models by Measuring the Similarity of Different Domains Hankui Zhuo 1, Qiang Yang 2, and Lei Li 1 1 Software Research Institute, Sun Yat-sen University, Guangzhou, China. zhuohank@gmail.com,lnslilei@mail.sysu.edu.cn

More information

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography THE UNIVERSITY OF SYDNEY Semester 2, 2017 Information Sheet for MATH2068/2988 Number Theory and Cryptography Websites: It is important that you check the following webpages regularly. Intermediate Mathematics

More information

Given a directed graph G =(N A), where N is a set of m nodes and A. destination node, implying a direction for ow to follow. Arcs have limitations

Given a directed graph G =(N A), where N is a set of m nodes and A. destination node, implying a direction for ow to follow. Arcs have limitations 4 Interior point algorithms for network ow problems Mauricio G.C. Resende AT&T Bell Laboratories, Murray Hill, NJ 07974-2070 USA Panos M. Pardalos The University of Florida, Gainesville, FL 32611-6595

More information

Characterizing Mathematical Digital Literacy: A Preliminary Investigation. Todd Abel Appalachian State University

Characterizing Mathematical Digital Literacy: A Preliminary Investigation. Todd Abel Appalachian State University Characterizing Mathematical Digital Literacy: A Preliminary Investigation Todd Abel Appalachian State University Jeremy Brazas, Darryl Chamberlain Jr., Aubrey Kemp Georgia State University This preliminary

More information

Course Content Concepts

Course Content Concepts CS 1371 SYLLABUS, Fall, 2017 Revised 8/6/17 Computing for Engineers Course Content Concepts The students will be expected to be familiar with the following concepts, either by writing code to solve problems,

More information

Language properties and Grammar of Parallel and Series Parallel Languages

Language properties and Grammar of Parallel and Series Parallel Languages arxiv:1711.01799v1 [cs.fl] 6 Nov 2017 Language properties and Grammar of Parallel and Series Parallel Languages Mohana.N 1, Kalyani Desikan 2 and V.Rajkumar Dare 3 1 Division of Mathematics, School of

More information

CALCULUS III MATH

CALCULUS III MATH CALCULUS III MATH 01230-1 1. Instructor: Dr. Evelyn Weinstock Mathematics Department, Robinson, Second Floor, 228E 856-256-4500, ext. 3862, email: weinstock@rowan.edu Days/Times: Monday & Thursday 2:00-3:15,

More information

AGS THE GREAT REVIEW GAME FOR PRE-ALGEBRA (CD) CORRELATED TO CALIFORNIA CONTENT STANDARDS

AGS THE GREAT REVIEW GAME FOR PRE-ALGEBRA (CD) CORRELATED TO CALIFORNIA CONTENT STANDARDS AGS THE GREAT REVIEW GAME FOR PRE-ALGEBRA (CD) CORRELATED TO CALIFORNIA CONTENT STANDARDS 1 CALIFORNIA CONTENT STANDARDS: Chapter 1 ALGEBRA AND WHOLE NUMBERS Algebra and Functions 1.4 Students use algebraic

More information

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING

A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING A GENERIC SPLIT PROCESS MODEL FOR ASSET MANAGEMENT DECISION-MAKING Yong Sun, a * Colin Fidge b and Lin Ma a a CRC for Integrated Engineering Asset Management, School of Engineering Systems, Queensland

More information

Mathematics subject curriculum

Mathematics subject curriculum Mathematics subject curriculum Dette er ei omsetjing av den fastsette læreplanteksten. Læreplanen er fastsett på Nynorsk Established as a Regulation by the Ministry of Education and Research on 24 June

More information

Diagnostic Test. Middle School Mathematics

Diagnostic Test. Middle School Mathematics Diagnostic Test Middle School Mathematics Copyright 2010 XAMonline, Inc. All rights reserved. No part of the material protected by this copyright notice may be reproduced or utilized in any form or by

More information

Mathematics. Mathematics

Mathematics. Mathematics Mathematics Program Description Successful completion of this major will assure competence in mathematics through differential and integral calculus, providing an adequate background for employment in

More information

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq

Different Requirements Gathering Techniques and Issues. Javaria Mushtaq 835 Different Requirements Gathering Techniques and Issues Javaria Mushtaq Abstract- Project management is now becoming a very important part of our software industries. To handle projects with success

More information

COMMUNICATION-BASED SYSTEMS

COMMUNICATION-BASED SYSTEMS COMMUNICATION-BASED SYSTEMS COMMUNICATION-BASED SYSTEMS Proceedings of the 3rd International Workshop held at the TU Berlin, Germany, 31 March - 1 April 2000 Edited by GÜNTER HOMMEL Technische Universität

More information

CS 101 Computer Science I Fall Instructor Muller. Syllabus

CS 101 Computer Science I Fall Instructor Muller. Syllabus CS 101 Computer Science I Fall 2013 Instructor Muller Syllabus Welcome to CS101. This course is an introduction to the art and science of computer programming and to some of the fundamental concepts of

More information

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus CS 1103 Computer Science I Honors Fall 2016 Instructor Muller Syllabus Welcome to CS1103. This course is an introduction to the art and science of computer programming and to some of the fundamental concepts

More information

Learning Microsoft Publisher , (Weixel et al)

Learning Microsoft Publisher , (Weixel et al) Prentice Hall Learning Microsoft Publisher 2007 2008, (Weixel et al) C O R R E L A T E D T O Mississippi Curriculum Framework for Business and Computer Technology I and II BUSINESS AND COMPUTER TECHNOLOGY

More information

TEACHING AND EXAMINATION REGULATIONS PART B: programme-specific section MASTER S PROGRAMME IN LOGIC

TEACHING AND EXAMINATION REGULATIONS PART B: programme-specific section MASTER S PROGRAMME IN LOGIC UNIVERSITY OF AMSTERDAM FACULTY OF SCIENCE TEACHING AND EXAMINATION REGULATIONS PART B: programme-specific section Academic year 2017-2018 MASTER S PROGRAMME IN LOGIC Chapter 1 Article 1.1 Article 1.2

More information

THE PROMOTION OF SOCIAL AWARENESS

THE PROMOTION OF SOCIAL AWARENESS THE PROMOTION OF SOCIAL AWARENESS Powerful Lessons from the Partnership of Developmental Theory and Classroom Practice Robert L. Selman Russell Sage Foundation New York The Russell Sage Foundation The

More information

Conducting the Reference Interview:

Conducting the Reference Interview: Conducting the Reference Interview: A How-To-Do-It Manual for Librarians Second Edition Catherine Sheldrick Ross Kirsti Nilsen and Marie L. Radford HOW-TO-DO-IT MANUALS NUMBER 166 Neal-Schuman Publishers,

More information

A Case Study: News Classification Based on Term Frequency

A Case Study: News Classification Based on Term Frequency A Case Study: News Classification Based on Term Frequency Petr Kroha Faculty of Computer Science University of Technology 09107 Chemnitz Germany kroha@informatik.tu-chemnitz.de Ricardo Baeza-Yates Center

More information

WSU Five-Year Program Review Self-Study Cover Page

WSU Five-Year Program Review Self-Study Cover Page WSU Five-Year Program Review Self-Study Cover Page Department: Program: Computer Science Computer Science AS/BS Semester Submitted: Spring 2012 Self-Study Team Chair: External to the University but within

More information

Statewide Framework Document for:

Statewide Framework Document for: Statewide Framework Document for: 270301 Standards may be added to this document prior to submission, but may not be removed from the framework to meet state credit equivalency requirements. Performance

More information

PRODUCT PLATFORM AND PRODUCT FAMILY DESIGN

PRODUCT PLATFORM AND PRODUCT FAMILY DESIGN PRODUCT PLATFORM AND PRODUCT FAMILY DESIGN PRODUCT PLATFORM AND PRODUCT FAMILY DESIGN Methods and Applications Edited by Timothy W. Simpson 1, Zahed Siddique 2, and Jianxin (Roger) Jiao 3 1 The Pennsylvania

More information

Mathematical Induction Examples And Solutions

Mathematical Induction Examples And Solutions Examples And Free PDF ebook Download: Examples And Download or Read Online ebook mathematical induction examples and solutions in PDF Format From The Best User Guide Database Examples. Question 1. Prove

More information

Taking Kids into Programming (Contests) with Scratch

Taking Kids into Programming (Contests) with Scratch Olympiads in Informatics, 2009, Vol. 3, 17 25 17 2009 Institute of Mathematics and Informatics, Vilnius Taking Kids into Programming (Contests) with Scratch Abdulrahman IDLBI Syrian Olympiad in Informatics,

More information

22/07/10. Last amended. Date: 22 July Preamble

22/07/10. Last amended. Date: 22 July Preamble 03-1 Please note that this document is a non-binding convenience translation. Only the German version of the document entitled "Studien- und Prüfungsordnung der Juristischen Fakultät der Universität Heidelberg

More information

COMPUTATIONAL COMPLEXITY OF LEFT-ASSOCIATIVE GRAMMAR

COMPUTATIONAL COMPLEXITY OF LEFT-ASSOCIATIVE GRAMMAR COMPUTATIONAL COMPLEXITY OF LEFT-ASSOCIATIVE GRAMMAR ROLAND HAUSSER Institut für Deutsche Philologie Ludwig-Maximilians Universität München München, West Germany 1. CHOICE OF A PRIMITIVE OPERATION The

More information

TABLE OF CONTENTS TABLE OF CONTENTS COVER PAGE HALAMAN PENGESAHAN PERNYATAAN NASKAH SOAL TUGAS AKHIR ACKNOWLEDGEMENT FOREWORD

TABLE OF CONTENTS TABLE OF CONTENTS COVER PAGE HALAMAN PENGESAHAN PERNYATAAN NASKAH SOAL TUGAS AKHIR ACKNOWLEDGEMENT FOREWORD TABLE OF CONTENTS TABLE OF CONTENTS COVER PAGE HALAMAN PENGESAHAN PERNYATAAN NASKAH SOAL TUGAS AKHIR ACKNOWLEDGEMENT FOREWORD TABLE OF CONTENTS LIST OF FIGURES LIST OF TABLES LIST OF APPENDICES LIST OF

More information

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition

Objectives. Chapter 2: The Representation of Knowledge. Expert Systems: Principles and Programming, Fourth Edition Chapter 2: The Representation of Knowledge Expert Systems: Principles and Programming, Fourth Edition Objectives Introduce the study of logic Learn the difference between formal logic and informal logic

More information

PUBLIC CASE REPORT Use of the GeoGebra software at upper secondary school

PUBLIC CASE REPORT Use of the GeoGebra software at upper secondary school PUBLIC CASE REPORT Use of the GeoGebra software at upper secondary school Linked to the pedagogical activity: Use of the GeoGebra software at upper secondary school Written by: Philippe Leclère, Cyrille

More information

TabletClass Math Geometry Course Guidebook

TabletClass Math Geometry Course Guidebook TabletClass Math Geometry Course Guidebook Includes Final Exam/Key, Course Grade Calculation Worksheet and Course Certificate Student Name Parent Name School Name Date Started Course Date Completed Course

More information

Knowledge-Based - Systems

Knowledge-Based - Systems Knowledge-Based - Systems ; Rajendra Arvind Akerkar Chairman, Technomathematics Research Foundation and Senior Researcher, Western Norway Research institute Priti Srinivas Sajja Sardar Patel University

More information

TITLE 23: EDUCATION AND CULTURAL RESOURCES SUBTITLE A: EDUCATION CHAPTER I: STATE BOARD OF EDUCATION SUBCHAPTER b: PERSONNEL PART 25 CERTIFICATION

TITLE 23: EDUCATION AND CULTURAL RESOURCES SUBTITLE A: EDUCATION CHAPTER I: STATE BOARD OF EDUCATION SUBCHAPTER b: PERSONNEL PART 25 CERTIFICATION ISBE 23 ILLINOIS ADMINISTRATIVE CODE 25 TITLE 23: EDUCATION AND CULTURAL RESOURCES : EDUCATION CHAPTER I: STATE BOARD OF EDUCATION : PERSONNEL Section 25.10 Accredited Institution PART 25 CERTIFICATION

More information

CAAP. Content Analysis Report. Sample College. Institution Code: 9011 Institution Type: 4-Year Subgroup: none Test Date: Spring 2011

CAAP. Content Analysis Report. Sample College. Institution Code: 9011 Institution Type: 4-Year Subgroup: none Test Date: Spring 2011 CAAP Content Analysis Report Institution Code: 911 Institution Type: 4-Year Normative Group: 4-year Colleges Introduction This report provides information intended to help postsecondary institutions better

More information

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014 UNSW Australia Business School School of Risk and Actuarial Studies ACTL5103 Stochastic Modelling For Actuaries Course Outline Semester 2, 2014 Part A: Course-Specific Information Please consult Part B

More information

Major Milestones, Team Activities, and Individual Deliverables

Major Milestones, Team Activities, and Individual Deliverables Major Milestones, Team Activities, and Individual Deliverables Milestone #1: Team Semester Proposal Your team should write a proposal that describes project objectives, existing relevant technology, engineering

More information

Short vs. Extended Answer Questions in Computer Science Exams

Short vs. Extended Answer Questions in Computer Science Exams Short vs. Extended Answer Questions in Computer Science Exams Alejandro Salinger Opportunities and New Directions April 26 th, 2012 ajsalinger@uwaterloo.ca Computer Science Written Exams Many choices of

More information

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1

Activities, Exercises, Assignments Copyright 2009 Cem Kaner 1 Patterns of activities, iti exercises and assignments Workshop on Teaching Software Testing January 31, 2009 Cem Kaner, J.D., Ph.D. kaner@kaner.com Professor of Software Engineering Florida Institute of

More information

Compositional Semantics

Compositional Semantics Compositional Semantics CMSC 723 / LING 723 / INST 725 MARINE CARPUAT marine@cs.umd.edu Words, bag of words Sequences Trees Meaning Representing Meaning An important goal of NLP/AI: convert natural language

More information

TREATMENT OF SMC COURSEWORK FOR STUDENTS WITHOUT AN ASSOCIATE OF ARTS

TREATMENT OF SMC COURSEWORK FOR STUDENTS WITHOUT AN ASSOCIATE OF ARTS Articulation Agreement REGIS UNIVERSITY Associate s to Bachelor s Program PURPOSE The purpose of the agreement is to enable SMC students who transfer to Regis with an Associate of Arts to be recognized

More information

MMOG Subscription Business Models: Table of Contents

MMOG Subscription Business Models: Table of Contents DFC Intelligence DFC Intelligence Phone 858-780-9680 9320 Carmel Mountain Rd Fax 858-780-9671 Suite C www.dfcint.com San Diego, CA 92129 MMOG Subscription Business Models: Table of Contents November 2007

More information

A General Class of Noncontext Free Grammars Generating Context Free Languages

A General Class of Noncontext Free Grammars Generating Context Free Languages INFORMATION AND CONTROL 43, 187-194 (1979) A General Class of Noncontext Free Grammars Generating Context Free Languages SARWAN K. AGGARWAL Boeing Wichita Company, Wichita, Kansas 67210 AND JAMES A. HEINEN

More information

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE

MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE Master of Science (M.S.) Major in Computer Science 1 MASTER OF SCIENCE (M.S.) MAJOR IN COMPUTER SCIENCE Major Program The programs in computer science are designed to prepare students for doctoral research,

More information

Advances in Mathematics Education

Advances in Mathematics Education Advances in Mathematics Education Series Editors: Gabriele Kaiser, University of Hamburg, Hamburg, Germany Bharath Sriraman, The University of Montana, Missoula, MT, USA International Editorial Board:

More information

Writing Research Articles

Writing Research Articles Marek J. Druzdzel with minor additions from Peter Brusilovsky University of Pittsburgh School of Information Sciences and Intelligent Systems Program marek@sis.pitt.edu http://www.pitt.edu/~druzdzel Overview

More information

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor CSE215, Foundations of Computer Science Course Information Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor http://www.cs.stonybrook.edu/~cse215 Course Description Introduction to the logical

More information

Shared Mental Models

Shared Mental Models Shared Mental Models A Conceptual Analysis Catholijn M. Jonker 1, M. Birna van Riemsdijk 1, and Bas Vermeulen 2 1 EEMCS, Delft University of Technology, Delft, The Netherlands {m.b.vanriemsdijk,c.m.jonker}@tudelft.nl

More information

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob

ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob Course Syllabus ENEE 302h: Digital Electronics, Fall 2005 Prof. Bruce Jacob 1. Basic Information Time & Place Lecture: TuTh 2:00 3:15 pm, CSIC-3118 Discussion Section: Mon 12:00 12:50pm, EGR-1104 Professor

More information

Specification of the Verity Learning Companion and Self-Assessment Tool

Specification of the Verity Learning Companion and Self-Assessment Tool Specification of the Verity Learning Companion and Self-Assessment Tool Sergiu Dascalu* Daniela Saru** Ryan Simpson* Justin Bradley* Eva Sarwar* Joohoon Oh* * Department of Computer Science ** Dept. of

More information

RANKING AND UNRANKING LEFT SZILARD LANGUAGES. Erkki Mäkinen DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF TAMPERE REPORT A ER E P S I M S

RANKING AND UNRANKING LEFT SZILARD LANGUAGES. Erkki Mäkinen DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF TAMPERE REPORT A ER E P S I M S N S ER E P S I M TA S UN A I S I T VER RANKING AND UNRANKING LEFT SZILARD LANGUAGES Erkki Mäkinen DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF TAMPERE REPORT A-1997-2 UNIVERSITY OF TAMPERE DEPARTMENT OF

More information

Adaptation Criteria for Preparing Learning Material for Adaptive Usage: Structured Content Analysis of Existing Systems. 1

Adaptation Criteria for Preparing Learning Material for Adaptive Usage: Structured Content Analysis of Existing Systems. 1 Adaptation Criteria for Preparing Learning Material for Adaptive Usage: Structured Content Analysis of Existing Systems. 1 Stefan Thalmann Innsbruck University - School of Management, Information Systems,

More information

Stimulating Techniques in Micro Teaching. Puan Ng Swee Teng Ketua Program Kursus Lanjutan U48 Kolej Sains Kesihatan Bersekutu, SAS, Ulu Kinta

Stimulating Techniques in Micro Teaching. Puan Ng Swee Teng Ketua Program Kursus Lanjutan U48 Kolej Sains Kesihatan Bersekutu, SAS, Ulu Kinta Stimulating Techniques in Micro Teaching Puan Ng Swee Teng Ketua Program Kursus Lanjutan U48 Kolej Sains Kesihatan Bersekutu, SAS, Ulu Kinta Learning Objectives General Objectives: At the end of the 2

More information

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS

OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS OPTIMIZATINON OF TRAINING SETS FOR HEBBIAN-LEARNING- BASED CLASSIFIERS Václav Kocian, Eva Volná, Michal Janošek, Martin Kotyrba University of Ostrava Department of Informatics and Computers Dvořákova 7,

More information

Rule discovery in Web-based educational systems using Grammar-Based Genetic Programming

Rule discovery in Web-based educational systems using Grammar-Based Genetic Programming Data Mining VI 205 Rule discovery in Web-based educational systems using Grammar-Based Genetic Programming C. Romero, S. Ventura, C. Hervás & P. González Universidad de Córdoba, Campus Universitario de

More information

16 WEEKS STUDY PLAN FOR BS(IT)2 nd Semester

16 WEEKS STUDY PLAN FOR BS(IT)2 nd Semester 16 WEEKS STUDY PLAN FOR BS(IT)2 nd Semester COURSE: OBJECT ORIENTED PROGRAMMING Week Ch# Chapter Names 1 1 The Big Picture 2 2 C++ Programming Basics 3 3 Loops and Decisions 4 4 Structures 5 4 Structures

More information

Visual CP Representation of Knowledge

Visual CP Representation of Knowledge Visual CP Representation of Knowledge Heather D. Pfeiffer and Roger T. Hartley Department of Computer Science New Mexico State University Las Cruces, NM 88003-8001, USA email: hdp@cs.nmsu.edu and rth@cs.nmsu.edu

More information

Math 181, Calculus I

Math 181, Calculus I Math 181, Calculus I [Semester] [Class meeting days/times] [Location] INSTRUCTOR INFORMATION: Name: Office location: Office hours: Mailbox: Phone: Email: Required Material and Access: Textbook: Stewart,

More information

CPMT 1303 Introduction to Computer Technology COURSE SYLLABUS

CPMT 1303 Introduction to Computer Technology COURSE SYLLABUS CPMT 1303 Introduction to Computer Technology COURSE SYLLABUS COURSE NUMBER AND TITLE: CPMT 1303 COURSE (CATALOG) DESCRIPTION A fundamental computer course that provides in-depth explanation of the procedures

More information

ICTCM 28th International Conference on Technology in Collegiate Mathematics

ICTCM 28th International Conference on Technology in Collegiate Mathematics DEVELOPING DIGITAL LITERACY IN THE CALCULUS SEQUENCE Dr. Jeremy Brazas Georgia State University Department of Mathematics and Statistics 30 Pryor Street Atlanta, GA 30303 jbrazas@gsu.edu Dr. Todd Abel

More information

BMBF Project ROBUKOM: Robust Communication Networks

BMBF Project ROBUKOM: Robust Communication Networks BMBF Project ROBUKOM: Robust Communication Networks Arie M.C.A. Koster Christoph Helmberg Andreas Bley Martin Grötschel Thomas Bauschert supported by BMBF grant 03MS616A: ROBUKOM Robust Communication Networks,

More information

Document number: 2013/ Programs Committee 6/2014 (July) Agenda Item 42.0 Bachelor of Engineering with Honours in Software Engineering

Document number: 2013/ Programs Committee 6/2014 (July) Agenda Item 42.0 Bachelor of Engineering with Honours in Software Engineering Document number: 2013/0006139 Programs Committee 6/2014 (July) Agenda Item 42.0 Bachelor of Engineering with Honours in Software Engineering Program Learning Outcomes Threshold Learning Outcomes for Engineering

More information

Extending Place Value with Whole Numbers to 1,000,000

Extending Place Value with Whole Numbers to 1,000,000 Grade 4 Mathematics, Quarter 1, Unit 1.1 Extending Place Value with Whole Numbers to 1,000,000 Overview Number of Instructional Days: 10 (1 day = 45 minutes) Content to Be Learned Recognize that a digit

More information

Excel Formulas & Functions

Excel Formulas & Functions Microsoft Excel Formulas & Functions 4th Edition Microsoft Excel Formulas & Functions 4th Edition by Ken Bluttman Microsoft Excel Formulas & Functions For Dummies, 4th Edition Published by: John Wiley

More information

Radius STEM Readiness TM

Radius STEM Readiness TM Curriculum Guide Radius STEM Readiness TM While today s teens are surrounded by technology, we face a stark and imminent shortage of graduates pursuing careers in Science, Technology, Engineering, and

More information

Empiricism as Unifying Theme in the Standards for Mathematical Practice. Glenn Stevens Department of Mathematics Boston University

Empiricism as Unifying Theme in the Standards for Mathematical Practice. Glenn Stevens Department of Mathematics Boston University Empiricism as Unifying Theme in the Standards for Mathematical Practice Glenn Stevens Department of Mathematics Boston University Joint Mathematics Meetings Special Session: Creating Coherence in K-12

More information

Software Maintenance

Software Maintenance 1 What is Software Maintenance? Software Maintenance is a very broad activity that includes error corrections, enhancements of capabilities, deletion of obsolete capabilities, and optimization. 2 Categories

More information

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur

Module 12. Machine Learning. Version 2 CSE IIT, Kharagpur Module 12 Machine Learning 12.1 Instructional Objective The students should understand the concept of learning systems Students should learn about different aspects of a learning system Students should

More information

Mathematics Assessment Plan

Mathematics Assessment Plan Mathematics Assessment Plan Mission Statement for Academic Unit: Georgia Perimeter College transforms the lives of our students to thrive in a global society. As a diverse, multi campus two year college,

More information

CHALLENGES FACING DEVELOPMENT OF STRATEGIC PLANS IN PUBLIC SECONDARY SCHOOLS IN MWINGI CENTRAL DISTRICT, KENYA

CHALLENGES FACING DEVELOPMENT OF STRATEGIC PLANS IN PUBLIC SECONDARY SCHOOLS IN MWINGI CENTRAL DISTRICT, KENYA CHALLENGES FACING DEVELOPMENT OF STRATEGIC PLANS IN PUBLIC SECONDARY SCHOOLS IN MWINGI CENTRAL DISTRICT, KENYA By Koma Timothy Mutua Reg. No. GMB/M/0870/08/11 A Research Project Submitted In Partial Fulfilment

More information

Some Principles of Automated Natural Language Information Extraction

Some Principles of Automated Natural Language Information Extraction Some Principles of Automated Natural Language Information Extraction Gregers Koch Department of Computer Science, Copenhagen University DIKU, Universitetsparken 1, DK-2100 Copenhagen, Denmark Abstract

More information

Introduction and Motivation

Introduction and Motivation 1 Introduction and Motivation Mathematical discoveries, small or great are never born of spontaneous generation. They always presuppose a soil seeded with preliminary knowledge and well prepared by labour,

More information

BENG Simulation Modeling of Biological Systems. BENG 5613 Syllabus: Page 1 of 9. SPECIAL NOTE No. 1:

BENG Simulation Modeling of Biological Systems. BENG 5613 Syllabus: Page 1 of 9. SPECIAL NOTE No. 1: BENG 5613 Syllabus: Page 1 of 9 BENG 5613 - Simulation Modeling of Biological Systems SPECIAL NOTE No. 1: Class Syllabus BENG 5613, beginning in 2014, is being taught in the Spring in both an 8- week term

More information

What s in a Step? Toward General, Abstract Representations of Tutoring System Log Data

What s in a Step? Toward General, Abstract Representations of Tutoring System Log Data What s in a Step? Toward General, Abstract Representations of Tutoring System Log Data Kurt VanLehn 1, Kenneth R. Koedinger 2, Alida Skogsholm 2, Adaeze Nwaigwe 2, Robert G.M. Hausmann 1, Anders Weinstein

More information

Intension, Attitude, and Tense Annotation in a High-Fidelity Semantic Representation

Intension, Attitude, and Tense Annotation in a High-Fidelity Semantic Representation Intension, Attitude, and Tense Annotation in a High-Fidelity Semantic Representation Gene Kim and Lenhart Schubert Presented by: Gene Kim April 2017 Project Overview Project: Annotate a large, topically

More information

Automating the E-learning Personalization

Automating the E-learning Personalization Automating the E-learning Personalization Fathi Essalmi 1, Leila Jemni Ben Ayed 1, Mohamed Jemni 1, Kinshuk 2, and Sabine Graf 2 1 The Research Laboratory of Technologies of Information and Communication

More information

Generating Test Cases From Use Cases

Generating Test Cases From Use Cases 1 of 13 1/10/2007 10:41 AM Generating Test Cases From Use Cases by Jim Heumann Requirements Management Evangelist Rational Software pdf (155 K) In many organizations, software testing accounts for 30 to

More information

This Performance Standards include four major components. They are

This Performance Standards include four major components. They are Environmental Physics Standards The Georgia Performance Standards are designed to provide students with the knowledge and skills for proficiency in science. The Project 2061 s Benchmarks for Science Literacy

More information

Guru: A Computer Tutor that Models Expert Human Tutors

Guru: A Computer Tutor that Models Expert Human Tutors Guru: A Computer Tutor that Models Expert Human Tutors Andrew Olney 1, Sidney D'Mello 2, Natalie Person 3, Whitney Cade 1, Patrick Hays 1, Claire Williams 1, Blair Lehman 1, and Art Graesser 1 1 University

More information

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments

Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments Specification and Evaluation of Machine Translation Toy Systems - Criteria for laboratory assignments Cristina Vertan, Walther v. Hahn University of Hamburg, Natural Language Systems Division Hamburg,

More information

Lecture Notes in Artificial Intelligence 7175

Lecture Notes in Artificial Intelligence 7175 Lecture Notes in Artificial Intelligence 7175 Subseries of Lecture Notes in Computer Science LNAI Series Editors Randy Goebel University of Alberta, Edmonton, Canada Yuzuru Tanaka Hokkaido University,

More information