Ada is a powerful and extensive programming language well suited for large projects. It has safety features which designed to minimise the occurrence of common programming errors, allowing complex software to be developed with more confidence. It is used extensively by the military and defence organisations, and other large organisations such as those in the banking sector.
Programming in Ada
-
Understand the design goals of the language
Write and understand moderately complex Ada programs
Select and design appropriate data types
Utilise the Ada tasking features
Write and use generic Ada units
-
1. Introduction
2. Overview of Ada
-
Text of an Ada Program
Notation for Ada Syntax
Overview of the Ada Language
-
Structure of a simple program
Object Declarations
Enumeration Type Declarations
Statements
Using Separate Compilation
Predefined Facilities
-
Type Declarations
Introduction to User Defined Types
The Form of a Type Declaration
Integer Type Declarations
Discrete Types
Floating Point Type Declarations
Fixed Point Type Declarations
Named Numbers and Universal Expressions
Array Type Declarations
Record Type Declarations
Discriminated Records
Complex Numbers
More about Enumeration Types
Evaluation of Expressions in Declarations
One of a kind arrays
Subtypes vs Distinct Types
Derived Types
Exercises
-
Expressions
Elementary Expressions
Compound Expressions
Subprograms
-
Access Types
Aliased Objects
Dynamically Allocated Objects
Access to Objects Declarations
Access to subprogram declarations
Recursive Data Structures
Packages
Placement of Packages
Child Packages
Example Package Fractions
Use Clauses
Renames
Packages without bodies
An Abstract State Machine Example
-
Private and Limited Private Types
The need for Private Types
Declaration of Private Types
Children Packages with Private Parts
Deferred Constants
Programmer Defined Equality
Limited Types
Returning Objects By Reference
Generic Units
Templates and Instances
Generic Formal Parameters
Generic Child Units and Children of Generic Units
Defaults for Generic Parameters
-
Introduction to Tasks
Reasons for Concurrent Programming
Example: A simple example in concurrent programming
Simple time diagrams
Example: A Simple controller
Example: Processing several files
Concurrent Processes
Familiar examples of concurrent programming
Task Types
Task Objects
Task activation
Shared Objects
Task Communications
Elementary Rendezvous
Entries
The Accept Statement
Entry Calls: Putting it All Together
-
Basic Data Protection
Elementary Protected Objects
Protected Operations
Call-backs and Protected Types
Advanced Forms of the Rendezvous
The Select Statement
The Type Time and the Package Ada.Calendar
The Delay Statement
Timed Select Alternatives
The Terminate Alternatives
Conditional and Timed Entry Call
Aborting Actions of a Task
The abort statement
Requeuing
Entry Families
Task identification
Controlling Real-Time Behaviour
Priorities
-
Exceptions
Handling Exceptions
Propagation of Exceptions
Predefined Exceptions
User Defined Exceptions
Exception Occurences
Other Topics on Exceptions
Classwide Programming
Object Oriented Concepts
Derived Types
Type Extension
Classwide Types
Controlled Types
-
Interfaces
New Method Call Syntax
Overriding and Not Overriding Keywords
Not Null Pointers
Additions to With Clause
String Handling
Other Language Additions
Ada.Containers
Other Library Additions
The course requires an Ada 95 compliant compiler. No particular development environment is required.
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 3
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 4
Notice: Undefined variable: REMOTE_USER in /var/www/datadeliverance/inc/trademarks.inc on line 7
Notice: Undefined index: HTTP_REFERER in /var/www/datadeliverance/inc/trademarks.inc on line 7
Notice: Undefined index: printer in /var/www/datadeliverance/inc/trademarks.inc on line 11