Offered Undergraduate Courses
Theory of computation and algorithms
Goal: The purpose of this course is to teach students how to understand algorithms and how to evaluate them based on their complexity, using formal methods and tools.
Course contents: Mathematical relations, alphabets, strings, languages. Finite automata, push-down automata. Turing machines. Formal languages. Polynomial algorithms and NP-complete problems. Marginal analysis techniques and algorithm selection criteria. Optimal algorithms, divide and conquer algorithms, dynamic programming, exhaustive search, AND/OR graphs, backtracking, branch and bound, heuristic and greedy algorithms.
Goal: Understand the architecture and operation of a computer graphics system. Understand the mathematical background of the algorithms applied, as well as their computational complexity.
Course contents: Architecture of a computer graphics system. Modeling, applications, computer graphics subsystem, display subsystem. Display devices, discrete color and shape representation. Line scan conversion, area filling. 2D and 3D transformations, projections, clipping, line and surface modeling, illumination and shading, texture mapping, radiosity, animation.
Digital image processing
Goal: Understand the nature and the properties of digital images. Identify the real life problems where image processing is needed. Extend the knowledge of concepts like digital filters, convolution, Fourier transforms, randomness, spectral properties and their relations from the 1D paradigm to the case of 2D signals. Gain hands on experience by implementing in software simple image processing modules.
Course contents: Image perception, Digitization (2D sampling and quantization), Fourier transform (analog, digital, for finite extend signals), Convolution and Filtering, 2D stochastic processes, image analysis methods (segmentation, feature extraction, salient point detection, edge detection), image enhancement (histogram equalization, noise reduction).
Multimedia systems and virtual reality
Goal: Understand the techniques for collecting, representing, processing and managing multimedia information. Identify the common structural elements of such techniques.
Course contents: Multimedia: Audio, images, video, 3D and interactive media. Representation (formats used). Compression/coding (PCM/ADPCM, MP3, JPEG and similar standards, ITU – H.261 & H.262, ISO – MPEG-1/2/4). Streaming (RTSP, ITU-H.32x). Storage and retrieval (ISO-MPEG-7). Composition and interactivity (VRML).
Offered Post-graduate Courses
Programme: Advanced computer and communication systems, Course: Multimedia systems and multimedia retrieval
Goal: This course focuses on the end-to-end study of multimedia systems, including capture, representation, encoding, storage and indexing of multimedia data. In addition, it introduces topics in multimedia retrieval, such as multimedia document representations, content-based and concept-based image/video retrieval.
Course contents: Sampling and quantization, representation, storage and reproduction of images, audio and video. Entropy coding, decorrelation, PCM, DPCM, DCT, motion estimation. Protocols and standards, including MP3, JPEG, MPEG-1, MPEG-2, and MPEG-4. Multimedia content representation and management. MPEG-7, IPTC, EXIF. Image and video descriptors and features (MPEG-7 descriptors, SIFT, bag of words). Similarity search and LSH. Concept-based retrieval using SVMs. CNNs for image/video feature extraction and retrieval. Course includes a large multimedia retrieval project.
Programme: Learning technologies, Course: Human-computer interaction
Goal: Teach and apply the core principles of human-centered design, including needfinding, prototyping and usability evaluation
Course contents: Human-centered design based on the book “Design of everyday things” by Don Norman. Elements of human psychology and physiology that pertain to human-computer interaction. Need-finding, data collection and establishing requirements. Types of user interfaces, principles of visual design and information design. Web design. Prototyping, including low and high fidelity prototypes. Evaluation using experts and heuristic evaluation. User evaluation and studies. Course includes a large design project.
Courses offered in the past
Goal: This course intends to provide a broad introduction to computer science and computer engineering. Students are expected to become familiar with a number of scientific areas that will revisit and study in depth through their studies. More specifically, the course is divided into 4 sections, namely (a) Introduction, computer systems architecture, (b) operating systems, (c) algorithms and digital media and (d) network programming. MUG is responsible for section (c).
Algorithms and complexity
Goal: To formally define the concept of an “algorithm” and it’s characteristics. To lay the grounds of Computational Complexity as a criterion for designing and selecting algorithms. To demonstrate the common essence of algorithms that are used for totally different technical problems. To present a set of fundamental algorithms of wide usage. To demonstrate that “computational deadlocks” are treated by designing approximate solutions.
Course contents : Introduction (Problems and Algorithms, characteristics, Computational Complexity, Rank order, Polynomial/ Non Polynomial algorithms, P, NP, NP-Complete problems), Grounds: (Data Structures (arrays, lists, stacks, trees), Graphs), Basic Algorithmic classes (Divide and Conquer, Dynamic Programming, Greedy algorithms), Sorting algorithms, Graph algorithms, Computational Geometry, FFT, String Matching, NP-Complete problems, Approximate algorihthms.