Programming Theory. Mohamed Faouzi Atig. Uppsala University. M. F. Atig (Uppsala University) Programming Theory September 03, / 25

Size: px
Start display at page:

Download "Programming Theory. Mohamed Faouzi Atig. Uppsala University. M. F. Atig (Uppsala University) Programming Theory September 03, / 25"

Transcription

1 Programming Theory Mohamed Faouzi Atig Uppsala University M. F. Atig (Uppsala University) Programming Theory September 03, / 25

2 People to help you! Lecturer: Mohamed Faouzi Atig, office 1452, mohamed Teacher Assistants: Othmane Rezine, office 1456, Aleksandar Zeljic, Webpage: (including related topics, schedule, old exams, etc.) M. F. Atig (Uppsala University) Programming Theory September 03, / 25

3 Prerequisites Background in Programming and Programming Languages. Basic understanding in Mathematical Logic. Course in Program Semantics is useful. M. F. Atig (Uppsala University) Programming Theory September 03, / 25

4 Registration The admitted students, including those who are admitted with a condition, must web-register themselves for the course in the Student Portal. Students who are unable to web-register, should contact IT-kansliet/the Student Office. Web-(un)registration is possible until September 17 M. F. Atig (Uppsala University) Programming Theory September 03, / 25

5 Admission/ Registration Non-admitted students wanting to be registered. Please apply for the course at via Late application ( Sen anmälan ). Master students should contact their programme coordinator/programme counsellor. Exchange students should contact Ulrika Jaresund, who is the exchange student coordinator at the IT Dept. Students with an older registration, who want to re-register, should contact IT-kansliet. Students who are reserves on the reserve list, will be contacted by IT-kansliet/the Student Office if they are admitted. M. F. Atig (Uppsala University) Programming Theory September 03, / 25

6 The course in a nutshell Course form: Lectures, tutorials, and labs. Mandatory Assignment: There are lab assignments that all participants have to complete before hard deadlines. Oral exam. Optional Assignment: There are three (optional) assignments. Each can earn you up to 4 points (out of 100) in the final exam. Quizzes: You can earn up to 4 points in the final exam by answering correctly to the quizzes at the beginning of lectures. Examination: Final written exam. No books are allowed only a sheet that will be distributed at the exam. Grade: To get the 10 credits of this course you must: Pass the mandatory assignment, and Get 50 out from 100 in the final exam: 50 3, 70 4, and M. F. Atig (Uppsala University) Programming Theory September 03, / 25

7 Literature Online materials in the course webpage. D. Gries, The Science of Programming. Springer Verlag. Parosh A. A., Logic in Programming, compendium. (can be purchased in the student shop at UTHgård (building 73).) M. F. Atig (Uppsala University) Programming Theory September 03, / 25

8 Introduction M. F. Atig (Uppsala University) Programming Theory September 03, / 25

9 Programs Solving a problem using computers 1 Design an algorithm. 2 Implement the algorithm as a program. Examples Order a list of integers. Find the shortest path between two nodes in a graph. Compute the first 100 prime numbers. M. F. Atig (Uppsala University) Programming Theory September 03, / 25

10 Properties of Programs Properties of programs Efficiency Reliability (Correctness ) This course: Software Reliability As society becomes dependent on software, the consequence of software failures are non-trivial: Money lost. Lives lost. Clients lost. Jobs lost. M. F. Atig (Uppsala University) Programming Theory September 03, / 25

11 Software Bug: Space Disaster Ariane 5 Space mission $ 7, 000, 000, Years in the making 40 seconds after take off the rocket exploded M. F. Atig (Uppsala University) Programming Theory September 03, / 25

12 Software Bug: Space Disaster Attempt to cram a 64-floating point number to a 16-bit integer failed M. F. Atig (Uppsala University) Programming Theory September 03, / 25

13 Software Bugs: Cause of Deaths Several deaths of cancer patients were due to overdoses of radiation resulting from a race condition between concurrent tasks in the Therac-25 software M. F. Atig (Uppsala University) Programming Theory September 03, / 25

14 Cost of Failure Software failures were estimated to cost the US economy about $60 billion annually [NIST 2002] Improvements in software verification infrastructure may save one-third of this cost Testing accounts for an estimated 50%-80% of the cost of software development [Beizer 1990] M. F. Atig (Uppsala University) Programming Theory September 03, / 25

15 What is a Bug? Specification An abstract description of the behavior of the programs (e.g., the computations performed by the program). Sorting Input: list x = (x 1,x 2,...,x n ) of natural numbers. Output: list y = (y 1,y 2,...,y n ) such that: y is a permutation of x. y1 y 2 y n. M. F. Atig (Uppsala University) Programming Theory September 03, / 25

16 Correctness (Reliability) Correctness (Reliability) Is the implementation correct with respect to the specification? Does the implementation satisfy the specification? Examples Does the program that accepts an array of integers produce a sorted array? Does the program never access unallocated memory? M. F. Atig (Uppsala University) Programming Theory September 03, / 25

