Welcome to CS 4390/CS5381: Introduction to Formal Methods

Slides:



Advertisements
Similar presentations
General information CSE 230 : Introduction to Software Engineering
Advertisements

1 CS 425 / CS 625 Software Engineering Fall 2007 Course Syllabus August 27, 2007.
Statistical Methods in Computer Science Course Introduction Ido Dagan.
CSE 322: Software Reliability Engineering Topics covered: Course outline and schedule Introduction, Motivation and Basic Concepts.
CPSC 100 – Personal Computers & Their Uses Fall 2010 Dongsheng Che Department of Computer Science East Stroudsburg University.
Log into your account Go to Locate MAT 2401 and the First Day PPT.
Computer Network Fundamentals CNT4007C
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2009 Dept. of Computer Science University of Texas at El Paso.
COMP Introduction to Programming Yi Hong May 13, 2015.
General Physics1 Welcome to Phys 130! Blackboard blackboard.siena.edu.
Chapter 1: Introduction to Project Management
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
Welcome to CS 3331, Advanced Object-Oriented Programming Fall 2015 Dept. of Computer Science University of Texas at El Paso.
CS Welcome to CS 4311 Software Engineering II Spring 2015.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Course Introduction Software Engineering
CST 229 Introduction to Grammars Dr. Sherry Yang Room 213 (503)
CGS-2531 Problem Solving with Computer Software Course home page: Course.
1 Copyright © 2010, 2007, 2004 Pearson Education, Inc. All Rights Reserved. Welcome to MA 180-2C! Instructor: Dr. Annette LaRussa
Principles of Financial Accounting I Fall Semester 2007 Orientation Welcome – We are glad you are here! Let’s look at the syllabus for this course.
Course Information Sarah Diesburg Operating Systems COP 4610.
Course Information Andy Wang Operating Systems COP 4610 / CGS 5765.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Associate Professor School of Computer Science and Engineering Chung-Ang.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview Bong-Soo Sohn Assistant Professor School of Computer Science and Engineering Chung-Ang.
CS Welcome to CS 5383, Topics in Software Assurance, Toward Zero-defect Programming Spring 2007.
IST 210: Organization of Data
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
CEN First Lecture CEN 4010 Introduction to Software Engineering Instructor: Masoud Sadjadi
CS , Programming III: C++ 9-9:50am MWF, Hardaway 207 Two Credit Hours (ppts), and Blackboard Learn (submissions and grading)
CST 223 Concepts of Programming Languages Dr. Sherry Yang PV 171
Advances in Cloud Computing CIS6930/CIS4930
Computer Networks CNT5106C
IST 210: ORGANIZATION OF DATA Introduction IST210 1.
Welcome to CS 4330, Mobile Application Development Spring
CSE6339 DATA MANAGEMENT AND ANALYSIS FOR COMPUTATIONAL JOURNALISM CSE6339, Spring 2012 Department of Computer Science and Engineering, University of Texas.
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
CSc 120 Introduction to Computer Programing II
Networking CS 3470, Section 1 Sarah Diesburg
Computer Network Fundamentals CNT4007C
Andy Wang Object Oriented Programming in C++ COP 3330
Computer Engineering Department Islamic University of Gaza
Networking CS 3470, Section 1 Sarah Diesburg
Welcome Algebra 1 (PreAP/GT).
Software Requirements
CSc 020: Programming Concepts and Methodology II
Computer Networks CNT5106C
INTRODUCTION Welcome… .
Course Information Mark Stanovich Principles of Operating Systems
Object Oriented Programming (OOP) Design Lecture 1 : Course Overview
Computer Networks CNT5106C
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Object Oriented Programming in C++ COP 3330
EECE 310 Software Engineering
Andy Wang Operating Systems COP 4610 / CGS 5765
Andy Wang Operating Systems COP 4610 / CGS 5765
EE422C Software Design and Implementation II
Andy Wang Operating Systems COP 4610 / CGS 5765
Introduction to MA Introduction to Calculus Fall 2015
CS 1111 Introduction to Programming Fall 2018
CS 425 / CS 625 Software Engineering
COMS 261 Computer Science I
Andy Wang Operating Systems COP 4610 / CGS 5765
Topics in Database Systems
Sampath Jayarathna Cal Poly Pomona
Computer Networks CNT5106C
Administrative Issues
Andy Wang Operating Systems COP 4610 / CGS 5765
Lecture 1a- Introduction
Computer Engineering Department Islamic University of Gaza
Class administration 10/11/05.
Presentation transcript:

