Learning Outcomes
This course provides students with foundational knowledge in Logic Design, serving as the basis for the comprehension and analysis of the structural principles underlying digital electronic systems. Through this framework, students are equipped to engage critically with the broader scientific domain of digital design, with a balanced emphasis on both theoretical concepts and practical implementation aspects, including the design and analysis of combinational and sequential logic circuits.
Upon successful completion of the course, students will be in position to:
- Perform numerical calculations in numerical systems and representation standards which are typical in the computer architecture domain.
- Understand and apply the fundamental concepts of Boolean Algebra and logical operations.
- Design and implement logic functions using logic gates and minimization techniques.
- Identify whether a circuit is combinational or sequential.
- Analyze a given sequential circuit and design/compose a sequential circuit that implements a finite state machine.
- Design, optimize, analyze and implement complex logic and synchronous sequential circuits using various building blocks (gates, SSI/MSI integrated circuits, multiplexers, flip-flops etc.).
General Competences
- Search for, analysis and synthesis of data and information by the use of appropriate technologies Individual/Independent work
- Group/Team work
- Project Planning
- Decision-making
- Development of free, creative and inductive thinking
Course Contents
The main objective of the course is the familiarization of the students with the binary arithmetic and logic, the digital design methodologies and the basic architectural characteristics and structure of a computer system.
More specifically, the course content is the following:
- Introduction: Digital systems history.
- Numerical systems: binary, octal, hexadecimal, conversions from one system to the other.
- Binary arithmetic operations, use of complements, binary codes.
- Logic Gates, Boolean algebra.
- Standard and Non-Standard Forms of Binary Functions (Terms, sums, products, SOP and POS forms, canonical terms, minterms and maxterms, Equivalence between truth tables and canonical sums and products, Conversions between canonical forms and complementary functions)
- Truth tables, Karnaugh charts, examples of logic circuits design, design with NAND/NOR gates, SSI/MSI circuits, multiplexers and decoders.
- Introduction to the synchronous sequential circuits, Flip – Flops (D, T, RS και JK-type)
- Methodology for designing and analyzing synchronous sequential circuits.
- Design of Counters – Registers (parallel/serial input) and Shift Registers – multi-function registers.
Suggested Bibliography
- Nikolos, D. (2017). Computer Architecture. P. Papakonstantinou Publications (In Greek).
- Mano, M. (2018). Digital Design. Papasotiriou Publications.
- Nelson Victor P., Nagle H. Troy,Irwin J. David, Carroll Bill D, Digital Logic Circuit Analysis and Design.
- Dally William, Harting Curtis, Digital Design.
- Morris Mano, Charles R. Kime, Tom Martin, Logic and Computer Design Fundamentals
Related scientific journals
- IEEE Transactions on Computers
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.
Learning Outcomes
The aim of the course is to study digital modulation and demodulation techniques in baseband and bandpass telecommunication systems. It presents the detection theory of transmitted communication signals using the method of matched filtering and correlation. The course also covers the analytical evaluation of the performance of digital modulations in additive white Gaussian noise (AWGN) channels in terms of symbol error and bit error probabilities. Finally, an introduction to OFDM multi-carrier transmission and reception is given.
Upon successful completion of the course the student will be able to:
- Understand the detection theory of digital transmission for baseband and bandpass communication systems.
- Understand the modulation techniques of ASK, FSK, M-FSK, PSK, DPSK, M-PSK, M-QAM and OFDM.
- Obtain analytical expressions for the probability of symbol error of various digital modulations in AWGN channel.
- Understand the pros and cons of various digital modulations in terms of achievable bit rate, error performance, and spectral efficiency.
- Understand the need of using OFDM in multipath channels.
- Make simulation models in Matlab/octave in order to evaluate the symbol and bit error probability performance of digital modulations in AWGN.
Course Contents
- Baseband transmission methods and probability of error for matched filter detection in AWGN.
- Binary passband modulations: ASK, FSK, and PSK.
- M-ary signalling: M-FSK, M-PSK, and M-QAM.
- Demodulation techniques for digital passband modulations and symbol error performance in AWGN channel.
- Spectral efficiency of digital modulations.
- Digital filters for zero intersymol interference at the receiver.
- Noise figure, composite noise figure and noise temperature, calculation of effective receiver temperature.
- Link budget analysis.
- Channel coding, convolutional codes and Viterbi algorithm.
- OFDM transmission and detection.
Recommended Readings
- Proakis J. & Salehi M. (2001): Communication Systems Engineering, 2nd Edition, Prentice Hall.
- Sklar B. & Harris F. (2020): Digital Communications: Fundamentals and Applications (Communications Engineering & Emerging Technology Series from Ted Rappaport), 3rd edition, Pearson.
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
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.
- Select algorithms for problem solving based on problems characteristics, and characteristics of problem & state/action spaces.
- Evaluate usefulness, advantages and limitations of various algorithms and methods towards increasing computational effectiveness of problem solving
- Modelling problems as constraint satisfaction problems, or as problems in logic.
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: depth first, depth first with various forms of backtracking, forward checking, arc consistence, maintaining arc consistency, min conflicts.
- Knowledge representation and reasoning in logic: Propositional logic, entailment, , resolution, satisfiability, DPLL, local search for satisfiability.
Recommended Readings
- Stuart Russel and Peter Norvig. Artificial Intelligence: A Μodern Approach, Prentice Hall, 2nd edition (2003). http://aima.cs.berkeley.edu/. Το βιβλίο έχει εκδοθεί στα Ελληνικά από τις εκδόσεις Κλειδάριθμος με τον τίτλο «Τεχνητή Νοημοσύνη: Μια σύγχρονη προσέγγιση».http://aima.uom.gr/.
- Ι. Βλαχάβα, Π. Κεφαλά, Ν. Βασιλειάδη, Φ. Κόκκορα και Η. Σακελαρίου. Τεχνητή Νοημοσύνη. Εκδοτικός οίκος «Β. Γκιούρδας Εκδοτική – Μονοπρόσωπη ΕΠΕ».http://aibook.csd.auth.gr.
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.
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.
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.
Learning Outcomes
The aim of the course is to familiarize students with the description of continuous time and discrete time signals and linear systems. The student will acquire knowledge of various techniques for signal processing in the time and frequency domains. The signal processing theory will be used to the spectral analysis of signals and the transmission of OFDM signals.
Upon successful completion of the course the student will be able to:
- Analytically describe signals and systems in the time and frequency domains
- Obtain the transfer function and frequency response of digital filters
- Obtain the frequency response of filters and the filter output in the time domain using the Matlab/octave software tool.
- Understand the use of DFT in the spectral analysis of signals
- Understand how OFDM signals are generated using IDFT.
Course Contents
- Spectrum of continuous time energy signals, Fourier series of periodic signals, Parseval theorem.
- Transfer function of continuous time linear systems, bode plots, impulse response and convolution.
- Sampling theorem, spectrum of discrete time signals.
- Difference equations for discrete time systems, discrete time convolution.
- Z transform and Inverse-Z transform.
- Frequency response of discrete time signals and systems.
- Discrete Fourier Transform (DFT) and Inverse DFT
- Circular convolution using DFT/IDFT
- Linear convolution using DFT/IDFT
- Spectral analysis using DFT
- Creation of OFDM signal using IDFT
Recommended Readings
- Vinay Ingle & John Proakis, (2012) Digital Signal Processing using Matlab, 3rd edition, Cengage Learning.
- C. Ifeachor, B.W. Jervis, «DSP A Practical Approach», 2nd edition, Prentice Hall 2002, ISBN 0201-59619-9.
- Β. Mulgrew, P. Grant P. & J. Thomson, (2003): Digital Signal Processing Concepts and Applications, 2nd Edition, Palgrave Mackmillan.
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.