Programming in the Large

Programming in the Large


Goals

The course addresses software engineering aspects of large systems. The emphasis will be on a conceptual understanding of the role of programming languages in modeling the problem domain, constructions for structuring large programs. The course will also introduce programming tools.

Contents

Conceptual framework for software development: Concepts (intension, extension, designation), Aristotelian and prototypical concepts, classification and composition, and information processes.

Object-oriented language constructs for supporting large scale structuring of programs, including virtual classes and procedures, and class and procedure parameters.

Architecture of large software systems, for example design patterns, frameworks and components.

Introduction to construction of graphical user interfaces.

Tools for construction and maintenance of systems: for example modularization of source code, and tools for software development (e.g. CASE tools, editors, debuggers, GUI builders, version and configuration management).

Techniques and tools for test and documentation

Tools and techniques for handling large volumes of data; specifically relational and object-oriented database systems (SQL and ODMG).

Examination
Oral examination, 13 scale

Lecturer
Mads Togersen

Credits
2 points/10 ECTS

Semester
Fall