Machine and assembly language programming. Basic concepts of data organization, running time of a program, abstract types, data structures including linked lists, n-ary trees, sets and graphs, internal sorting. Using the system call interface. Logical aspects of databases. A comparative study of several programming languages and paradigms.
Emphasis is given to design, evaluation and implementation.
Programs are written in a few of the languages. Operating systems design principles and implementation techniques. An introduction to the logical concepts and computational aspects of propositional and predicate logic, as well as concepts and techniques underlying logic programming, in particular, the computer language Prolog. Decidability and undeciability of computational problems. Riemann sums, techniques of integration, applications of the integral, improper integrals, infinite series, Taylor series, polar and parametric functions.