=================
Course Contents
=================

-----------------
Course Outline
-----------------

.. container:: columns

 .. container:: column

    * Introduction to SPARK

      - Formal Methods and SPARK
      - SPARK Language
      - SPARK Tools

    * Formal verification in SPARK

      - Flow Analysis
      - Proof

    * Specifications in SPARK

      - Specification Language
      - Subprogram Contracts
      - Type Contracts

 .. container:: column

    * Advanced Formal Verification

       - Advanced Proof
       - Advanced Flow Analysis

    * Advanced topics

       - Pointer Programs
       - Auto-Active Proof
       - State Abstraction

    * SPARK Boundary

--------------
Course Goals
--------------

* What will you do after the course?

  - Be comfortable with the fundamentals of SPARK.
  - Know where to find out more.
  - Let SPARK work for you on your next project?
  - What else?
