From COBOL to OOP

Congratulations to all of you who made it to this point! You have acquired a solid knowledge of object-oriented programming and learned more about new techniques, such as databases and writing user interfaces.
OOP course in catchwords
This chapter provides a summary of the major issues covered in the previous chapters. This summary is in the form of catchwords, and we recommend that you think about each catchword. If you are not sure you understood an issue denoted by one of these catchwords, it would be helpful to repeat the relevant section and, have another look or two at the relevant exercises. The previous chapters of this book dealt with the following issues:
Basics: symbols, standard types, declarations, value assignment, if instruction, multiple branching, loops, procedures, parameters, local names, functions, recursion, arrays, strings, records, stepwise refinement, open-array parameter, procedure variables, Java Virtual Machine, modules, export, import, modularization, pointers, creating and deleting objects
Dynamic data structures: abstraction, ADS, ADT, linear lists, stacks, queues, trees, binary trees, logical delete, traversing, balanced trees, algorithms, heaps, graphs, hashing, sort algorithms
True OOP: class definition, creating and releasing objects, instances, methods, constructors, destructors, inheritance, dynamic binding, abstract classes, access classes, overloading, generic components, replaceable behavior, extensible components, heterogeneous data structures, class libraries, TObject, exceptions, interfaces, properties
Object-oriented design: The Abbot method, CRC cards, UML, design pattern, factory, iterator, components
Databases: fundamental concept, data security, data protection, recovery, transactions, commit, deadlock, client/server solution, object-oriented databases, data modeling,...