Advanced Software Technologies
6
ECTS credits
·
Course code
MST8056
·
Type of course
Elective for all the specializations
·
Level of course
Undergraduate
·
Year of study
2004-2005
·
Semester
7th Semester
·
Number of credits allocated
6 ECTS Credits
·
Name of lecturer
Spinellis Diomidis, Assistant Professor
·
Objective of the course (expected learning outcomes and competences to
be acquired)
While most
Information Systems and Computer Science courses traditionally deal with the
development of new systems, in practice developers spend the largest part of
their time in software life-cycle activities that follow the development
phase. The objective of the course is
to allow students to read and understand a system’s software elements (code,
structure, architecture). Having
followed this course, students should be able to intelligently decide on how
existing systems will be maintained, design evolution strategies for legacy code, and prescribe the use of
refactoring and technologies like XML for transforming applications to
e-business components. An innovative
aspect of the course involves the use of Open Source Software (OSS) in course
examples and exercises. Through the
study of OSS students will be able to see how non-trivial applications like the
Apache Web server, the Postgres Relational Database Management System, the
Jakarta Java servlet container and the Cocoon framework are structured.
·
Prerequisites
Recommended
material: Developing Information Systems
·
Course contents
Course outline: Reading basic code elements, data
structure implementation, control flow, C++ and Java elements, libraries and
APIs, dealing with large projects, programming style standards, documentation,
tools, information system architectures, hardware interfaces, domain-specific
languages, mixed language systems, code reviews.
·
Recommended reading
& Diomidis
Spinellis. Code Reading: The Open
Source Perspective. Addison-Wesley, 2003.
&
Martin Fowler. Refactoring: Improving the
Design of Existing Code. Addison-Wesley,
2000. With contributions by Kent Beck, John Brant, William Opdyke, and Don
Roberts.
·
Teaching methods
Lectures, and
coursework
·
Assessment methods
Coursework
·
Language of instruction
English