ML for the Working Programmer


 Brianne Jenkins
 1 years ago
 Views:
Transcription
1 ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS
2 CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming Expressions versus commands Expressions in procedural programming languages Storage management Elements of a functional language The efficiency of functional programming 9 Standard ML The evolution of Standard ML The ML tradition of theorem proving The new standard library ML and the working programmer 15 2 Names, Functions and Types 17 Chapter outline 18 Value declarations Naming constants Declaring functions Identifiers in Standard ML 21 Numbers, character strings and truth values Arithmetic Strings and characters Truth values and conditional expressions 26 Pairs, tuples and records Vectors: an example of pairing Functions with multiple arguments and results Records 32
3 vi Contents 2.10 Infix operators The evaluation of expressions 2.11 Evaluation in ML: callbyvalue 2.12 Recursive functions under callbyvalue 2.13 Callbyneed, or lazy evaluation Writing recursive functions Local Raising to an integer power Fibonacci numbers Integer square roots declarations Example: real square roots Hiding declarations using local Simultaneous declarations Introduction to modules The complex numbers Structures. Signatures Polymorphic type checking 2.23 Type inference 2.24 Polymorphic function declarations Summary of main points Lists Chapter outline Introduction to lists 3.1 Building a list 3.2 Operating on a list Some fundamental list functions 3.3 Testing lists and taking them apart 3.4 List processing by numbers 3.5 Append and reverse 3.6 Lists of lists, lists of pairs Applications of lists Making change Binary arithmetic Matrix transpose Matrix multiplication Gaussian elimination Writing a number as the sum of two squares "
4 Contents vn 3.13 The problem of the next permutation 95 The equality test in polymorphic functions Equality types Polymorphic set operations Association lists Graph algorithms 102 Sorting: A case study Random numbers Insertion sort Quicksort Merge sort 111 Polynomial arithmetic Representing abstract data Representing polynomials Polynomial addition and multiplication The greatest common divisor 119 Summary of main points Trees and Concrete Data 123 Chapter outline 123 The datatype declaration The King and his subjects ; J Enumeration types Polymorphic datatypes Patternmatching with val, as, case 130 Exceptions..: Introduction to exceptions Declaring exceptions  s Raising exceptions Handling exceptions Objections to exceptions 140 Trees : A type for binary trees Enumerating the contents of a tree ;, Building a tree from a list A structure for binary trees 148 Treebased data structures Dictionaries '' ' Functional and flexible arrays 154
5 viii Contents 4.16 Priority queues, 159 A tautology checker Propositional Logic Negation normal form Conjunctive normal form 167 Summary of main points 170 Functions and Infinite Data 171 Chapter outline, 171 Functions as values Anonymous functions with fn notation ^ Curried functions, Functions in data structures Functions as arguments and results 177 Generalpurpose functionals Sections Combinators The list functionals map and filter The list functionals takewhile and dropwhile The list functionals exists and all The list functionals/<?w/ andfoldr More examples of recursive functionals 188 Sequences, or infinite lists A type of sequences Elementary sequence processing Elementary applications of sequences Numerical computing Interleaving and sequences of sequences 201 Search strategies and infinite lists Search strategies in ML Generating palindromes The Eight Queens problem Iterative deepening 210 Summary of main points 211 Reasoning About Functional Programs 213 Chapter outline 213 Some principles of mathematical proof T ML programs and mathematics 214
6 Contents 1X 6.2 Mathematical induction and complete induction Simple examples of program verification 220 Structural induction Structural induction on lists Structural induction on trees Function values and functionals 233 A general induction principle Computing normal forms Wellfounded induction and recursion Recursive program schemes 246 Specification and verification An ordering predicate Expressing rearrangement through multisets The significance of verification 254 Summary of main points 256 Abstract Types and Functors 257 Chapter outline 258 Three representations of queues Representing queues as lists Representing queues as a new datatype Representing queues as pairs of lists 261 Signatures and abstraction The intended signature for queues Signature constraints The abstype declaration Inferred signatures for structures 269 Functors Testing the queue structures Generic matrix arithmetic Generic dictionaries and priority queues 280 Building large systems using modules Functors with multiple arguments Sharing constraints Fullyfunctorial programming The open declaration Signatures and substructures 305 Reference guide to modules The syntax of signatures and structures 309
7 Contents 7.17 The syntax of module declarations. 311 Summary of main points Imperative Programming in ML 313 Chapter outline 313 Reference types References and their operations Control structures Polymorphic references 321 References in data structures, Sequences, or lazy lists , Ring buffers Mutable and functional arrays 335 Input and output String processing ',, Text input/output Text processing examples A pretty printer 351 Summary of main points Writing Interpreters for the ACalculus 357 Chapter outline 357 A functional parser Scanning, or lexical analysis A toolkit for topdown parsing The ML code of the parser Example: parsing and displaying types 367 Introducing the A,calculus A,terms and ^.reductions Preventing variable capture in substitution 375 Representing Xterms in ML The fundamental operations Parsing Xterms Displaying Aterms 382 The ^.calculus as a programming language Data structures in the A.calculus Recursive definitions in the Xcalculus The evaluation of Xterms Demonstrating the evaluators 393
8 Contents xi Summary of main points A Tactical Theorem Prover 397 Chapter outline 397 A sequent calculus for firstorder logic The sequent calculus for propositional logic Proving theorems in the sequent calculus Sequent rules for the quantifiers Theorem proving with quantifiers 404 Processing terms and formulae in ML Representing terms and formulae Parsing and displaying formulae Unification 416 Tactics and the proof state The proof state The ML signature Tactics for basic sequents The propositional tactics The quantifier tactics 428 Searching for proofs Commands for transforming proof states Two sample proofs using tactics Tacticals Automatic tactics for firstorder logic 440 Summary of main points 444 Project Suggestions 445 Bibliography 449 Syntax Charts 457 Index 469
Foundations of Logic and Mathematics
Yves Nievergelt Foundations of Logic and Mathematics Applications to Computer Science and Cryptography Birkhäuser Boston Basel Berlin Contents Preface Outline xiii xv A Theory 1 0 Boolean Algebraic Logic
More informationFormal Engineering for Industrial Software Development
Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3
More informationFundamental Computer Science Concepts Sequence TCSU CSCI SEQ A
Fundamental Computer Science Concepts Sequence TCSU CSCI SEQ A A. Description Introduction to the discipline of computer science; covers the material traditionally found in courses that introduce problem
More informationI PUC  Computer Science. Practical s Syllabus. Contents
I PUC  Computer Science Practical s Syllabus Contents Topics 1 Overview Of a Computer 1.1 Introduction 1.2 Functional Components of a computer (Working of each unit) 1.3 Evolution Of Computers 1.4 Generations
More information1.1 Logical Form and Logical Equivalence 1
Contents Chapter I The Logic of Compound Statements 1.1 Logical Form and Logical Equivalence 1 Identifying logical form; Statements; Logical connectives: not, and, and or; Translation to and from symbolic
More information4. Factor polynomials over complex numbers, describe geometrically, and apply to realworld situations. 5. Determine and apply relationships among syn
I The Real and Complex Number Systems 1. Identify subsets of complex numbers, and compare their structural characteristics. 2. Compare and contrast the properties of real numbers with the properties of
More informationBHARATHIAR UNIVERSITY: COIMBATORE CENTRE FOR COLLABORATION OF INDUSTRY AND INSTITUTIONS(CCII) CERTIFICATE IN ADVANCED PROGRAMMING C++ LANGUAGE
Certificate in Advanced Programming  C++ Language Page 1 of 7 BHARATHIAR UNIVERSITY: COIMBATORE 641046 CENTRE FOR COLLABORATION OF INDUSTRY AND INSTITUTIONS(CCII) CERTIFICATE IN ADVANCED PROGRAMMING C++
More informationInduction and Recursion
Induction and Recursion Jan van Eijck June 3, 2003 Abstract A very important proof method that is not covered by the recipes from Chapter 3 is the method of proof by Mathematical Induction. Roughly speaking,
More information10CS35: Data Structures Using C
CS35: Data Structures Using C QUESTION BANK REVIEW OF STRUCTURES AND POINTERS, INTRODUCTION TO SPECIAL FEATURES OF C OBJECTIVE: Learn : Usage of structures, unions  a conventional tool for handling a
More information340368  FOPRI1O23  Fundamentals of Programming
Coordinating unit: 340  EPSEVG  Vilanova i la Geltrú School of Engineering Teaching unit: 723  CS  Department of Computer Science Academic year: Degree: 2015 BACHELOR'S DEGREE IN INFORMATICS ENGINEERING
More informationVALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR 603 203 DEPARTMENT OF COMPUTER APPLICATIONS QUESTION BANK IN REVISED BLOOM S TAXONOMY
ACADEMIC YEAR: 0 7 VALLIAMMAI ENGINEERING COLLEGE SRM NAGAR, KATTANKULATHUR 0 0 SEMESTER: ODD BRANCH: MCA YEAR: I SEMESTER: I SUBJECT CODE AND NAME: MC70 Problem Solving and Programming NAME OF THE FACULTY
More informationAutomated Reasoning. Robert Constable & Christoph Kreitz
Automated Reasoning Robert Constable & Christoph Kreitz 1. What is Automated Reasoning? 2. The Nuprl project 3. Applications 4. Areas for Study and Research Why Automated Reasoning? Too many errors in
More informationPES Institute of TechnologyBSC QUESTION BANK
PES Institute of TechnologyBSC Faculty: Mrs. R.Bharathi CS35: Data Structures Using C QUESTION BANK UNIT I BASIC CONCEPTS 1. What is an ADT? Briefly explain the categories that classify the functions
More informationMLR Institute of Technology
MLR Institute of Technology DUNDIGAL 500 043, HYDERABAD COMPUTER SCIENCE AND ENGINEERING Computer Programming Lab List of Experiments S.No. Program Category List of Programs 1 Operators a) Write a C program
More informationMathematical Induction
Mathematical Induction MAT30 Discrete Mathematics Fall 016 MAT30 (Discrete Math) Mathematical Induction Fall 016 1 / 19 Outline 1 Mathematical Induction Strong Mathematical Induction MAT30 (Discrete Math)
More informationProgramming Using Python
Introduction to Computation and Programming Using Python Revised and Expanded Edition John V. Guttag The MIT Press Cambridge, Massachusetts London, England CONTENTS PREFACE xiii ACKNOWLEDGMENTS xv 1 GETTING
More information"Charting the Course to Your Success!" MOC Programming in C# with Microsoft Visual Studio Course Summary
Description Course Summary The course focuses on C# program structure, language syntax, and implementation details with.net Framework 4.0. This course describes the new enhancements in the C# 4.0 language
More informationMathematical induction & Recursion
CS 441 Discrete Mathematics for CS Lecture 15 Mathematical induction & Recursion Milos Hauskrecht milos@cs.pitt.edu 5329 Sennott Square Proofs Basic proof methods: Direct, Indirect, Contradiction, By Cases,
More informationvertex, 369 disjoint pairwise, 395 disjoint sets, 236 disjunction, 33, 36 distributive laws
Index absolute value, 135 141 additive identity, 254 additive inverse, 254 aleph, 466 algebra of sets, 245, 278 antisymmetric relation, 387 arcsine function, 349 arithmetic sequence, 208 arrow diagram,
More informationDATA STRUCTURES USING C
DATA STRUCTURES USING C QUESTION BANK UNIT I 1. Define data. 2. Define Entity. 3. Define information. 4. Define Array. 5. Define data structure. 6. Give any two applications of data structures. 7. Give
More informationSection IV.1: Recursive Algorithms and Recursion Trees
Section IV.1: Recursive Algorithms and Recursion Trees Definition IV.1.1: A recursive algorithm is an algorithm that solves a problem by (1) reducing it to an instance of the same problem with smaller
More informationFundamentals of Mathematics Lecture 6: Propositional Logic
Fundamentals of Mathematics Lecture 6: Propositional Logic GuanShieng Huang National Chi Nan University, Taiwan Spring, 2008 1 / 39 Connectives Propositional Connectives I 1 Negation: (not A) A A T F
More informationCSE 459/598: Logic for Computer Scientists (Spring 2012)
CSE 459/598: Logic for Computer Scientists (Spring 2012) Time and Place: T Th 10:3011:45 a.m., M109 Instructor: Joohyung Lee (joolee@asu.edu) Instructor s Office Hours: T Th 4:305:30 p.m. and by appointment
More informationIndiana State Core Curriculum Standards updated 2009 Algebra I
Indiana State Core Curriculum Standards updated 2009 Algebra I Strand Description Boardworks High School Algebra presentations Operations With Real Numbers Linear Equations and A1.1 Students simplify and
More informationHandout #1: Mathematical Reasoning
Math 101 Rumbos Spring 2010 1 Handout #1: Mathematical Reasoning 1 Propositional Logic A proposition is a mathematical statement that it is either true or false; that is, a statement whose certainty or
More informationLogic and Proofs. Chapter 1
Section 1.0 1.0.1 Chapter 1 Logic and Proofs 1.1 Propositional Logic 1.2 Propositional Equivalences 1.3 Predicates and Quantifiers 1.4 Nested Quantifiers 1.5 Rules of Inference 1.6 Introduction to Proofs
More informationSequences and Mathematical Induction. CSE 215, Foundations of Computer Science Stony Brook University
Sequences and Mathematical Induction CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.edu/~cse215 Sequences A sequence is a function whose domain is all the integers
More informationDomains and Competencies
Domains and Competencies DOMAIN I TECHNOLOGY APPLICATIONS CORE Standards Assessed: Computer Science 8 12 I VII Competency 001: The computer science teacher knows technology terminology and concepts; the
More informationCSE 191, Class Note 01 Propositional Logic Computer Sci & Eng Dept SUNY Buffalo
Propositional Logic CSE 191, Class Note 01 Propositional Logic Computer Sci & Eng Dept SUNY Buffalo c Xin He (University at Buffalo) CSE 191 Discrete Structures 1 / 37 Discrete Mathematics What is Discrete
More informationLecture 3. Mathematical Induction
Lecture 3 Mathematical Induction Induction is a fundamental reasoning process in which general conclusion is based on particular cases It contrasts with deduction, the reasoning process in which conclusion
More informationChapter 15 Functional Programming Languages
Chapter 15 Functional Programming Languages Introduction  The design of the imperative languages is based directly on the von Neumann architecture Efficiency (at least at first) is the primary concern,
More informationKrishna Institute of Engineering & Technology, Ghaziabad Department of Computer Application MCA213 : DATA STRUCTURES USING C
Tutorial#1 Q 1: Explain the terms data, elementary item, entity, primary key, domain, attribute and information? Also give examples in support of your answer? Q 2: What is a Data Type? Differentiate
More information4 Domain Relational Calculus
4 Domain Relational Calculus We now present two relational calculi that we will compare to RA. First, what is the difference between an algebra and a calculus? The usual story is that the algebra RA is
More informationDiscrete Mathematics, Chapter 5: Induction and Recursion
Discrete Mathematics, Chapter 5: Induction and Recursion Richard Mayr University of Edinburgh, UK Richard Mayr (University of Edinburgh, UK) Discrete Mathematics. Chapter 5 1 / 20 Outline 1 Wellfounded
More informationData Structure [Question Bank]
Unit I (Analysis of Algorithms) 1. What are algorithms and how they are useful? 2. Describe the factor on best algorithms depends on? 3. Differentiate: Correct & Incorrect Algorithms? 4. Write short note:
More informationChapter There are nonisomorphic rooted trees with four vertices. Ans: 4.
Use the following to answer questions 126: In the questions below fill in the blanks. Chapter 10 1. If T is a tree with 999 vertices, then T has edges. 998. 2. There are nonisomorphic trees with four
More informationExamination paper for MA0301 Elementær diskret matematikk
Department of Mathematical Sciences Examination paper for MA0301 Elementær diskret matematikk Academic contact during examination: Iris Marjan Smit a, Sverre Olaf Smalø b Phone: a 9285 0781, b 7359 1750
More information+ addition  subtraction and unary minus * multiplication / division mod modulo
Chapter 4 Basic types We examine in this chapter the Caml basic types. 4.1 Numbers Caml Light provides two numeric types: integers (type int) and floatingpoint numbers (type float). Integers are limited
More information8.7 Mathematical Induction
8.7. MATHEMATICAL INDUCTION 8135 8.7 Mathematical Induction Objective Prove a statement by mathematical induction Many mathematical facts are established by first observing a pattern, then making a conjecture
More information1 Introduction. 2 An Interpreter. 2.1 Handling Source Code
1 Introduction The purpose of this assignment is to write an interpreter for a small subset of the Lisp programming language. The interpreter should be able to perform simple arithmetic and comparisons
More information3. Recurrence Recursive Definitions. To construct a recursively defined function:
3. RECURRENCE 10 3. Recurrence 3.1. Recursive Definitions. To construct a recursively defined function: 1. Initial Condition(s) (or basis): Prescribe initial value(s) of the function.. Recursion: Use a
More information12 Abstract Data Types
12 Abstract Data Types 12.1 Source: Foundations of Computer Science Cengage Learning Objectives After studying this chapter, the student should be able to: Define the concept of an abstract data type (ADT).
More informationChapter 2: Problem Solving Using C++
Chapter 2: Problem Solving Using C++ 1 Objectives In this chapter, you will learn about: Modular programs Programming style Data types Arithmetic operations Variables and declaration statements Common
More informationKITES TECHNOLOGY COURSE MODULE (C, C++, DS)
KITES TECHNOLOGY 360 Degree Solution www.kitestechnology.com/academy.php info@kitestechnology.com technologykites@gmail.com Contact:  8961334776 9433759247 9830639522.NET JAVA WEB DESIGN PHP SQL, PL/SQL
More informationMATHEMATICS (CLASSES XI XII)
MATHEMATICS (CLASSES XI XII) General Guidelines (i) All concepts/identities must be illustrated by situational examples. (ii) The language of word problems must be clear, simple and unambiguous. (iii)
More informationChapter I Logic and Proofs
MATH 1130 1 Discrete Structures Chapter I Logic and Proofs Propositions A proposition is a statement that is either true (T) or false (F), but or both. s Propositions: 1. I am a man.. I am taller than
More informationFixedPoint Logics and Computation
1 FixedPoint Logics and Computation Symposium on the Unusual Effectiveness of Logic in Computer Science University of Cambridge 2 Mathematical Logic Mathematical logic seeks to formalise the process of
More informationMathematical Induction. Lecture 1011
Mathematical Induction Lecture 1011 Menu Mathematical Induction Strong Induction Recursive Definitions Structural Induction Climbing an Infinite Ladder Suppose we have an infinite ladder: 1. We can reach
More informationWESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math
Textbook Correlation WESTMORELAND COUNTY PUBLIC SCHOOLS 2011 2012 Integrated Instructional Pacing Guide and Checklist Computer Math Following Directions Unit FIRST QUARTER AND SECOND QUARTER Logic Unit
More informationConstruction of the Real Line 2 Is Every Real Number Rational? 3 Problems Algebra of the Real Numbers 7
About the Author v Preface to the Instructor xiii WileyPLUS xviii Acknowledgments xix Preface to the Student xxi 1 The Real Numbers 1 1.1 The Real Line 2 Construction of the Real Line 2 Is Every Real Number
More informationCS 2336 Discrete Mathematics
CS 2336 Discrete Mathematics Lecture 5 Proofs: Mathematical Induction 1 Outline What is a Mathematical Induction? Strong Induction Common Mistakes 2 Introduction What is the formula of the sum of the first
More informationWOLLONGONG COLLEGE AUSTRALIA. Diploma in Information Technology
First Name: Family Name: Student Number: Class/Tutorial: WOLLONGONG COLLEGE AUSTRALIA A College of the University of Wollongong Diploma in Information Technology MidSession Test Summer Session 00800
More informationComputing Concepts with Java Essentials
2008 AGIInformation Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
More informationC programming: exercise sheet L2STUE (20112012)
C programming: exercise sheet L2STUE (20112012) Algorithms and Flowcharts Exercise 1: comparison Write the flowchart and associated algorithm that compare two numbers a and b. Exercise 2: 2 nd order
More informationContinued Fractions and the Euclidean Algorithm
Continued Fractions and the Euclidean Algorithm Lecture notes prepared for MATH 326, Spring 997 Department of Mathematics and Statistics University at Albany William F Hammond Table of Contents Introduction
More informationSorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)
Sorting revisited How did we use a binary search tree to sort an array of elements? Tree Sort Algorithm Given: An array of elements to sort 1. Build a binary search tree out of the elements 2. Traverse
More informationSANKALCHAND PATEL COLLEGE OF ENGINEERING, VISNAGAR ODD/EVEN ACADEMICSEMESTER (201415) ASSIGNMENT / QUESTION BANK (2110003) [F.Y.B.E.
SANKALCHAND PATEL COLLEGE OF ENGINEERING, VISNAGAR ODD/EVEN ACADEMICSEMESTER (201415) ASSIGNMENT / QUESTION BANK Subject: Computer Programming and Utilization (2110003) [F.Y.B.E.: ALL BRANCHES] Unit 1
More informationWUCT121. Discrete Mathematics. Logic
WUCT121 Discrete Mathematics Logic 1. Logic 2. Predicate Logic 3. Proofs 4. Set Theory 5. Relations and Functions WUCT121 Logic 1 Section 1. Logic 1.1. Introduction. In developing a mathematical theory,
More informationPROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON
PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York London
More informationCorrespondence analysis for strong threevalued logic
Correspondence analysis for strong threevalued logic A. Tamminga abstract. I apply Kooi and Tamminga s (2012) idea of correspondence analysis for manyvalued logics to strong threevalued logic (K 3 ).
More informationSection 1. Statements and Truth Tables. Definition 1.1: A mathematical statement is a declarative sentence that is true or false, but not both.
M3210 Supplemental Notes: Basic Logic Concepts In this course we will examine statements about mathematical concepts and relationships between these concepts (definitions, theorems). We will also consider
More informationData Structures and Algorithms Written Examination
Data Structures and Algorithms Written Examination 22 February 2013 FIRST NAME STUDENT NUMBER LAST NAME SIGNATURE Instructions for students: Write First Name, Last Name, Student Number and Signature where
More informationCSE373: Data Structures and Algorithms Lecture 2: Proof by Induction. Linda Shapiro Winter 2015
CSE373: Data Structures and Algorithms Lecture 2: Proof by Induction Linda Shapiro Winter 2015 Background on Induction Type of mathematical proof Typically used to establish a given statement for all natural
More informationProduct types are finite labeled products of types. They are a generalization of cartesian product. Elements of product types are called records.
Chapter 6 Userdefined types The user is allowed to define his/her own data types. With this facility, there is no need to encode the data structures that must be manipulated by a program into lists (as
More informationUnit 1. 5. Write iterative and recursive C functions to find the greatest common divisor of two integers. [6]
Unit 1 1. Write the following statements in C : [4] Print the address of a float variable P. Declare and initialize an array to four characters a,b,c,d. 2. Declare a pointer to a function f which accepts
More informationFBCA02 April2007 Programming in C Language BCA102 (New Course)
Seat No. : FBCA02 April2007 Programming in C Language BCA102 (New Course) Time : 3 Hours] [Max. Marks : 70 Instructions : (1) Figures to the right indicate full marks of the question. (2) Make and state
More informationMathematics for Computer Science/Software Engineering. Notes for the course MSM1F3 Dr. R. A. Wilson
Mathematics for Computer Science/Software Engineering Notes for the course MSM1F3 Dr. R. A. Wilson October 1996 Chapter 1 Logic Lecture no. 1. We introduce the concept of a proposition, which is a statement
More informationCourse 10266A: Programming in C# with Microsoft Visual Studio 2010 OVERVIEW
Course 10266A: Programming in C# with Microsoft Visual Studio 2010 OVERVIEW About this Course The course focuses on C# program structure, language syntax, and implementation detailswith.net Framework 4.0.
More informationCOMPUTER SCIENCE TRIPOS
CST.98.5.1 COMPUTER SCIENCE TRIPOS Part IB Wednesday 3 June 1998 1.30 to 4.30 Paper 5 Answer five questions. No more than two questions from any one section are to be answered. Submit the answers in five
More informationDiscrete Mathematics Problems
Discrete Mathematics Problems William F. Klostermeyer School of Computing University of North Florida Jacksonville, FL 32224 Email: wkloster@unf.edu Contents 0 Preface 3 1 Logic 5 1.1 Basics...............................
More informationThomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm
More information2. Methods of Proof Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try.
2. METHODS OF PROOF 69 2. Methods of Proof 2.1. Types of Proofs. Suppose we wish to prove an implication p q. Here are some strategies we have available to try. Trivial Proof: If we know q is true then
More informationData Structures and Algorithms. with ObjectOriented Design Patterns in C++
Data Structures and Algorithms with ObjectOriented Design Patterns in C++ Data Structures and Algorithms with ObjectOriented Design Patterns in C++ Bruno R. Preiss B.A.Sc., M.A.Sc., Ph.D., P.Eng. Associate
More informationMATH20302 Propositional Logic. Mike Prest School of Mathematics Alan Turing Building Room
MATH20302 Propositional Logic Mike Prest School of Mathematics Alan Turing Building Room 1.120 mprest@manchester.ac.uk April 10, 2015 Contents I Propositional Logic 3 1 Propositional languages 4 1.1 Propositional
More informationMathematics for Algorithm and System Analysis
Mathematics for Algorithm and System Analysis for students of computer and computational science Edward A. Bender S. Gill Williamson c Edward A. Bender & S. Gill Williamson 2005. All rights reserved. Preface
More informationAdvanced Higher Mathematics Course Assessment Specification (C747 77)
Advanced Higher Mathematics Course Assessment Specification (C747 77) Valid from August 2015 This edition: April 2016, version 2.4 This specification may be reproduced in whole or in part for educational
More informationCourse 10266A: Programming in C# with Microsoft Visual Studio 2010
Length Five days About this Course The course focuses on C# program structure, language syntax, and implementation detailswith.net Framework 4.0. This course describes the new enhancements in the C# 4.0
More informationIt is not immediately obvious that this should even give an integer. Since 1 < 1 5
Math 163  Introductory Seminar Lehigh University Spring 8 Notes on Fibonacci numbers, binomial coefficients and mathematical induction These are mostly notes from a previous class and thus include some
More informationALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology)
ALLIED PAPER : DISCRETE MATHEMATICS (for B.Sc. Computer Technology & B.Sc. Multimedia and Web Technology) Subject Description: This subject deals with discrete structures like set theory, mathematical
More informationCourse: 10266A: Programming in C# with Microsoft Visual Studio 2010
Course: 10266A: Programming in C# with Microsoft Visual Studio 2010 Description: The course focuses on C# program structure, language syntax, and implementation detailswith.net Framework 4.0. This course
More informationTwo General Methods to Reduce Delay and Change of Enumeration Algorithms
ISSN 13465597 NII Technical Report Two General Methods to Reduce Delay and Change of Enumeration Algorithms Takeaki Uno NII2003004E Apr.2003 Two General Methods to Reduce Delay and Change of Enumeration
More informationJava 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition
Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating
More informationThe Set Data Model CHAPTER 7. 7.1 What This Chapter Is About
CHAPTER 7 The Set Data Model The set is the most fundamental data model of mathematics. Every concept in mathematics, from trees to real numbers, is expressible as a special kind of set. In this book,
More informationProgramming in C# with Microsoft Visual Studio 2010
Course 10266A: Programming in C# with Microsoft Visual Studio 2010 Course Details Course Outline Module 1: Introducing C# and the.net Framework This module explains the.net Framework, and using C# and
More informationData Structures Using Java
Data Structures Using Java D. S. Malik P. S. Nair THOMSON COURSE TECHNOLOGY Australia Canada Mexico Singapore Spain United Kingdom United States TABLE OF Contents PREFACE XXV 1.Software Engineering Principles
More informationChapter 2 Mathematical Background
Chapter 2 Mathematical Background We start this chapter with a summary of basic concepts and notations for sets and firstorder logic formulas, which will be used in the rest of the book. Our aim is to
More informationMath Department Student Learning Objectives Updated April, 2014
Math Department Student Learning Objectives Updated April, 2014 Institutional Level Outcomes: Victor Valley College has adopted the following institutional outcomes to define the learning that all students
More informationChapter 1  Matrices & Determinants
Chapter 1  Matrices & Determinants Arthur Cayley (August 16, 1821  January 26, 1895) was a British Mathematician and Founder of the Modern British School of Pure Mathematics. As a child, Cayley enjoyed
More informationThe 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
More informationARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40
SOFTWARE DEVELOPMENT, 15.1200.40 1.0 APPLY PROBLEMSOLVING AND CRITICAL THINKING SKILLS TO INFORMATION TECHNOLOGY 1.1 Describe methods and considerations for prioritizing and scheduling software development
More informationDivide and Conquer My T. UF
Introduction to Algorithms Divide and Conquer @ UF General Approach Divide the problem into a number of subproblems that are smaller instances of the same problem Conquer the subproblems by solving them
More information1. What s wrong with the following proofs by induction?
ArsDigita University Month : Discrete Mathematics  Professor Shai Simonson Problem Set 4 Induction and Recurrence Equations Thanks to Jeffrey Radcliffe and Joe Rizzo for many of the solutions. Pasted
More informationContinued fractions and good approximations.
Continued fractions and good approximations We will study how to find good approximations for important real life constants A good approximation must be both accurate and easy to use For instance, our
More informationLecture 1: Elementary Number Theory
Lecture 1: Elementary Number Theory The integers are the simplest and most fundamental objects in discrete mathematics. All calculations by computers are based on the arithmetical operations with integers
More informationSoftware Development (cs2500)
Software Development (cs2500) Lecture 53: Tail Recursion and Search M.R.C. van Dongen March 4, 2011 Contents 1 Outline 1 2 Tail Recursion 2 3 Search 4 4 Linear Search 5 5 Binary Search 6 6 Analysis 7 7
More information2013 Five years Integrated M.Sc.(IT) Semester 1 060010101  Fundamentals of Programming
03 Five years Integrated M.Sc.(IT) Semester 00000  Fundamentals Programming File should contain. Problem Statement. Algorithm 3. Flowchart. Program in C language(code) 5. Output and sample calculation
More informationElementary Number Theory and Methods of Proof. CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.
Elementary Number Theory and Methods of Proof CSE 215, Foundations of Computer Science Stony Brook University http://www.cs.stonybrook.edu/~cse215 1 Number theory Properties: 2 Properties of integers (whole
More informationAFF 826. Sub. Code 4BSO1C1. Sp2. B.Sc. DEGREE EXAMINATION, NOVEMBER First Semester. Software FUNDAMENTALS OF COMPUTERS AND C PROGRAMMING
Sp2 AFF 826 Sub. Code 4BSO1C1 B.Sc. DEGREE EXAMINATION, NOVEMBER 2015 First Semester Software FUNDAMENTALS OF COMPUTERS AND C PROGRAMMING (CBCS 2014 onwards) Time : 3 Hours Maximum : 75 Marks Part A (10
More informationA FIRST COURSE IN OPTIMIZATION THEORY
A FIRST COURSE IN OPTIMIZATION THEORY RANGARAJAN K. SUNDARAM New York University CAMBRIDGE UNIVERSITY PRESS Contents Preface Acknowledgements page xiii xvii 1 Mathematical Preliminaries 1 1.1 Notation
More information