Final Year Project

The final year project is carried out under the supervision of one of the faculty members and involves – at a first stage – the identification of the subject/ technological problem to be addressed and  the associated data collection. The output of the project, namely the description of the problem formulation, the solution definition and implementation and the illustration of results and final conclusions, is presented in the final year project thesis.

The final year project aims to

  • Exercise and extend the student’s academic skills, by enabling in depth understanding of the context of (a part of) a discipline. This may be achieved by exploiting particular skills or knowledge acquired from taught courses.
  • Exercise and extend professional skills by testing the student’s ability to research, organise, report and present the results if his/her work and develop initiative and independent thinking.

Digital Communications

Learning Outcomes

The aim of the course is to study digital modulation and demodulation techniques in baseband and bandpass telecommunication systems. It also presents the detection theory of these signals using the method of matched filtering The course also covers the analytical evaluation of the performance of digital configurations on a communication channel with additive white Gaussian noise (AWGN) and fading. Finally, an introduction of OFDM multi-carrier transmission is introduced.

Upon successful completion of the course the student will be able to:

  • Has become familiar with methods on data transmission at baseband and bandpass
  • Has become familiar with the concepts of ASK, FSK, M-FSK, PSK, DPSK, M-PSK, M-QAM
  • Handle OFDM modulation and demodulation techniques.
  • Make simulation models of digital modulations and evaluates the bit error probability in AWGN.

Course Contents

  • Telecommunication budget analysis. Filters with zero ISI (Nyquist filters).
  • Noise figure, composite noise figure and noise temperature, calculation of effective receiver temperature.
  • Baseband transmission methods, probability of error for matched filter detection in AWGN.
  • Binary passband modulations: ASK, FSK, and PSK; M-ary signalling: M-FSK, M-PSK, and QAM; demodulation techniques and symbol error probability in AWGN and fading channels.
  • Filters with zero ISI (Nyquist filters).
  • Spectral efficiency of digital modulations.
  • Link Budget according to system specifications.
  • Channel coding, convolutional codes and Viterbi algorithm, performance of convolutional codes in AWGN channel.
  • OFDM transmission and detection.
  • OFDM with cyclic prefix for zero intercarrier interference.

Recommended Readings

  • Proakis J. & Salehi M. (2001): Communication Systems Engineering, 2nd Edition, Prentice Hall.
  • Sklar B. (2001): Digital Communications: Fundamentals and Applications, 2nd Edition, Prentice Hall.

Software Engineering

Learning Outcomes

The course’s material includes the basic principles underlying the development of software projects, the most widely used Software Life Cycle Models, as well as methodologies, techniques and tools for the systematic analysis, design, development, testing, operation and maintenance of good quality software systems within a specific timetable and budget, following the structured and object-oriented approach.

Upon successful completion of the course, the students will be in position to:

  • Explain the basic principles and techniques that constitute the model of object-oriented programming (indicatively: classes and objects, inheritance, polymorphism).
  • Design and develop programs that implement specific algorithms in the object-oriented programming language Java.
  • Test programs developed in Java in a specific integrated programming environment.
  • Explain the basic concepts, methodologies and techniques used in each phase of the software life cycle.
  • Evaluate and select the appropriate software life cycle model.
  • Draw diagrams using the UML (Unified Modeling Language) modeling software for requirements analysis, design and development of software systems.
  • Apply testing techniques for software systems testing (validation and verification).

Course Contents

  • Introduction to Software Engineering, Software Engineering Principles, Problems in the development of software projects.
  • Software life cycle models – Introduction, classification and critical assessment of their general qualitative characteristics.
  • Requirements analysis and specifications – Requirements analysis using the Structured Analysis approach
  • Software requirements models and document
  • Methods of analysis and design of object-oriented systems, Unified Modeling Language (UML)
  • Use case diagrams
  • Class and object diagrams
  • Interaction diagrams
  • State diagrams
  • Design of software systems, Architectural Design
  • Coding – Desirable features – Writing techniques and good coding practices
  • Software testing – debugging
  • Software development tools (CASE tools)
  • Applications with UML

Recommended Readings

  • “Software Engineering”, Edition: 8th, Authors: R. Pressman, B.Maxim, Editors: A. Prentza, K. Saides, Publisher: Tziola, 2018 (1st Book)
  • “Software Engineering – Theory and Practice”, Edition: 2nd, Author: S. L. Pfleeger, Publisher: Kleidarithmos Ltd, 2011 (2nd Book)
  • Notes and course slides

