Ada is a programming language with a long history designed to support high quality software development especially for safety and secure applications such as avionics. SPARK is a version of Ada that utilizes the contract support that started in Ada 2012 to allow static provability.
Learning More About Ada and SPARK Basics
Ada Programming Introduction
This is a reasonable introduction to many of Ada's features. SPARK is based on Ada 2012 and includes contracts which is not covered here.
More Resources on Ada and SPARK Basics
Here are some more links for Ada and SPARK.