Ada: Curriculum

Ada: Curriculum

What will you learn in this series about Ada

Table of contents

Ada Basics

Here is a step-by-step list of basic concepts in Ada to learn:

  1. Overview - Language history, main features, relevance and job prospect considerations.

  2. Curriculum - this is the current article, it enumerates basic and key topics for understanding Ada fundamentals.

  3. Syntax - General syntax rules, comments, symbols and expressions.

  4. Data types - Built-in types like integer, float, boolean. User-defined types like enumerations and subtypes.

  5. Expressions - Data literals, symbols, operators, parenthesis, character encoding, and precedence of operators.

  6. Conditional statements - logic expressions, and control flow statements (if/else & case).

  7. Loops - for, while, loop. Exiting loops using exit and exit when.

  8. Subprograms - Overloading subprograms. Default arguments.

  9. Arrays - One-dimensional and multi-dimensional arrays. Array manipulations.

  10. Packages - Declaring packages. Package level variables and procedures.

  11. Records - Declaring record types. Accessing and updating record fields.

  12. Exceptions - Declaring exceptions. Raising and handling exceptions.

  13. String handling - Declaring string types. String manipulations like concatenation, comparison etc.

  14. Enumerations - Declaring enumeration types. Enumeration literals.

  15. Input/Output - Reading from and writing to files, keyboard and screen.

That covers the basic concepts in Ada to get you started in the right direction! For each basic concept, we will create a new article and we will update the articles to fully cover Ada language.


Key Topics

Here are some other key topics you can expect to learn in a professional Ada programming course:

  • Object-oriented programming in Ada: packages, types, inheritance, polymorphism, generics.

  • Generic packages - Declaring generic packages and instantiating them.

  • Advanced Ada features like tagged types, access types, tasks (for concurrency).

  • Use of Ada libraries for input/output, string manipulation, mathematics etc.

  • Ada best practices for writing maintainable and reusable code.

  • Advanced topics like based programming, and distributed programming using Ravenscar profile.

  • Real-world applications of Ada and use cases where Ada is particularly suitable.

  • How to set up and configure an Ada development environment.

  • How to compile and run Ada programs.

The curriculum would start from the basics and gradually build up to advanced topics like concurrency, contract-based programming and distributed programming.

Practical examples and real-world use cases would be used extensively to help you master Ada programming. Hope this gives you an idea of what to expect from a professional Ada programming course!


Disclaim: This curriculum was created with Rix AI. I will try to follow up with questions. In parallel, I will use other resources to organize this course.

Links:

https://arg.adaic.org/ada-reference-manual
https://learn.adacore.com/courses/intro-to-ada/index.html
https://ada-lang.io/docs/arm/

Ada Reference Manual is the most official and complete resource, and the Ada Core Technologies tutorials provide a more guided tutorial-based learning path. Post a comment with other resources you wish to promote, free or commercial. Everyone is welcome.