Artificial Intelligence

Learning Outcomes

Upon successful completion of this course, students should be able:

  • to explain fundamental concepts including agents, problem & state/action/spaces, problem solving via search as a model of thinking, heuristics, knowledge representation and reasoning using logic.
  • to select algorithms for problem solving based on problems characteristics, and characteristics of problem & state/action spaces.
  • to evaluate usefulness, advantages and limitations of alternative algorithms and methods towards increasing computational effectiveness of problem solving
  • to modelling problems as constraint problems, or as problems for proving in logic.

Towards the construction of advanced methods of problem solving.

Course Contents

  • Introduction to artificial intelligence, goals, advances, prospects, limitations, and basic notions regarding agents and problem solving
  • Blind search algorithms
  • Informed search algorithms and proofs of finding optimal solutions
  • Heuristic functions and their construction and selection
  • Local search using hill climbing, simulated annealing, local beam search, genetic algorithms
  • Constraint problem solving: From basic to advanced arc consistency techniques
  • Knowledge representation and reasoning in logic
  • Advanced reasoning algorithms

Recommended Readings

  • Stuart Russel and Peter Norvig. Artificial Intelligenc­e: A Μodern Approach, Prentice Hall, 2nd edition (2003). http://aima.cs.berkeley.edu/. Το βιβλίο έχει εκδοθεί στα Ελληνικά από τις εκδόσεις Κλειδάριθμος με τον τίτλο «Τεχνητή Νοημοσύνη: Μια σύγχρονη προσέγγιση».http://aima.uom.gr/.
  • Ι. Βλαχάβα, Π. Κεφαλά, Ν. Βασιλειάδη, Φ. Κόκκορα και Η. Σακελαρίου. Τεχνητή Νοημοσύνη. Εκδοτικός οίκος «Β. Γκιούρδας Εκδοτική – Μονοπρόσωπη ΕΠΕ».http://aibook.csd.auth.gr.
  • Nilsson, N., Artificial Intelligence: A New Synthesis, San Francisco: Morgan Kaufmann, 1998. Nilsson, N., Principles of Artificial Intelligence, San Francisco: Morgan Kaufmann, 1980.David Poole, Alan Mackworth and Randy Goebel. Computational Intelligence: A Logical Approach, Oxford University Press, New York, 1998. http://www.cs.ubc.ca/spider/poole/ci.html.
  • Matthew L. Ginsberg. Essentials of Artificial Intelligence, Morgan Kaufmann, 1993.
  • Elaine Rich and Kevin Knight, Artificial Intelligence, 2nd edition, Mc Graw Hill, 1990.
  • Genesereth and N. Nilsson: Logical Foundations of Artificial Intelligence, Morgan Kaufmann, 1987
  • J. Brachman and H.J. Levesque, ”Knowledge Representation and Reasoning”, Morgan Kaufmann, 2004.

Associated scientific Journals

  • Artificial Intelligence, Elsevier, ISSN: 0004-3702
  • Expert Systems with Applications, Elsevier, ISSN: 0957-4174
  • IEEE Trans. On Pattern Analysis and Machine Intelligence, IEEE, ISSN 01628828

Database Systems Design

Learning Outcomes

The students upon the successful completion of the course will be able:

  • to analyze a database design problem and collect the requirements for implementing a database system.
  • to design a relational database at conceptual and logical level and create the appropriate data models
  • to design and implement well structured databases based on normalization rules.
  • to use the appropriate tools to design and implement a relational database
  • to formulate SQL queries for defining and managing databases

Course Contents

  • Introduction to Relational databases.
  • Entity-Relationship Model: Basic concepts, Entity Sets, Relationship Sets; Design Issues: Keys, E-R Diagram, Design of an E-R Database Schema, Reduction of an E-R schema to tables.
  • Relational model: Relations; Attributes; Relational schema; relational algebra (operations); relational calculus.
  • Database design: Normalization, Integrity constraints, functional dependencies, decomposition, normal forms
  • SQL: Basic structure, Set Operations, Aggregate Functions, Joins, Nested sub-queries, views, Modification of the Database (insert; update; delete), triggers.

Recommended Readings

  • Vassilacopoulos G. (2011): Information Systems (in Greek).
  • Ramakrishnan R. & Gehrke J. (2002): Database Management Systems, 3rd Edition, McGraw Hill.
  • Elmasri B.R. & Navathe S.B. (2007): Fundamentals of Database Systems, 5th Edition, Addison-Wesley.

