EMOOSE 2008-2009 - Curriculum Overview
The following table provides an overview of the EMOOSE curriculum.
Course |
Theory (hours) |
Practice (hours) |
ECTS |
Capita Selecta from Computer Science - CAPITA |
30 |
30 |
5 |
Advanced Software Engineering Techniques - ASET |
30 |
30 |
5 |
Advanced Object-Oriented Software Architecture - AOSA |
30 |
30 |
5 |
Distributed Object-Oriented Systems - DOOS |
30 |
30 |
5 |
Object Oriented Programming Languages and their Implementation - OOPL |
30 |
15 |
4 |
Aspect-Oriented Software Development - AOSD |
30 |
15 |
4 |
Fundamentals of the Object-Oriented Technology - FOOT |
30 |
15 |
4 |
Specialisation Training - SPEC TRAIN |
- |
150 |
6 |
Thesis - THESIS |
6 months |
- |
22 |
Capita Selecta - CAPITA
Duration:
60 hours
Content:
This course is centered around lectures and conferences presenting the state of the art in advanced topics of object-oriented and aspect-oriented technology as well as software engineering in general. It also includes seminars on advanced research topics in this scope as well as on applications of these technologies in: multimedia, information systems, graphical interactive systems, operating and network systems and telecommunication systems. Each student has to produce a state-of-the-art survey on a subject proposed by a member of the EMOOSE network. The advisor of this so-called “capita selecta” will be the member who proposed the chosen subject.
Advanced Software Engineering Techniques - ASET
Duration:
60 hours
Content:
Although object-oriented programming languages (OOPL) provide us with the correct programming language mechanisms that allows the reuse of code, reuse is not an automatic consequence of using OOPL. This course addresses emerging and advanced software engineering techniques that go beyond OOPL to address the problem of reusability. These are techniques like meta-modeling, reverse engineering, aspect orientation, generative programming, quality of product versus quality of process, quality management systems, resource estimation models, configuration management techniques and tools, software review techniques and tools, software testing techniques and tools, defect tracking systems, software metrics, software engineering standards, software certification, software process improvement frameworks and project management. The student must be acquainted with the terminology and must be able to select and apply the techniques to a real-world situation.
Advanced Object-Oriented Software Architecture - AOSA
Duration:
60 hours
Content:
In the last few years, several techniques have been developed for building architectures and expressing them focusing on separation of concerns. There is, for example, a growing acceptance of component-based and aspect-oriented systems. Component-based and aspect-oriented technologies will play an increasingly significant role in the design and implementation of large-scale software systems during the next few years. This course presents advanced techniques for the design and implementation of large-scale software architectures. Techniques such as components, aspects, agents, services, etc. are artefacts of some of the advanced techniques that can be used to build architectures at various levels of detail. Furthermore, development methodologies that focus on the building of large-scale architectures (such as model-driven development) through architectural description languages are the focus of this course.
Distributed Object-Oriented Systems - DOOS
Duration:
60 hours
Content:
Networked and distributed computing is playing an increasing role in today's information technologies. This course bridges the gap between the design of a software architecture and its implementation in today's standard "internet" distributed and concurrent setting using standard lightweight frameworks (such as Java RMI, SOAP,etc) or heavyweight infrastructures such as industrial component infrastructures (J2EE, web services, etc.) or aspect-oriented middleware. Furthermore, the problems related to the composition of technical and business concerns are studied in the implementation of the model-driven development approaches.
Object-Oriented Programming Languages and their Implementation - OOPL
Duration:
45 hours
Content:
Study of semantic models of different object-oriented subparadigms. This includes aspect-oriented, prototype-based and actor-based extensions to object-oriented languages as well as other (experimental) language features and their impact on virtual machine implementations, method lookup strategies, memory management systems, method re-entrance, object delegation and inheritance, etc.
Aspect-Oriented Software Development - AOSD
Duration:
45 hours
Content:
This course introduces the idea of "separation of concerns" and shows how (new) aspect-oriented approaches complement recent developments in the object-oriented paradigm. This includes the study of the techniques on aspect-oriented requirements engineering, aspect-oriented analysis and design, aspect-oriented programming, formal foundation for aspect-oriented software develoment, aspect-oriented applications and software composition. The goal of the course is to make the students acquainted with the bulk of terminology and essential concepts in this emerging field as well as the application of AOSD in practice.
Fundamentals of the Object-Oriented Technology - FOOT
Duration:
45 hours
Content:
This course discusses fundamental properties of the object-oriented technology both at the theoretical and the practical level, addressing questions such as the following ones: What are the basic principles of the OO paradigm? Why is it interesting in practice? What are its impact on our way to develop software? What are its relationship with other programming paradigms? How can we formalize and reason about OO models and programs? What are its limitations and how can it be extended and/or merged with other paradigms? Another objective of this course is to explore the wide design space of object-oriented programming languages. For instance, the prototype-based and actor-based paradigms are two major alternatives to the 'traditional' class-based view on object orientation.
Specialization training - SPEC TRAIN
Duration:
150 hours
Content:
This course aims at training the students with the development of a software application in a specific domain and following a methodology. The student will have to write a detailed report of the work and to give an oral presentation. Each student has to perform development work in a group of two students on a subject proposed by a member of the EMOOSE network. The advisor of the specialization training will be the member who proposed the chosen subject.
Thesis - THESIS
Duration:
6 months
Content:
Based on a master's thesis proposal of an EMOOSE network partner, students conduct research at the partner's site to complete a master's dissertation supporting their thesis.
Teachers
The teachers are members of the SENSO network or of the AOSD-Europe network (http://www.aosd-europe.net/). This includes the following institutions: Universidad del Comahue (Argentina), Universidad Nacional de La Plata (Argentina), Monash University (Australia), Katholieke Universiteit Leuven (Belgium), Vrije Universiteit Brusse (Belgium), Pontificia Universidade Catolica do Parana (Brazil), Universidade Federal do Rio de Janeiro (Brazil), Universidad de Chile (Chile), Universidad de Los Andes (Colombia), Ecole des Mines de Nantes (France), INRIA (France), Technische Universität Darmstadt (Germany), Trinitity College Dublin (Ireland), Technion – Israel Institute of Technology (Israel), Universidad de Malaga (Spain), Universidade Nova de Lisboa (Portugal), Universiteit Twente (The Netherlands), The University of Lancaster (United Kingdom).