Formal methods are based on logic, which along with set theory forms the foundation of all of mathematics. This module is dedicated to graphics and includes two sections. This syllabus is to be valid from 20160829 autumn semester 2016. Software engineering using formal methods propositional and linear temporal logic wolfgang ahrendt th september 2016 sefm. This syllabus is to be valid from 20170828 autumn semester 2017. Programme syllabus for software engineering and management masters programme, 120 credits software engineering and management masterprogram, 120 hogskolepoang second cyclen2sof 1. The focus is on software engineering principles and the methods and tools that support the principles. Fall 2016 syllabi george mason department of computer science. Syllabus for formal methods in software development. Tda294 dit271 formal methods in software development lp1 ht19 7. This book constitutes the refereed proceedings of the 15th international conference on formal engineering methods, icfem 20, held in queenstown, new zealand, in octobernovember 20. Conference on software engineering and formal methods, which was held in 2007 in london.
The faculty board of science and technology applies from. Course activities, grading scheme, and important d ates. It will have its main offices in barbados, with additional sites across the caribbean. Quizzes take place during the normal class periods.
Analysis,specification,design,coding,unit testing, integration and system testing, maintenance nformal methods can. This course covers formal methods used in the development of software. Formal methods in software engineering course prerequisite. Syllabus seg2106 software construction school of information technology and engineering site, university of ottawa, winter 2016. The location is room 5471, in the office areas of the department of computer science and engineering edit building johanneberg, the same building where the lectures took place.
The formal methods used during the development process provide a mechanism for eliminating problems, which are difficult to overcome using other software process. Which formal methods tools are used commercially today. The software engineering community has applied formal methods to improve software reliability and dependability to specify, design, analyze, and implement a hardware or software system. The examination slots are between 28 october and 1 november. This course presents some formal notations that are commonly used for the description of computation and of computing systems, for the specification of software and for mathematically rigorous arguments about program properties. In computer science, specifically software engineering and hardware engineering, formal methods are a particular kind of mathematically rigorous techniques for the specification, development and verification of software and hardware systems. This preliminary syllabus can be expected to change as the course progresses. The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing. Reiss course overview this course is a graduate seminar about software engineering. Background in programming and in software engineering course level. The following areas of study constitute the backbone of the course. That is, developing a precise statement of what the software is to do, while avoiding explicit or even implicit constraints on how it is to be done.
Below we have list all the links as per the modules. Predicate calculus and natural deduction, inductive definitions of data types as a basis for. The formal methods used during the development process provide a mechanism for eliminating problems, which are. Please consult the course syllabus in canvas for information on the nature and scope of the oral examination. Course details bsc software engineering the university. Formal methods are best described as the application of a fairly broad variety of theoretical computer science fundamentals, in particular logic calculi, formal languages, automata theory, discrete event dynamic system and program semantics, but also type systems and algebraic data types to problems in software and hardware specification and. This preliminary syllabus can be expected to change as the course. Pass with distinction, pass with credit, pass, fail established. Formal methods form the foundations of software, security along with cryptography, and, more generally, computation. This book constitutes the refereed proceedings of the 18th international conference on formal engineering methods, icfem 2016, held in tokyo, japan, in november 2016. Software engineering and formal methods nevery software engineering methodology is based on a recommended development process proceeding through several phases. In computer science and software engineering, formal methods are a particular kind of mathematicallybased techniques for the specification, development and verification of software and hardware.
First semester, 2015 2016 course syllabus course code. The formal methods model is concerned with the application of a mathematical technique to design and implement the software. The students are expected to select topics of their interest in the areas of software engineering such as. Microsoft uses some formal methods tools internally, especially ones developed by this group at microsoft research. The focus is on skills that will be needed to solve problems. Its topics change from year to year as do the mechanics and emphasis. It studies languages for objectoriented modeling, such as the unified modeling language uml along with its object constraint language ocl and action semantics extensions. Cen 5035, software engineering fall 2016 description. The incorporation of a formal methods course in the undergraduate computer science curriculum is strongly. Introduction to formal methods in software engineering. Cesare tinelli 201f mlh 3350735 tinelliatcsdotuiowadotedu. Formal methods can be defined as follows and, are defined in this way in the encyclopedia of software engineering, j.
Csce 522 and 715 formal techniques applied to computer security, including formal specification language for security properties, security analysis utilities, domainspecific security concerns, and case studies of formally verified secure systems. Formal methods in software engineering makerere university. Formal methods used in developing computer systems are mathematically based techniques for describing system properties. Published on nov 24, 2016 an introductory talk on formal methods in software engineering given at aligarh muslim university on 22 nov 2016 for the ug and pg students. The university of the west indies is recognised as an approved foreign university by the ministry of education of the peoples republic of china. The course is designed to prepare students to do research in software engineering areas while deepening and broadening their knowledge. Nov 24, 2016 an introductory talk on formal methods in software engineering given at aligarh muslim university on 22 nov 2016 for the ug and pg students. Department of computer science nguyen engineering building 4400 university drive fairfax. Mike hinchey formal methods formal methods are mathematically based techniques for specification, development and verification of systems, both hardware and software. The institute offers stateoftheart software engineering training, development, research and services. Course is offered by the department of computer science and engineering. Pdf formal methods refer to a variety of mathematical modeling techniques, which are.
Introduction to engineering design ied o designed for 9th or 10th grade students, the major focus of ied is the design process and its application. Chapter 1 formal methods 664 revise software development when creating a software there are few engineering stages that is normally be followed to ensure that they software is built within the time and budget. Programme syllabus for software engineering masters. The course is being taught with a highly nonstandard textbook and syllabus. These standards are very helpful in giving structure and consistency to the systems engineering process. Formal methods approach the formal methods approach to software construction is based on viewing a program and its execution as mathematical objects and applying mathematical and logical techniques to specify and analyze the properties and behaviors of these objects. Case histories of software failure are used to illustrate what can go wrong, and current software engineering practice is studied as a guide to how failures can be avoided. The formal methods approach to software engineering. Formal methods are a mathematically based techniques and tools for the specification, design and verification of software systems. Syllabus for software engineering uppsala university, sweden. Formal logics and automatic reasoning are put to use in arti cial intelligence, database theory, and software engineering. This model lays the foundation for developing a complex system and supporting the program development.
Students use industry standard 3d modeling software to help them design solutions to solve proposed. First semester, 20152016 course syllabus course code. Through handson projects, students apply engineering standards and document their work. The course gives students practice in precise thinking and proof methods that play a role in the analysis of algorithms. The use of formal methods approaches can help to eliminate errors early in the design process. Formal methods in software engineering department of computer science the university of iowa spring 2008 course syllabus lectures. Particular attention will be paid to objectoriented development techniques. Making formal methods more relevant to software engineering. Formal methods and software engineering 18th international. Introduction to engineering design syllabus 2016 2017. These stages collectively are called the software development life cycle sdlc. Syllabus fundamentals of systems engineering aeronautics. The goal of the conference was to bring practitioners and researchers together to exploit synergies and further the understanding of specialization, abstraction, and verification techniques. This course is aimed at to make the student understand dimensioned.
Usage amongst babcock university students in nigeria. English language proficiency that corresponds to english studies at upper secondary high school. Practical uses of formal methods in development of airborne. This book constitutes the refereed proceedings of the 18th international conference on formal engineering methods, icfem 2016, held in tokyo, japan. In this class we will learn about the most important standards and the major steps and methods that support the design and management of aerospace systems. Programme syllabus for software engineering and management. Formal methods for software development exam notes. The course introduces the engineering of complex software systems. This course provides a handson introduction to formal methods for software engineering. Cse 460 software analysis and design school of computing. This course aims to introduce students to software engineering, and in particular to the problems of building large systems, safetycritical systems and realtime systems. The use of formal methods in software engineering has been. This course provides a systematic approach towards planning, development, implementation and maintenance of system, also help developing software projects.
Department of computer science, carnegiemellon university, 1996. Everything here is subject to vast change with little notice. Cen 5035, software engineering, is an introductory survey course on the fundamental concepts and principles that underlie current and emerging methods, tools, and techniques for the costeffective engineering of highquality software systems. Design patterns, agile software development techniques, configuration, agent based modelling, software development, requirements, architecture, design, testing, formal methods. General principles and techniques for disciplined lowlevel software design. Our treatment of formal methods will be primarily concerned with the specification of software, and directly related issues. Practical skills for software engineers in realworld projects and teams. You are interested in how to use one computing system to reason about another. Formal methods and software engineering springerlink. This section of this course is the second part of a special offering of cs 250 cs 251. Tin proceedings of the 14th international conference on software engineering and formal methods sefm 2016. Fall 2016 syllabi george mason department of computer. The course material has applications to several areas in eecs and beyond including computer security, software engineering. Practical uses of formal methods in development of airborne software 201601 2044.
1555 1140 1110 487 563 650 1263 72 129 240 253 1106 14 342 1401 1055 575 146 1051 1101 712 1178 95 133 416 1038 564 211 1171