Menu

COS 510: Data Structures

 

Course Title

Data Structures

Course Code

COS 510

Course Type

Elective

Level

PhD

Instructor’s Name

Mihalis Nicolaou

ECTS

10

Lectures / week

2 (75 min. each)

Laboratories / week

-

Course Purpose and Objectives

Designing and implementing larger software projects using object-oriented methods.

Learning Outcomes

The students will acquire knowledge about data visualization and will learn to apply this knowledge in independent work.

Prerequisites

None

Background Requirements

Basic familiarity with the C programming language

Memory Architecture and Data Modeling: Types, Variables, and Expressions

Discrete mathematical structures: Sets, Recursion, Relations, Functions, and Graphs

Course Content

The software development cycle (specification, design, implementation, testing, maintenance), object-oriented design (object, classes, inheritance techniques, UML, templates, STL, design patterns); C++, Java

Algorithms and Data Structures

Searching, sorting, hashing, basic data structures, algorithms using graphs, complexity, correctness, algorithm families

Makefiles, version control systems, combination of different programming languages, scripting languages, debugging, profiling, numerical libraries, computer algebra packages

Strategies and methods of worldwide distributed (GRID) computing, current problems in the development and application of GRID middleware

Scientific databases, data models for statistical and scientific databases, semantic and object-oriented modelling of application domains.

Teaching Methodology

Lectures. Seminars. Case studies. Literature Reviews. Short Projects.

Bibliography

Version Control by Example, Eric Sink

Design Patterns: Elements of Reusable Object-Oriented Software, Erich Gamma, Richard Helm, Ralph Johnson and John Vlissides

The C++ Standard Library Nicolai M. Josuttis

Problem Solving with Algorithms and Data Structures, Brad Miller and David Ranum

Assessment

The following assessment methods will be combined for the final grade:

Weekly homework assignments

Project

Written final exam

Language

English