Math. 641 Syntax, Semantics and Structure of Programming Language
Equational specifications and algebra – Specifications of abstract data types – Initial semantics of specifications – Specifications and characterization of equational classes – Equational calculus and term rewriting.
Math. 642 Theory of Computability and Complexity
Loop programs – Loop programs and primitive recursive functions – Complexity measures – Theorems on complexity – Gap theorem.
Math. 643 Program Development and Data Structures
Reusable software components – Object oriented development – The use of Ada 95 for achieving the objective of the previous topics – The Booch taxonomy of reusable software components – The study of selected data structure building corresponding to reusable packages using Ada tools – Utilities, filters and pipes – Sorting, searching and pattern matching – The architecture of complex systems.
Math. 644 Computational Geometry
Geometric searching: location of a point in a planner subdivision, on-line searching - Convex algorithms in the plane – Convex Hull in more than two dimension - Applications of Convex Hull - Approximation for Convex Hull – Maxima on a point set – Convex Hull of a simple polygon – Diameter of a point set - Proximity problems: the closest pair problem – Voronoi diagram – Properties and construction of Voronoi diagram.
Math. 645 Some Problems in Hardware Design
Synchronous sequential logic – Resisters, counters and the memory unit – Algorithmic state machines (ASM) – The synthesis of ASM-based designs – Synthesis by programmable devices