17 Checking Correctness Testing Simulate the program for some input data. Check whether the output data is consistent with the specification. Disadvantages Exhaustive testing infeasible in practice. Testing can detect errors, but not prove their absence. M. F. Atig (Uppsala University) Programming Theory September 03, / 25

18 Verification Implementation Verification Yes / No Specification Verification Given an implementation and a specification, the verification system answers yes/no: Yes: the program satisfies the specification No: the program is faulty M. F. Atig (Uppsala University) Programming Theory September 03, / 25

19 Synthesis Specification Synthesis Implementation Synthesis Given a specification, derive a correct implementation. M. F. Atig (Uppsala University) Programming Theory September 03, / 25

20 Describing specifications and implementations Formal Methods Based on rigorous mathematical principles Concepts from discrete mathematics and mathematical logic Utility Eliminate inconsistencies and ambiguities Perform systematic analysis M. F. Atig (Uppsala University) Programming Theory September 03, / 25

21 Examples of formal methods (1/2) Hardware circuits Specification: Hardware description language (VHDL) Implementation: Hardware circuit Logical Programming Specification: First-order Predicate Logic Implementation: PROLOG M. F. Atig (Uppsala University) Programming Theory September 03, / 25

22 Examples of formal methods (2/2) Imperative programs Specification: First-order Predicate Logic Implementation: C Distributed systems Specification: Temporal logic Implementation: Transition systems M. F. Atig (Uppsala University) Programming Theory September 03, / 25

23 Goal of this course In this course we study how to: Write rigorous descriptions of implementations and specifications of programs. Verify programs, i.e., prove that the implementation of a program meets its specification using formal methods. Write a correct program from a given specification. M. F. Atig (Uppsala University) Programming Theory September 03, / 25

24 Relevance Connection between Mathematical Logic and Programming. Interesting research area. Industrial relevance: Volvo, Ericsson, Bell Labs, Prover Technology, NASA, Microsoft, Airbus,... M. F. Atig (Uppsala University) Programming Theory September 03, / 25

25 Schedule in a nutshell (lectures) Propositional Logic Predicate Logic Weakest Preconditions Operational Semantics Invariants Partial Correctness and Termination Synthesis M. F. Atig (Uppsala University) Programming Theory September 03, / 25

Rigorous Software Development CSCI-GA 3033-009

Rigorous Software Development CSCI-GA 3033-009 Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 1 Important Facts Office Hours: Thu 3-4pm, or by appointment Office: CIWW 407 Course web site: http://cs.nyu.edu/wies/teaching/rsd-13

More information

The Course. http://www.cse.unsw.edu.au/~cs3153/

The Course. http://www.cse.unsw.edu.au/~cs3153/ The Course http://www.cse.unsw.edu.au/~cs3153/ Lecturers Dr Peter Höfner NICTA L5 building Prof Rob van Glabbeek NICTA L5 building Dr Ralf Huuck NICTA ATP building 2 Plan/Schedule (1) Where and When Tuesday,

More information

Model Checking based Software Verification

Model Checking based Software Verification Model Checking based Software Verification 18.5-2006 Keijo Heljanko Keijo.Heljanko@tkk.fi Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24

More information

Automated Theorem Proving - summary of lecture 1

Automated Theorem Proving - summary of lecture 1 Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of

More information

https://sites.google.com/a/asu.edu/cse-522-spring-12/ sensors and actuators? How do we handle the errors introduced due to noise, quantization etc?

https://sites.google.com/a/asu.edu/cse-522-spring-12/ sensors and actuators? How do we handle the errors introduced due to noise, quantization etc? CSE 522 Spring 12 https://sites.google.com/a/asu.edu/cse-522-spring-12/ 1 of 3 5/29/2012 16:56 CSE 522 Spring 12 Navigation CSE522: Real-Time Embedded Systems The Schedule Sitemap CSE522: Real-Time Embedded

More information

340368 - FOPR-I1O23 - Fundamentals of Programming

340368 - FOPR-I1O23 - 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 information

Specification and Analysis of Contracts Lecture 1 Introduction

Specification and Analysis of Contracts Lecture 1 Introduction Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider gerardo@ifi.uio.no http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.

More information

CS4507 Advanced Software Engineering

CS4507 Advanced Software Engineering CS4507 Advanced Software Engineering Lecturer: Adrian O Riordan Office: Room G.71 WGB Email: a.oriordan cs.ucc.ie Course Webpage: http://www.cs.ucc.ie/~adrian/cs4507.html CS4507 Overview 5 Credit course

More information

How To Write A Program Verification And Programming Book

How To Write A Program Verification And Programming Book Jose Bacelar Almeida Maria Joao Frade Jorge Sousa Pinto Simao Melo de Sousa Rigorous Software Development An Introduction to Program Verification & Springer Contents 1 Introduction 1 1.1 A Formal Approach

More information

Computer Science Information Sheet for entry in 2016. What is Computer Science?

Computer Science Information Sheet for entry in 2016. What is Computer Science? Computer Science Information Sheet for entry in 2016 What is Computer Science? Computer Science is about understanding computer systems and networks at a deep level. Computers and the programs they run

More information

Master Degree in Computer Science and Networking

