Particular attention will be paid to objectoriented development techniques. Programme syllabus for software engineering and management masters programme, 120 credits software engineering and management masterprogram, 120 hogskolepoang second cyclen2sof 1. The incorporation of a formal methods course in the undergraduate computer science curriculum is strongly. Formal methods in software engineering department of computer science the university of iowa spring 2008 course syllabus lectures. The use of formal methods in software engineering has been. The use of formal methods approaches can help to eliminate errors early in the design process. The university of the west indies is recognised as an approved foreign university by the ministry of education of the peoples republic of china. 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. 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. 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. It studies languages for objectoriented modeling, such as the unified modeling language uml along with its object constraint language ocl and action semantics extensions. This book constitutes the refereed proceedings of the 18th international conference on formal engineering methods, icfem 2016, held in tokyo, japan, in november 2016. Formal logics and automatic reasoning are put to use in arti cial intelligence, database theory, and software engineering.
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. Software engineering and formal methods nevery software engineering methodology is based on a recommended development process proceeding through several phases. Mike hinchey formal methods formal methods are mathematically based techniques for specification, development and verification of systems, both hardware and software. Introduction to engineering design syllabus 2016 2017. Practical uses of formal methods in development of airborne software 201601 2044. This syllabus is to be valid from 20160829 autumn semester 2016.
Course is offered by the department of computer science and engineering. The following areas of study constitute the backbone of the course. Formal methods form the foundations of software, security along with cryptography, and, more generally, computation. Pdf formal methods refer to a variety of mathematical modeling techniques, which are. Cse 460 software analysis and design school of computing. The course gives students practice in precise thinking and proof methods that play a role in the analysis of algorithms. The examination slots are between 28 october and 1 november.
Tda294 dit271 formal methods in software development lp1 ht19 7. 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. Reiss course overview this course is a graduate seminar about software engineering. 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. Programme syllabus for software engineering and management. Microsoft uses some formal methods tools internally, especially ones developed by this group at microsoft research. Syllabus seg2106 software construction school of information technology and engineering site, university of ottawa, winter 2016. Formal methods used in developing computer systems are mathematically based techniques for describing system properties. This preliminary syllabus can be expected to change as the course progresses. English language proficiency that corresponds to english studies at upper secondary high school. 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.
Practical uses of formal methods in development of airborne. The formal methods used during the development process provide a mechanism for eliminating problems, which are. Formal methods are a mathematically based techniques and tools for the specification, design and verification of software systems. Formal methods can be defined as follows and, are defined in this way in the encyclopedia of software engineering, j. Syllabus fundamentals of systems engineering aeronautics. This syllabus is to be valid from 20170828 autumn semester 2017. The formal methods used during the development process provide a mechanism for eliminating problems, which are difficult to overcome using other software process. This preliminary syllabus can be expected to change as the course. Design patterns, agile software development techniques, configuration, agent based modelling, software development, requirements, architecture, design, testing, formal methods. This module is dedicated to graphics and includes two sections.
Through handson projects, students apply engineering standards and document their work. Formal methods in software engineering course prerequisite. Syllabus for formal methods in software development. Formal methods for software development exam notes. Tin proceedings of the 14th international conference on software engineering and formal methods sefm 2016. 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. Analysis,specification,design,coding,unit testing, integration and system testing, maintenance nformal methods can. The students are expected to select topics of their interest in the areas of software engineering such as. The focus is on software engineering principles and the methods and tools that support the principles. This course covers formal methods used in the development of software. It will have its main offices in barbados, with additional sites across the caribbean. These stages collectively are called the software development life cycle sdlc. Cesare tinelli 201f mlh 3350735 tinelliatcsdotuiowadotedu. Below we have list all the links as per the modules.
Background in programming and in software engineering course level. The focus is on skills that will be needed to solve problems. Formal methods and software engineering 18th international. The institute offers stateoftheart software engineering training, development, research and services. Practical skills for software engineers in realworld projects and teams. The course is being taught with a highly nonstandard textbook and syllabus. This book constitutes the refereed proceedings of the 18th international conference on formal engineering methods, icfem 2016, held in tokyo, japan. These standards are very helpful in giving structure and consistency to the systems engineering process.
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. You are interested in how to use one computing system to reason about another. First semester, 2015 2016 course syllabus course code. Course details bsc software engineering the university. Pass with distinction, pass with credit, pass, fail established. Software engineering masters programme, 120 hogskolepoang second cyclen2som 1. General principles and techniques for disciplined lowlevel software design. Cen 5035, software engineering fall 2016 description. This course is aimed at to make the student understand dimensioned. Its topics change from year to year as do the mechanics and emphasis. Software engineering using formal methods propositional and linear temporal logic wolfgang ahrendt th september 2016 sefm. This course provides a handson introduction to formal methods for software engineering. Course activities, grading scheme, and important d ates. Programme syllabus for software engineering masters.
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 course introduces the engineering of complex software systems. 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. 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. The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing. Everything here is subject to vast change with little notice. 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. Department of computer science nguyen engineering building 4400 university drive fairfax. The course is designed to prepare students to do research in software engineering areas while deepening and broadening their knowledge.
This model lays the foundation for developing a complex system and supporting the program development. The course material has applications to several areas in eecs and beyond including computer security, software engineering. The faculty board of science and technology applies from. 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. Fall 2016 syllabi george mason department of computer science. 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. Introduction to formal methods in software engineering.
Our treatment of formal methods will be primarily concerned with the specification of software, and directly related issues. First semester, 20152016 course syllabus course code. Students use industry standard 3d modeling software to help them design solutions to solve proposed. 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. Making formal methods more relevant to software engineering. Department of computer science, carnegiemellon university, 1996. Syllabus for software engineering uppsala university, sweden. 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. 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.
This section of this course is the second part of a special offering of cs 250 cs 251. Formal methods in software engineering makerere university. Formal methods are based on logic, which along with set theory forms the foundation of all of mathematics. Please consult the course syllabus in canvas for information on the nature and scope of the oral examination. The formal methods approach to software engineering. Which formal methods tools are used commercially today. Fall 2016 syllabi george mason department of computer. This course provides a systematic approach towards planning, development, implementation and maintenance of system, also help developing software projects.
Describe the basic inference rules and use them to write formal proofs in propositional calculus. Predicate calculus and natural deduction, inductive definitions of data types as a basis for. Quizzes take place during the normal class periods. 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. The formal methods model is concerned with the application of a mathematical technique to design and implement the software. Conference on software engineering and formal methods, which was held in 2007 in london. Formal methods and software engineering springerlink.
1192 632 828 1179 249 1051 1436 865 1305 365 659 1491 971 784 1299 277 1516 1577 207 259 1539 83 1269 1023 236 1365 705 17 1536 1486 464 71 719 1313 1067 1334 378 1203 306 964 346 972 168 770 378 437 237 714