logo Insalogo Insa

Algorithmics and Ada Programming : advanced data strucures

Presentation

Program (detailed contents)

- Ada programming : exceptions, packages, genericity

- Algorithmics : abstract data types, stacks, queues, lists, binary trees, n-ary trees, heaps, dictionaries.

Objectives

This course has two main objectives :

a/ to understand concepts such as exceptions, protection and encapsulation, package, genericity, in order to design robust and reusable programs.

b/ to be able to implement abtract data types (stacks, queues, lists, trees, heaps) with dynamic data containers (using pointers) and design dedicated algorithms (search/insert/delete/update an element, traversing, filtering)

 

At the end of this course, students are supposed to be able to model dynamic data containers in some application, by designing new packages or reuse generic ones.

 

This course is preparing to O.O (Object-Oriented) design and programming.

Needed prerequisite

Control structures for sequential algorithmics  (if-then-else, for/while/repeat-until loops), top-down analysis, subprograms and parameters passing.

Form of assessment

The evaluation of outcome prior learning is made as a continuous training during the semester. According ot the teaching, the assessment will be different: as a written exam, an oral exam, a record, a written report, peers review...

Benefits

Books :

 

Programming in Ada 2012 1st Edition

by John Barnes, Cambridge University Press, 2014,

ISBN 978-1-107-42481-4

 

Object-Oriented Software in Ada 95 by Michael A. Smith International Thomson Computer Press, 1996,

ISBN 1-85032-185-X

 

Some links :

http://d.feneuille.free.fr/

 

https://www.irit.fr/~Veronique.Gaildrat/Ressources/EnsSupportsCours/VG_CoursAda95.pdf

 

https://openclassrooms.com/courses/apprendre-a-programmer-avec-ada/les-types-abstraits-de-donnees-listes-files-piles-1

 

http://sdz.tdct.org/sdz/apprendre-a-programmer-avec-ada.html

Additional information

Exceptions, packages, genericity, abstract data types, stacks, queues, lists, binary trees, n-ary trees, heaps, dictionaries