Master Degree in Computer Science and Networking Master Degree in Computer Science and Networking The two-year Master Degree (Laurea Magistrale) in Computer Science and Networking is a jointly Program offered by the University of Pisa Deparment of Computer

More information

Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist.

Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist. Die wichtigsten Use Cases für MISRA, HIS, SQO, IEC, ISO und Co. - Warum Polyspace DIE Embedded Code-Verifikationslösung ist. Christian Guß Application Engineer The MathWorks GmbH 2015 The MathWorks, Inc.

More information

The Model Checker SPIN

The Model Checker SPIN The Model Checker SPIN Author: Gerard J. Holzmann Presented By: Maulik Patel Outline Introduction Structure Foundation Algorithms Memory management Example/Demo SPIN-Introduction Introduction SPIN (Simple(

More information

Program Analysis: Theory and Practice

Program Analysis: Theory and Practice Introductions Program Analysis: Theory and Practice Who am I? About you? What do you want to get out of this class? Evan Chang Meeting 1: Welcome CSCI 7135, Fall 2010 http://www.cs.colorado.edu/~bec/courses/csci7135-f10/

More information

CS135 Computer Science I Spring 2015

CS135 Computer Science I Spring 2015 CS135 Computer Science I Spring 2015 Instructor: Laura Pike Email: laura.pike@gbcnv.edu Phone: 775-753-2288 Office: HTC 131 Office Hours: Monday 9:00 11:30 am Thursday 1:00-3:30 pm Textbooks: ISBN: 978-0470927137,

More information

INF5140: Specification and Verification of Parallel Systems

INF5140: Specification and Verification of Parallel Systems Motivation INF5140: Specification and Verification of Parallel Systems Lecture 1 Introduction: Formal Methods Gerardo Schneider Department of Informatics University of Oslo INF5140, Spring 2009 Outline

More information

INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE

INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE PREFERRED RELIABILITY PRACTICES PRACTICE NO. PD-ED-1228 PAGE 1 OF 6 INDEPENDENT VERIFICATION AND VALIDATION OF EMBEDDED SOFTWARE Practice: To produce high quality, reliable software, use Independent Verification

More information

Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm

Introduction to Formal Methods. Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Introduction to Formal Methods Các Phương Pháp Hình Thức Cho Phát Triển Phần Mềm Outline Introduction Formal Specification Formal Verification Model Checking Theorem Proving Introduction Good papers to

More information

Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland

Software Testing & Analysis (F22ST3): Static Analysis Techniques 2. Andrew Ireland Software Testing & Analysis (F22ST3) Static Analysis Techniques Andrew Ireland School of Mathematical and Computer Science Heriot-Watt University Edinburgh Software Testing & Analysis (F22ST3): Static

More information

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Why? A central concept in Computer Science. Algorithms are ubiquitous. Analysis of Algorithms: A Brief Introduction Why? A central concept in Computer Science. Algorithms are ubiquitous. Using the Internet (sending email, transferring files, use of search engines, online

More information

Formal Verification and Linear-time Model Checking

Formal Verification and Linear-time Model Checking Formal Verification and Linear-time Model Checking Paul Jackson University of Edinburgh Automated Reasoning 21st and 24th October 2013 Why Automated Reasoning? Intellectually stimulating and challenging

More information

Safety and Hazard Analysis

Safety and Hazard Analysis Safety and Hazard Analysis An F16 pilot was sitting on the runway doing the preflight and wondered if the computer would let him raise the landing gear while on the ground - it did A manufacturer of torpedoes

More information

ECE 441/541 Advanced Digital Design and Field Programmable Gate Arrays Spring 2010

ECE 441/541 Advanced Digital Design and Field Programmable Gate Arrays Spring 2010 ECE 441/541 Advanced Digital Design and Field Programmable Gate Arrays Spring 2010 Course description: Course will provide a description of Field Programmable Gate Array (FPGA) technologies and the methods

More information

Sample Syllabus (C++) CSCI 1301 Introduction to Programming Principles

Sample Syllabus (C++) CSCI 1301 Introduction to Programming Principles Sample Syllabus (C++) CSCI 1301 Introduction to Programming Principles Knowledge Areas that contain topics and learning outcomes covered in the course Knowledge Areas Total Hours of Coverage Software Development

More information

ECE 156A - Syllabus. Lecture 0 ECE 156A 1

ECE 156A - Syllabus. Lecture 0 ECE 156A 1 ECE 156A - Syllabus Lecture 0 ECE 156A 1 Description Introduction to HDL basic elements, HDL simulation concepts, HDL concurrent statements with examples and applications, writing HDL for synthesis, and

More information

Software Verification: Infinite-State Model Checking and Static Program

Software Verification: Infinite-State Model Checking and Static Program Software Verification: Infinite-State Model Checking and Static Program Analysis Dagstuhl Seminar 06081 February 19 24, 2006 Parosh Abdulla 1, Ahmed Bouajjani 2, and Markus Müller-Olm 3 1 Uppsala Universitet,

More information

Computer Science 217

Computer Science 217 Computer Science 217 Midterm Exam Fall 2009 October 29, 2009 Name: ID: Instructions: Neatly print your name and ID number in the spaces provided above. Pick the best answer for each multiple choice question.

More information

How To Improve Software Quality

How To Improve Software Quality Software Qualities Quality Assurance Maintainer Go Documentation Readable Ce Go Design Functionality Ease of use Ease of learning User Reliability Correctness Efficiency Low Cost Portability Increased

More information

EECS 294-98: Formal Methods for Engineering Education. Sanjit A. Seshia EECS, UC Berkeley

EECS 294-98: Formal Methods for Engineering Education. Sanjit A. Seshia EECS, UC Berkeley EECS 294-98: Formal Methods for Engineering Education Sanjit A. Seshia EECS, UC Berkeley Engineering Education (recent past) On-campus experience Instructor lectures / discusses in class Students listen

More information

Model Checking: An Introduction

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

More information

Static Program Transformations for Efficient Software Model Checking

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

More information

Course Bachelor of Information Technology majoring in Network Security or Data Infrastructure Engineering

Course Bachelor of Information Technology majoring in Network Security or Data Infrastructure Engineering Course Bachelor of Information Technology majoring in Network Security or Data Infrastructure Engineering Course Number HE20524 Location Meadowbank OVERVIEW OF SUBJECT REQUIREMENTS Note: This document

More information

Rigorous Software Development CSCI-GA 3033-009

Rigorous Software Development CSCI-GA 3033-009 Rigorous Software Development CSCI-GA 3033-009 Instructor: Thomas Wies Spring 2013 Lecture 11 Semantics of Programming Languages Denotational Semantics Meaning of a program is defined as the mathematical

More information

Appendices master s degree programme Artificial Intelligence 2014-2015

Appendices master s degree programme Artificial Intelligence 2014-2015 Appendices master s degree programme Artificial Intelligence 2014-2015 Appendix I Teaching outcomes of the degree programme (art. 1.3) 1. The master demonstrates knowledge, understanding and the ability

More information

CCA CYBER SECURITY TRACK

CCA CYBER SECURITY TRACK CCA CYBER SECURITY TRACK 2013-2014 CCA Advanced Cyber Security Track A detailed description of the advanced cyber security track. Courses to be offered in the CCA Advanced Cyber Security Track 2013-2014

More information

Surgical Technology Accelerated Alternate Delivery (AAD) Program (For all students in the program January 2015 or later)

Surgical Technology Accelerated Alternate Delivery (AAD) Program (For all students in the program January 2015 or later) Surgical Technology Accelerated Alternate Delivery (AAD) Program (For all students in the program January 2015 or later) General Information The Accelerated Alternate Delivery (AAD) Pathway in Surgical

More information

Systems on Chip Design

Systems on Chip Design Systems on Chip Design College: Engineering Department: Electrical First: Course Definition, a Summary: 1 Course Code: EE 19 Units: 3 credit hrs 3 Level: 3 rd 4 Prerequisite: Basic knowledge of microprocessor/microcontroller

More information

Coverability for Parallel Programs

Coverability for Parallel Programs 2015 http://excel.fit.vutbr.cz Coverability for Parallel Programs Lenka Turoňová* Abstract We improve existing method for the automatic verification of systems with parallel running processes. The technique

More information

ML for the Working Programmer

ML for the Working Programmer ML for the Working Programmer 2nd edition Lawrence C. Paulson University of Cambridge CAMBRIDGE UNIVERSITY PRESS CONTENTS Preface to the Second Edition Preface xiii xv 1 Standard ML 1 Functional Programming

More information

Study, Internship, and Examination Regulations. Academy Profession and Bachelor Degrees INTERNATIONAL BUSINESS COLLEGE MITROVICA

Study, Internship, and Examination Regulations. Academy Profession and Bachelor Degrees INTERNATIONAL BUSINESS COLLEGE MITROVICA Study, Internship, and Examination Regulations Academy Profession and Bachelor Degrees INTERNATIONAL BUSINESS COLLEGE MITROVICA These study and examination regulations apply for the two year Academy Profession

More information

T-79.186 Reactive Systems: Introduction and Finite State Automata

T-79.186 Reactive Systems: Introduction and Finite State Automata T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software

More information

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation

Testing & Verification of Digital Circuits ECE/CS 5745/6745. Hardware Verification using Symbolic Computation Testing & Verification of Digital Circuits ECE/CS 5745/6745 Hardware Verification using Symbolic Computation Instructor: Priyank Kalla (kalla@ece.utah.edu) 3 Credits Mon, Wed, 1:25-2:45pm, WEB L105 Office

More information

PROGRAMME SPECIFICATION POSTGRADUATE PROGRAMME

PROGRAMME SPECIFICATION POSTGRADUATE PROGRAMME PROGRAMME SPECIFICATION POSTGRADUATE PROGRAMME KEY FACTS Programme name Advanced Computer Science Award MSc School Mathematics, Computer Science and Engineering Department or equivalent Department of Computing

More information

DYERSBURG STATE COMMUNITY COLLEGE Course Syllabus

DYERSBURG STATE COMMUNITY COLLEGE Course Syllabus DYERSBURG STATE COMMUNITY COLLEGE Course Syllabus COURSE DEPARTMENT AND NUMBER: MATH 1830 COURSE NAME: Elementary Calculus NUMBER OF SEMESTER HOURS: Three semester hours INSTRUCTOR: Bobby Solmon TEXT:

More information

Model 2.4 Faculty member + student

Model 2.4 Faculty member + student Model 2.4 Faculty member + student Course syllabus for Formal languages and Automata Theory. Faculty member information: Name of faculty member responsible for the course Office Hours Office Number Email

More information

Model Checking of Software

Model Checking of Software Model Checking of Software Patrice Godefroid Bell Laboratories, Lucent Technologies SpecNCheck Page 1 August 2001 A Brief History of Model Checking Prehistory: transformational programs and theorem proving

More information

Programme Specification (Postgraduate)

Programme Specification (Postgraduate) Programme Specification (Postgraduate) 1. Programme Title(s): MSc/PGDip*/PGCert* Data Analysis for Business Intelligence *Exit awards only 2. Awarding body or institution: University of Leicester 3. a)

More information

A Comparison of Student Learning in an Introductory Logic Circuits Course: Traditional Face-to-Face vs. Fully Online

A Comparison of Student Learning in an Introductory Logic Circuits Course: Traditional Face-to-Face vs. Fully Online A Comparison of Student Learning in an Introductory Logic Circuits Course: Traditional Face-to-Face vs. Fully Online Dr. Brock J. LaMeres Assistant Professor Electrical & Computer Engineering Dept Montana

More information

Digital Systems Design! Lecture 1 - Introduction!!

Digital Systems Design! Lecture 1 - Introduction!! ECE 3401! Digital Systems Design! Lecture 1 - Introduction!! Course Basics Classes: Tu/Th 11-12:15, ITE 127 Instructor Mohammad Tehranipoor Office hours: T 1-2pm, or upon appointments @ ITE 441 Email:

More information

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011

University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011 University of Dayton Department of Computer Science Undergraduate Programs Assessment Plan DRAFT September 14, 2011 Department Mission The Department of Computer Science in the College of Arts and Sciences

More information

Rules of the program leading to Bachelor of Science in Computer Science

Rules of the program leading to Bachelor of Science in Computer Science University of Colorado Denver Department of Computer Science and Engineering Rules of the program leading to Bachelor of Science in Computer Science These degree requirements are in effect starting from

More information

A puzzle. Suppose that you want to run some JavaScript programs---all the cool kids are doing it.

A puzzle. Suppose that you want to run some JavaScript programs---all the cool kids are doing it. A puzzle Suppose that you want to run some JavaScript programs---all the cool kids are doing it. However, you are deathly afraid that your mom/ significant other/boss will see the curse word b00 appear

More information

Philadelphia University Faculty of Information Technology Department of Computer Science ----- Semester, 2007/2008.

Philadelphia University Faculty of Information Technology Department of Computer Science ----- Semester, 2007/2008. Philadelphia University Faculty of Information Technology Department of Computer Science ----- Semester, 2007/2008 Course Syllabus Course Title: Computer Logic Design Course Level: 1 Lecture Time: Course

More information

Testing LTL Formula Translation into Büchi Automata

Testing LTL Formula Translation into Büchi Automata Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland

More information

MAP-I Programa Doutoral em Informática. Rigorous Software Development

MAP-I Programa Doutoral em Informática. Rigorous Software Development MAP-I Programa Doutoral em Informática Rigorous Software Development Unidade Curricular em Teoria e Fundamentos Theory and Foundations (UCTF) DI-UM, DCC-FCUP May, 2012 Abstract This text presents a UCTF

More information

Computer Science/Software Engineering

Computer Science/Software Engineering 292 School of Science and Engineering Computer Science/Software Engineering Everald E. Mills, PhD, Chair Objectives The computer science program seeks to prepare students for careers that require sophisticated

More information

Ecommerce Designing ETP 450x (4 Units) - Laboratory Exercises

Ecommerce Designing ETP 450x (4 Units) - Laboratory Exercises Designing ecommerce Applications ITP 450x (4 Units) Objective Fundamentals of business and technological elements of electronic commerce. The design of solutions for the Internet using ecommerce development

More information

PSG College of Technology, Coimbatore-641 004 Department of Computer & Information Sciences BSc (CT) G1 & G2 Sixth Semester PROJECT DETAILS.

PSG College of Technology, Coimbatore-641 004 Department of Computer & Information Sciences BSc (CT) G1 & G2 Sixth Semester PROJECT DETAILS. PSG College of Technology, Coimbatore-641 004 Department of Computer & Information Sciences BSc (CT) G1 & G2 Sixth Semester PROJECT DETAILS Project Project Title Area of Abstract No Specialization 1. Software

More information

Course Syllabus. MATH 1350-Mathematics for Teachers I. Revision Date: 8/15/2016

Course Syllabus. MATH 1350-Mathematics for Teachers I. Revision Date: 8/15/2016 Course Syllabus MATH 1350-Mathematics for Teachers I Revision Date: 8/15/2016 Catalog Description: This course is intended to build or reinforce a foundation in fundamental mathematics concepts and skills.

More information

Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul Agha January 21, 2014 1

Slides based in part on previous lectures by Mahesh Vishwanathan, and by Gul Agha January 21, 2014 1 Contact Information CS477 Formal Software Development Methods Elsa L Gunter 2112 SC, UIUC egunter@illinois.edu http://courses.engr.illinois.edu/cs477 Office: 2112 SC Office Hours: Wednesdays 11:00am -

More information

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification

Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Introduction Overview Motivating Examples Interleaving Model Semantics of Correctness Testing, Debugging, and Verification Advanced Topics in Software Engineering 1 Concurrent Programs Characterized by

More information

COURSE PROFILE. Local Credits. Theory+PS+Lab (hour/week) ECTS. Course Name Code Semester Term. Accounting Information Systems MAN552T I I 3 3 6

COURSE PROFILE. Local Credits. Theory+PS+Lab (hour/week) ECTS. Course Name Code Semester Term. Accounting Information Systems MAN552T I I 3 3 6 COURSE PROFILE Course Name Code Semester Term Accounting Information Systems Theory+PS+Lab (hour/week) Local Credits ECTS MAN552T I I 3 3 6 Prerequisites -- Course Language Course Type Turkish Mandatory

More information

The ProB Animator and Model Checker for B

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,

More information

Comparing Student Learning in a Required Electrical Engineering Undergraduate Course: Traditional Face-to-Face vs. Online

Comparing Student Learning in a Required Electrical Engineering Undergraduate Course: Traditional Face-to-Face vs. Online Comparing Student Learning in a Required Electrical Engineering Undergraduate Course: Traditional Face-to-Face vs. Online Carolyn Plumb and Brock LaMeres Montana State University, Bozeman, Montana, U.S.A.,

More information

Number of hours in the semester L Ex. Lab. Projects SEMESTER I 1. Economy 45 18 27. 2. Philosophy 18 18. 4. Mathematical Analysis 45 18 27 Exam

Number of hours in the semester L Ex. Lab. Projects SEMESTER I 1. Economy 45 18 27. 2. Philosophy 18 18. 4. Mathematical Analysis 45 18 27 Exam Year 1 Lp. Course name Number of hours in the semester L Ex. Lab. Projects SEMESTER I 1. Economy 45 18 7. Philosophy 18 18 3. Linear Algebra 45 18 7 Exam 4. Mathematical Analysis 45 18 7 Exam 5. Economical

More information

PROGRAMME SPECIFICATION POSTGRADUATE PROGRAMMES. Masters in Management of Information Security and Risk

PROGRAMME SPECIFICATION POSTGRADUATE PROGRAMMES. Masters in Management of Information Security and Risk PROGRAMME SPECIFICATION POSTGRADUATE PROGRAMMES KEY FACTS Programme name Masters in Management of Information Security and Risk Award MSc School School of Mathematics, Computer Science and Engineering

More information

Principles of Software Engineering: Course Outline. Ethan Jackson And Wolfram Schulte, Research in Software Engineering (RiSE) Microsoft Research

Principles of Software Engineering: Course Outline. Ethan Jackson And Wolfram Schulte, Research in Software Engineering (RiSE) Microsoft Research Principles of Software Engineering: Course Outline Ethan Jackson And Wolfram Schulte, Research in Software Engineering (RiSE) Microsoft Research Overview Motivation and Focus Syllabus Projects i. Motivation

More information

Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems

Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems Verification of Triple Modular Redundancy (TMR) Insertion for Reliable and Trusted Systems Melanie Berg 1, Kenneth LaBel 2 1.AS&D in support of NASA/GSFC Melanie.D.Berg@NASA.gov 2. NASA/GSFC Kenneth.A.LaBel@NASA.gov

More information

EE360: Digital Design I Course Syllabus

EE360: Digital Design I Course Syllabus : Course Syllabus Dr. Mohammad H. Awedh Fall 2008 Course Description This course introduces students to the basic concepts of digital systems, including analysis and design. Both combinational and sequential

More information

Lecture 9 verifying temporal logic

Lecture 9 verifying temporal logic Basics of advanced software systems Lecture 9 verifying temporal logic formulae with SPIN 21/01/2013 1 Outline for today 1. Introduction: motivations for formal methods, use in industry 2. Developing models

More information

Software Modeling and Verification

Software Modeling and Verification Software Modeling and Verification Alessandro Aldini DiSBeF - Sezione STI University of Urbino Carlo Bo Italy 3-4 February 2015 Algorithmic verification Correctness problem Is the software/hardware system

More information

Rigorous Software Development An introduction

Rigorous Software Development An introduction Rigorous Software Development An introduction Simão Melo de Sousa RELEASE (UBI), LIACC (Porto), CCTC (Minho) Computer Science Department University of Beira Interior, Portugal October 2011 S. Melo de Sousa

More information

TECHNICAL UNIVERSITY OF CRETE DATA STRUCTURES FILE STRUCTURES

TECHNICAL UNIVERSITY OF CRETE DATA STRUCTURES FILE STRUCTURES TECHNICAL UNIVERSITY OF CRETE DEPT OF ELECTRONIC AND COMPUTER ENGINEERING DATA STRUCTURES AND FILE STRUCTURES Euripides G.M. Petrakis http://www.intelligence.tuc.gr/~petrakis Chania, 2007 E.G.M. Petrakis

More information

Static vs. Dynamic Testing How Static Analysis and Run-Time Testing Can Work Together. Outline

Static vs. Dynamic Testing How Static Analysis and Run-Time Testing Can Work Together. Outline Static vs. Dynamic Testing How Static Analysis and Run-Time Testing Can Work Together S. Tucker Taft and Brian Lesuer SQGNE December 2006 Outline The Challenges Facing Software Testing A Software Testing

More information

Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled

Static Analysis. Find the Bug! 15-654: Analysis of Software Artifacts. Jonathan Aldrich. disable interrupts. ERROR: returning with interrupts disabled Static Analysis 15-654: Analysis of Software Artifacts Jonathan Aldrich 1 Find the Bug! Source: Engler et al., Checking System Rules Using System-Specific, Programmer-Written Compiler Extensions, OSDI

More information

MAT 183 - Elements of Modern Mathematics Syllabus for Spring 2011 Section 100, TTh 9:30-10:50 AM; Section 200, TTh 8:00-9:20 AM

MAT 183 - Elements of Modern Mathematics Syllabus for Spring 2011 Section 100, TTh 9:30-10:50 AM; Section 200, TTh 8:00-9:20 AM MAT 183 - Elements of Modern Mathematics Syllabus for Spring 2011 Section 100, TTh 9:30-10:50 AM; Section 200, TTh 8:00-9:20 AM Course Instructor email office ext. Thomas John, Ph.D. thjohn@syr.edu 224

More information

Algorithmic Software Verification

Algorithmic Software Verification Algorithmic Software Verification (LTL Model Checking) Azadeh Farzan What is Verification Anyway? Proving (in a formal way) that program satisfies a specification written in a logical language. Formal

More information

FINC 4531 B Intermediate Corporate Finance Tuesdays and Thursdays from 5:30-6:45, Adamson 227 Expanded Course Outline Fall 2010

FINC 4531 B Intermediate Corporate Finance Tuesdays and Thursdays from 5:30-6:45, Adamson 227 Expanded Course Outline Fall 2010 FINC 4531 B Intermediate Corporate Finance Tuesdays and Thursdays from 5:30-6:45, Adamson 227 Expanded Course Outline Fall 2010 Professor: Charles Hodges Office: ADAMSON 205B Telephone: (678) 839-4816

More information

Computer Science. Discipline-Specific Admission Requirements. Alternate Admission Criteria

Computer Science. Discipline-Specific Admission Requirements. Alternate Admission Criteria University of Missouri - Kansas City 1 Computer Science Discipline Coordinator Yugyung Lee, (816) 235-5932, leeyu@umkc.edu Computer Science faculty who are members of the doctoral faculty. Computer Science

More information

BEng Biomedical Engineering / BEng Biomedical Engineering with Placement

BEng Biomedical Engineering / BEng Biomedical Engineering with Placement PROGRAMME SPECIFICATION KEY FACTS Programme name Award School Department or equivalent UCAS Code BEng Biomedical Engineering / BEng Biomedical Engineering with Placement BEng (Hons) School of Mathematics

More information

6.080/6.089 GITCS Feb 12, 2008. Lecture 3

6.080/6.089 GITCS Feb 12, 2008. Lecture 3 6.8/6.89 GITCS Feb 2, 28 Lecturer: Scott Aaronson Lecture 3 Scribe: Adam Rogal Administrivia. Scribe notes The purpose of scribe notes is to transcribe our lectures. Although I have formal notes of my

More information

Department Policies for Online Math Classes

Department Policies for Online Math Classes Department Policies for Online Math Classes Your course syllabus and any policies specific to your course are on your course homepage. Access Codes are purchased at The Book Store at the register. Once

More information

Date approved or revised 8-21-15 Angelina College Business Division BUSI-1301 Business Principles Instructional Syllabus I. BASIC COURSE INFORMATION

Date approved or revised 8-21-15 Angelina College Business Division BUSI-1301 Business Principles Instructional Syllabus I. BASIC COURSE INFORMATION I. BASIC COURSE INFORMATION Date approved or revised 8-21-15 Angelina College Business Division BUSI-1301 Business Principles Instructional Syllabus A. Course Description: (as stated in the bulletin, including

More information

ASSESSMENT RECORD FOR DEPARTMENT OF

ASSESSMENT RECORD FOR DEPARTMENT OF RECORD DEPARTMENT OF Form A Computer Science and Engineering -------------------------------------------------------------------------------------------------------------------------------------------------------------

More information

Software Testing. Quality & Testing. Software Testing

Software Testing. Quality & Testing. Software Testing Software Testing Software Testing Error: mistake made by the programmer/developer Fault: a incorrect piece of code/document (i.e., bug) Failure: result of a fault Goal of software testing: Cause failures

More information

EEC 119B Spring 2014 Final Project: System-On-Chip Module

EEC 119B Spring 2014 Final Project: System-On-Chip Module EEC 119B Spring 2014 Final Project: System-On-Chip Module Dept. of Electrical and Computer Engineering University of California, Davis Issued: March 14, 2014 Subject to Revision Final Report Due: June

More information

Checklist for Evaluating Online Courses

Checklist for Evaluating Online Courses Educational Technology Cooperative Checklist for Evaluating Online Courses November 2006 Southern Regional Education Board 592 10th St. N.W. Atlanta, GA 30318 (404) 875-9211 www.sreb.org This publication

More information

COMPUTER SCIENCE TRIPOS

COMPUTER 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 information

Introduction to Algorithms March 10, 2004 Massachusetts Institute of Technology Professors Erik Demaine and Shafi Goldwasser Quiz 1.

Introduction to Algorithms March 10, 2004 Massachusetts Institute of Technology Professors Erik Demaine and Shafi Goldwasser Quiz 1. Introduction to Algorithms March 10, 2004 Massachusetts Institute of Technology 6.046J/18.410J Professors Erik Demaine and Shafi Goldwasser Quiz 1 Quiz 1 Do not open this quiz booklet until you are directed

More information

IMPLEMENTATION REGULATIONS BACHELOR S DEGREE PROGRAMME AEROSPACE ENGINEERING DELFT UNIVERSITY OF TECHNOLOGY

IMPLEMENTATION REGULATIONS BACHELOR S DEGREE PROGRAMME AEROSPACE ENGINEERING DELFT UNIVERSITY OF TECHNOLOGY IMPLEMENTATION REGULATIONS BACHELOR S DEGREE PROGRAMME AEROSPACE ENGINEERING DELFT UNIVERSITY OF TECHNOLOGY 2014-2015 TABLE OF CONTENTS Section 1 Bachelor s degree programme... 1 Article 1 The study load...

More information

DOVER-SHERBORN HIGH SCHOOL PROGRAM OF STUDIES

DOVER-SHERBORN HIGH SCHOOL PROGRAM OF STUDIES DOVER-SHERBORN HIGH SCHOOL PROGRAM OF STUDIES 2014-2015 Educational Technologies Intro to Computer Applications Computer Graphics Astronomy Web Design & Development Intro to Programming (Visual Basic)

More information

Discrete Mathematics I Distance Learning (online) sections

Discrete Mathematics I Distance Learning (online) sections FLORIDA STATE UNIVERSITY MAD 2104 Discrete Mathematics I Distance Learning (online) sections Summer 2014 https:/ /campus.fsu.edu Florida State University Tallahassee, Florida 32306 Copyright 2014 Florida

More information

Teaching Institution: Institute of Education, University of London

Teaching Institution: Institute of Education, University of London PROGRAMME SPECIFICATION MA in Special and Inclusive Education Awarding body: Institute of Education, University of London Teaching Institution: Institute of Education, University of London Name of final

More information

PROGRAMME SPECIFICATION UNDERGRADUATE PROGRAMMES. Programme BEng Computer Systems Engineering/BEng Computer Systems Engineering with Placement

PROGRAMME SPECIFICATION UNDERGRADUATE PROGRAMMES. Programme BEng Computer Systems Engineering/BEng Computer Systems Engineering with Placement PROGRAMME SPECIFICATION UNDERGRADUATE PROGRAMMES KEY FACTS Programme BEng Computer Systems Engineering/BEng name Computer Systems Engineering with Placement Award BEng (Hons) School School of Engineering

More information

The University of Akron Department of Mathematics. 3450:145-803 COLLEGE ALGEBRA 4 credits Spring 2015

The University of Akron Department of Mathematics. 3450:145-803 COLLEGE ALGEBRA 4 credits Spring 2015 The University of Akron Department of Mathematics 3450:145-803 COLLEGE ALGEBRA 4 credits Spring 2015 Instructor: Jonathan Hafner Email: jhafner@zips.uakron.edu Office: CAS 249 Phone: (330) 972 6158 Office

More information

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs. CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express

More information

Master Degree Program in Computer Science (CS)

Master Degree Program in Computer Science (CS) Master Degree Program in Computer Science (CS) Students holding Bachelor s degree in Computer Science are accepted as graduate students, after meeting the general requirements stated below. Applicants

More information

Digitools/Web Design Syllabus CHS Business/JVS/Family Consumer Science Department

Digitools/Web Design Syllabus CHS Business/JVS/Family Consumer Science Department 1 Digitools/Web Design Syllabus CHS Business/JVS/Family Consumer Science Department Contact Information: Parents may contact me by phone, email or visiting the school. Teacher: Mrs. Patty Case Email Address:

More information

imtech Curriculum Presentation

imtech Curriculum Presentation imtech Curriculum Presentation Effective from Batch 2015 Onwards April, 2015 Course Structure Every course has a fixed number of credits associated with it (e.g., 4 credits) One has to earn 200 credits

More information

02-201: Programming for Scientists

02-201: Programming for Scientists 1. Course Information 1.1 Course description 02-201: Programming for Scientists Carl Kingsford Fall 2015 Provides a practical introduction to programming for students with little or no prior programming

More information