Stochastic Processes

Learning Outcomes

This course provides an introduction to stochastic processes in communications, signal processing and digital and computer systems. Topics include continuous and discrete random processes, correlation and power spectral density, Markov chains, and queuing theory.

At the end of this course, students will have acquired advanced/in depth knowledge in the field of Stochastic Processes, with particular emphasis on Probabilities, Stochastic Analysis, Stochastic Modelling and design of systems and signals with stochastic behavior.

The students will be capable of formulating and processing problems using Stochastic Analysis tools, quantitatively and qualitatively assessing stochastic properties and applying these methodologies and design principles to real world problems in telecommunication networks, taking into account critical parameters, such as spectral efficiency requirements, noise spectral density, interference, signals and waveforms.

Course Contents

  • Introduction: review of probability theory, Stochastic Processes, types of stochastic processes.
  • Mean and ergodicity.
  • Gaussian stochastic processes.
  • Multi-variable stochastic processes.
  • Independent, identically distributed random sequences.
  • Discrete stochastic processes.
  • Continuous stochastic processes.
  • Markov chains: introduction to Markov chains, discrete-time Markov chains.
  • Poisson processes: theory and applications.
  • Stationary processes.
  • Transmission of a random process through a linear time-invariant filter.
  • Power spectral density.

Recommended Readings

  • Papoulis A., Unnikrishna, S. Pillai (2002): Probability, Random Variables and Stochastic Processes, McGraw-Hill Education – Europe.
  • Yates R. & Goodman D. J. (2004): Probability and Stochastic Processes, John Wiley & Sons.

Statistics

Learning Outcomes

The course’s material includes mathematical definitions, fundamental concepts, results and reasoning methodologies that pertain to basic Statistical analysis objects and models underlying the foundations and applications of computer science. Moreover the relevant connections of probability theory to several more specific branches of computer science are presented. The course directly supports most of the curriculum subjects and lessons: Note that during the lesson, specific examples of application are discussed in some of the above curricular subjects such as applications in telecommunication systems, cryptography, digital services (e-learning, e-health) using new technologies with the help of programs such as Matlab, SPSS and R.

Upon successfully completion of the course the students will be in position to:

  • Know, describe and handle the basic knowledge of Statistical Analysis (indicatively: descriptive statistics, sampling and sampling distributions, estimation (principle of maximum likelihood)), Statistical inference, confidence intervals, confidence tests and assumptions, fit, linear regression, analysis of variance, logistic regression, statistical analysis with software, applications in computer science).
  • ·         Select the appropriate mathematical concepts of statistical analysis and be able to model the particular problem of computer science that it is called upon to solve. In addition to develop mathematical thinking and being able to analyze and adapt acquired knowledge to applications of computer science.·
  • To define the types of conclusions drawn by statistical inference, to be able to know what is the appropriate model for data analysis, and to evaluate the accuracy of the results of statistical methods.·
  • Know the Matlab, SPSS and R programs and can interpret the results from them.

Course Contents

  • Sample theory, samples, replacement, random samples and numbers.
  • Sampling distributions and statistical interrelations.
  • Frequency and relative frequency.
  • Cluster sampling, stratified sampling, systematic sampling, statistical estimations unbiased estimations.
  • Reliability and confidence intervals.
  • Hypotheses testing and importance of statistics hypotheses, significance level, normal distribution testing.
  • Interpretation of criterion t for dependent and independent samples.
  • Adaptation test x2.
  • Adaptation curve, regression and cross-correlation adaptation curve, regression, least square.
  • Multiple regression, estimation fault, factors of cross-correlation.
  • Correlation and independence.
  • Interpretation of indicators of cross-correlation, Pearson, Spearman, Biserial, φ.
  • Propagation analysis, interpretation of propagation analysis.
  • Multiple-variables statistical analysis.

Recommended Readings

  • M. Filippakis, Statistical Methods & Regression Analysis for New Technologies, Tsotras Publications, Athens 2017, 1rst Edition.
  • T.Papaioannoy-S.Loukas, Introduction to Statistics, Stamoulis Publications, Athens (2002).
  • Teaching Notes.

Signals and Systems

Learning Outcomes

