University System of Maryland – Syllabus
STV 1.3 Formal Software Verification |
Course Description
Want to gain software quality skills used in mission critical systems?
Modeling checking, symbolic execution and formal methods are techniques that are used for mission critical systems where human life depends upon the system working correctly.
In this course, part of the Software Testing and Verification MicroMasters program, you will learn how to perform these techniques.
The concepts from this course can be applied to any programming language and testing software.
Course Outcomes
1. Use Model Checking to evaluate software quality through model generation
2. Use Symbolic Execution to evaluate software for defects
3. Use Formal Methods to create proofs of software implementations
Pre-Requisites
It is recommended that students have Basic IT and Computer Programming. Students only need to know how to read computer programs and some material is in the course to assists students that do not have this skill.
Course Materials
All Material for this course is freely available in the course.
Discussions
Each week has a choice of discussion questions. Students are encouraged to participate in the weekly discussions by responding to these questions. Course facilitators and the course TA will not reply to every discussion post. They will monitor the discussions, highlighting important posts and clarifying concepts as needed. Discussion responses will not be graded but there will be a graded quiz inquiring whether you participated (at least one post and two responses).
Our learning community is diverse in experience, knowledge, language, and culture. This provides us with an incredible resource of viewpoints, and we want to take full advantage of this diversity in our discussions! Please consider the following when you post:
Guidelines
• Assume the best intentions from your classmates. We’re all learning together!
• Posts should be written in your own words. If you include a quote or reference, when possible also provide a citation (book, URL, etc).
• Participate! You will get out of the discussions what you put into them.
• Before posting, search the Discussion for similar questions or comments. You can always respond and/or click on the green plus button to upvote a post.
• Use evidence instead of personal attacks when you respond to a post you disagree with.
Please refer to the following link for general expectations in the online classroom: http://sites.umuc.edu/orientation/undergraduate/academic-success/interacting-in-the-online-classroom.cfm
Logistics
• Please limit your posts/responses to 200 words or less (by request of EdX).
• Use the search and engagement tools (upvote, follow for updates, flag for misuse) on the Discussion Home to find and contribute to the conversations.
• A blue star on a post means a member of the course staff has endorsed it.
• If you see an inappropriate post, flag it instead of adding your own commentary.
Weekly Time Commitment
The Weekly time commitment is about 8-10 hours per week.
Release of Course Content
All course content is released at the start of the course. This allows you to work ahead. You are still responsible for contributing to the discussion forum each week. Early posting of discussions is acceptable but responses should be done during the week of the discussion. This will foster an environment of mutual learning. Remember discussions allow you to learn from the knowledge of others.
Academic Policy
Academic integrity refers to a set of shared values, principles, behaviors, and skills that lie at the heart of learning and scholarship.
Students are expected to maintain the highest level of integrity throughout their academic pursuit. Intellectually honest academic work represents independent analysis and acknowledges all sources of information that contribute to the ideas being explored.
The failure to uphold academic integrity includes: falsification of data; improper assignment of credit; and any representation of the ideas, words, or work of others as one's own. When students misrepresent their work, faculty cannot accurately assess their performance or provide the feedback students need to learn. Students who plagiarize or cheat harm themselves and ultimately damage the value and reputation of education for everyone.
Any violation of academic integrity will result in the certificate not being awarded, assuming the student is on the certification path. Academic integrity violations in this course would include: sharing of answers to the graded quizzes in any electronic form. Do not discuss any questions on the graded quizzes in any form on a discussion post. Academic violations will result in the student being removed from the class.
Grading / Schedule Information
In order to be awarded a certificate you will need to have completed all the learning activities by December 17th, 2017 when the course closes. All material is released at the start of the class so a student can work ahead.
Certification:
The minimum grade to earn a certificate is 80%. Grades are calculated as explained below.
Overall Grade: There are 8 graded exercises in this course. They are:
1. Week 1 Graded Quiz
2. Week 2 Graded Quiz
3. Week 3 Graded Quiz
4. Week 4 Graded Quiz
5. Week 5 Graded Quiz
6. Week 6 Graded Quiz
7. Week 7 Graded Quiz
8. Week 8 Graded Quiz
Please be aware that 23:59 UTC is not 23:59 in your time zone. Prior to starting any material, perform the conversion for this time to your own time zone in order to avoid missing any due dates.
Important Note: Release dates and times are set in Coordinated Universal Time (UTC). You might want to verify that you have specified the time that you intend by using a time zone converter such as Time and Date Time Zone Converter.
All graded exercises have equal weight in the course.
Certificates
For those of you working to obtain a verified certificate, you need to achieve a final completion rate of 80% or more. The certificate will indicate only that you have passed the course; i.e., no specific final grade will be shown.
Syllabus Changes
All items on this syllabus are subject to change at the discretion of the Instructor and the Office of Academic Affairs.
Class & Assignment Schedule
Week |
Topic |
Graded Exercise |
1 |
Mathematical Data Types |
Week 1 Graded Quiz |
2 |
State Machines |
Week 2 Graded Quiz |
3 |
Graphs |
Week 3 Graded Quiz |
4 |
Logical Formulas |
Week 4 Graded Quiz |
5 |
Proofs |
Week 5 Graded Quiz |
6 |
Modeling Checking |
Week 6 Graded Quiz |
7 |
Symbolic Execution |
Week 7 Graded Quiz |
8 |
Formal Methods |
Week 8 Graded Quiz |