Software Development for Information Systems

Semester:
7ο
Course Type:
Project
Track:
CS (Computer Science)
Code:
Κ23α
ECTS:
8
TEACHING HOURS per week
Theory:
1
Seminar:
4
Laboratory:
1
Specializations
Foundations of Computer Science (Ε1):
-
Data and Knowledge Management (Ε2):
-
Software (Ε3):
-
Hardware and Architecture (Ε4):
-
Communications and Networking (Ε5):
-
Signal and Information Processing (Ε6):
-
Related Courses
Course Content

Extensive implementation of software systems, based on the contents of other courses, in three consecutive phases: a) Implementation of a simplified form of various internal layers of a Database Management System: block and record organization on disk, a static data structure on a file on disk (e.g., static hash table), a dynamic data structure on a file on disk (e.g., B+ tree), system catalogs, query processing for a simple database query language. b) Implementation of an application on top of some commercial Database Management System or the Internet or software based on some other technology, c) Adding multithreading support and other optimization features to the application of the previous phases. Emphasis is given in software development techniques, i.e. use of source control systems (git), unit testing, etc. The project concept is usually inspired from the previous SIGMOD programming contest.
A team of selected students take part as a NKUA team to the current year SIGMOD programming contest, and are evaluated based on their participation and effectiveness in the competition.

LITERATURE AND STUDY MATERIALS - READING LIST

No specific textbook. The instructor suggests educational resources online as well as manuals of the technologies, software systems and software development tools used.