The aim of the course is to familiarize students with the description of analog and digital signals and linear systems. The student will acquire knowledge of signal and digital system analysis in time and frequency domains. Understanding the theory is applied to spectral signal analysis and OFDM transmission.

 

Upon successful completion of the course the student will be able to:

  • Has become familiar with the description and processing of signals
  • Be able to obtain digital filter transfer functions and frequency response
  • Has become familiar with the application in OFDM transmission
  • Be able to create filter’s frequency response and filter output using Matlab software tool.

Course Contents

  • Spectrum of continuous energy signals, power spectral density of periodic signals, Parseval’s theorem.
  • Transfer function of linear analogue systems, bode plots, impulse response and analogue convolution.
  • Sampling theorem, spectrum of sampled signals, difference equations, discrete time convolution.
  • Z transform, Frequency response of discrete time signals and systems, Inverse-Z transform.
  • Laplace transform and inverse Laplace transform.
  • Stability of linear systems, design and analysis of a complete system, signal quantization and quantization noise, line coding and signal spectrum, matched filtering.
  • Discrete Fourier Transform (DFT), Inverse DFT, Circular convolution, Linear convolution using DFT, spectral analysis using DFT.

Recommended Readings

  • Mulgrew B., Grant P. & Thomson J. (2003): Digital Signal Processing Concepts and Applications, 2nd Edition, Palgrave Mackmillan.
  • Proakis J. & Manolakis D. (2007): Digital Signal Processing: Principles, Algorithms and Applications, 4th Edition, Prentice Hall.

Final Year Project

The final year project is carried out under the supervision of one of the faculty members and involves – at a first stage – the identification of the subject/ technological problem to be addressed and  the associated data collection. The output of the project, namely the description of the problem formulation, the solution definition and implementation and the illustration of results and final conclusions, is presented in the final year project thesis.

The final year project aims to

  • Exercise and extend the student’s academic skills, by enabling in depth understanding of the context of (a part of) a discipline. This may be achieved by exploiting particular skills or knowledge acquired from taught courses.
  • Exercise and extend professional skills by testing the student’s ability to research, organise, report and present the results if his/her work and develop initiative and independent thinking.

Internet Protocols

Learning Outcomes

Τhe course presents architectures and protocols used in the internet, analyzing concepts and design approaches across different layers in networking TCP/IP protocol stack (link, internet, transport and application layers). The interface between application layer and transport service when implementing internet applications is also introduced. The course offers a mixture of theoretical aspects, laboratory exercises and socket programming for developing networking applications.

Upon successful completion of the course, the students will be in position to:

  • understand, analyze and evaluate the different design options and assumptions, and the performance of protocols at different layers of the TCP/IP stack (e.g. reliable transfer protocol TCP versus light transfer protocol UDP, distance-vector versus link-state routing protocols)
  • comprehend how internet affects the operation and performance of network applications and the involved communication protocols
  • understand and evaluate the performance of network applications that is due to the operation of internet protocols
  • develop simple client/server architecture applications using the socket API in Python
  • run and operate packet sniffing software and identify protocols interaction in packet traces

Course Contents

  • Introduction to Internet main concepts.
  • OSI and TCP/IP models.
  • Application layer protocols Dynamic Host Configuration Protocol (DHCP). HyperText Transfer Protocol (HTTP). File Transfer Protocol (FTP). Simple Mail Transfer Protocol (SMTP), POP, IMAP. Domain Name Service (DNS). Peer-2-Peer protocols.
  • Client-Server Architecture and programming. Sockets and Socket Programming.
  • Transport layer protocols. Transmission Control Protocol (TCP). User Datagram Protocol (UDP).
  • Internet layer protocols. IP Addressing. Internet Protocol (IPv4, IPv6). Internet Group Management Protocol (IGMP). Internet Control Message Protocol (ICMP). Routing Protocols, Autonomous Systems, Interior and Exterior protocols (RIP, OSPF, eBGP, iBGP)
  • Link layer protocols. Address Resolution Protocol (ARP). Reverse Address Resolution Protocol (RARP).
  • Multimedia networking. Multimedia applications, VoIP and Video over IP.

Recommended Readings

  1. Kurose, K. Ross, “Computer Networking: A top-down approach”
  2. Comer, “Internetworking with TCP/IP”
  3. Comer D., Stevens D. “Internetworking with TCP/IP vol3: Client-Server Programming and Applications”, Prentice Hall
  4. B. Forouzan, “TCP/IP Protocol”