Welcome to CS 4390/CS5381: Introduction to Formal Methods Fall 2016

Course Staff Instructor Name: Yoonsik Cheon Email: ycheon@utep.edu Office: CCSB 3.0606 (phone: 747-8028) Office hours: MW 3-4 pm, by appointment, and when door is open

Course Website URL: http://www.cs.utep.edu/cheon/cs5381 or cs4390 Resources available News and important announcements Course information (syllabus, contact info, etc.) Lecture notes and reading materials Assignments, projects, and exams Scores and grades Programming tips, tools, etc.

Web Account Protected pages, e.g., grades Use: User name: cs4390 or cs5381 Password: room319

About This Course… CS 4390 Special Topics CS 5381 Topics in Software Engineering “Advanced topics related to techniques, methods, procedures, and paradigms in software engineering. May be repeated for credit when topic varies.” Q: Topic of this semester? Formal Methods

Goals And Topics To raise the competence to create correct and reliable software by precisely modeling, specifying, and reasoning about the correctness of computer programs. Specifically: To know the concepts of formal methods To learn representative formal specification languages, such as OCL, Z, Tabular notation, Larch, JML, and CSP To apply them to small examples

Learning Objectives Understand the concepts of formal methods. Know representative formal specification languages. Precisely model and specify small software systems using formal specification languages. Compare and evaluate different formal methods to choose a suitable one for a given application. Apply formal verification techniques to code with low complexity to reason about its correctness.

Textbooks No required textbook Will read technical articles and papers 7 required readings (page 5 of syllabus) Supplementary readings (CS 5381) Hard copies will be provided

Course Structure Active learning Seminar oriented (CS 5381) Required readings (7 papers) In-class group exercise and practice Application to running examples (homework) Seminar oriented (CS 5381) Present 1~2 related papers Suggested readings in syllabus (page 5) Optional for CS 4390 students Project based (CS 5381) Proposal, presentation, and final report Peer review Optional for CS 4390

Policy - Assignments Required readings (7) Homework (4) CS 5381 Policy OCL, Z, JML, Larch More on this later CS 5381 Paper presentations (1~2) Project: proposal, peer review, presentation, and report Policy No late submission for assignments Class attendance required; circulate a sign-in sheet!

Exams CS 4390* CS 5381 Mid-term: October 19 Final: November 28 (Take-home; last week)* CS 5381 No final but project presentation in the last week *Can take the project option instead of the final exam.

Grading Grading Percentage-score-to-letter-grade conversion Homework: 50% Mid-term exam: 20% Final exam/project: 30% Bonus (class participation): 5% Percentage-score-to-letter-grade conversion 90% or higher: A 80-89%: B 70-79%: C 60-69%: D below 60%: F

Tentative Schedule UML (1.5 weeks) Intro. to formal methods (1.5 weeks) Z (1.5 weeks) OCL (1.5 weeks Tabular notation (1.5 weeks) JML (2 weeks) Larch (1.5 weeks) CSP (1.5 weeks) Paper presentations (1.5 weeks) Exams and projects (2 weeks)

Questions/Concerns?

Homework Assignments Apply specification notations/techniques learned to: Small but realistic example application Same application but in different notations Board game: Battleship In pair (team of two) Modeling in Z, OCL, JML, and Larch

Battleship Game Guessing game for two players Paper and pencil game Two boards with hidden ships of different sizes Hit and sink all ships of the opponent *Both pictures from Wikipedia.

Pair Exercise (10 mins) Form a pair Find an online Battleship game or app (e.g., www.battleshiponline.org) Play one round of game Defeat your opponent *Screenshot from www.battleshiponline.org.