Syllabus
Formal Methods in Software Development 
CSE 814, Fall 2014

Instructor:
Dr. Laura Dillon, 3132 Engineering Building. (ldillon@cse.msu.edu)
Office Hours: Mon & Wed: noon - 1:30 pm, and by appt.
Phone: (517)-355-4387

Class:
MW, 10:20 - 11:40 am, 313 Bessey

Recommended Textbooks:
Software Abstractions: Logic, Language, and Analysis
Daniel Jackson. MIT Press 2011
 
Concurrency: State Models and Java Programs*
Second Edition
J. Magee and J. Kramer. John Wiley & Sons publishers, 2006

*To be determined ‐ we may use this text for the last 1/3 of the course.

Course Abstract:
Formal methods are used to precisely specify and reason about various aspects of software systems. They find a variety of uses at different stages in the software lifecycle, e.g., during conceptual analysis and specification, design, and verification. At the end of this course, you should be able to: In addition, you will gain an appreciation for the complexity of design and verification of software systems and the ways in which formal methods can be applied to ameliorate this complexity.

Topics to be covered include:

Prerequisites:
Students should be familiar with logic and the fundamentals of software engineering, including the use of informal modeling notations, such as UML class diagrams.

Students should have experience in the development of a software system of reasonable size.

Students should be familiar with the fundamentals of programming languages, formal-language theory (including parsing), algorithms and data structures, and discrete mathematical structures.

Grading:
Your grade will be determined as follows. 50% will come from homework assignments. I will assign approximately 6 homework sets over the course of the semester. You must complete assigned homeowork without consulting with other students unless explicitly stated otherwise.

The other 50% will come from a term paper (30%) and a presentation of your term paper (20%). 

There will be no in-class exams; nor will there be a final exam as such. However, you will be required to attend a meeting during the final exam period (Thursday Dec 11 10:00 - noon) to receive feedback on your term paper and presentations. Your attendance is also required at the three final class periods when the presentations of the term papers will take place.. With any oral or written assignment, a good part of the grade will be based on clarity, good organization, and correct use of English.

All grades become final five days after I return the graded assignments. Any assignment that is not turned in by the due date will receive a grade of 0 unless prior arrangements have been made with me.

Integrity and ethics:
The policy of the university on integrity of scholarship and grades will be followed. Implicit in handing in homework, papers, and exams is that they represent the student's own work. Any exceptions should receive prior approval from me and must be explicitly noted in the submitted work. Representing someone else's work as your own is grounds for failing the course.

 


Laura Dillon