ΓραμματείαSecretariat: 2410 684574 | ΦοιτητικάStudents: 2410 684387 g-ds@uth.gr

CURRICULUM

FIRST CYCLE OF STUDIES: BASIC CYCLE

 

1st Semester
English Language and Technical Terminology I

The main learning goals of this module are:

    • introducing students to the technical terminology related to their specialism area
    • getting  students know the management and organization of resources
    • getting  students know the basic principles of academic speech in English.

This module will cover:

    • Familiarizing  the students  with the technical terminology that concerns their science.
    • Using scientific terminology depending on the textual genre.
    • Producing texts on scientific topics in their field,demonstrating controlled use of organizational patterns, connectivity and cohesion mechanisms.
    • Practicing on the structure and the linguistic style of the basic academic/Scientific textbooks (e.g. scientific article, dissertation, report).
    • Understanding the characteristics of academic writing inEnglish language.
    • Understanding the organization and management of resources through practical exercises.
Mathematical Analysis
This course is taught to first-year students, therefore it is a connecting link between the mathematics of the Lyceum and those that will be taught at the University. The aim of the course is to teach, in addition to rules and theorems, a mathematical way of thinking, in order to develop combinatorial and problem-solving ability.

This module covers the following subjects:

    • Sets. Structures. Numbers.
    • Sequences and series of real numbers.
    • Series of real functions.
    • Differential Calculus I. Applications.
    • Approximating Functions with polynomials.
    • Integral Calculus I. Applications.
    • Generalized (improper) integrals.
    • Ordinary differential equations.
    • Differential Calculus of functions of several variables (II). Applications.
    • Integral Calculus of functions of several variables (II). Applications.
    • Vector Calculus
Introduction to digital systems
    • Computing principles
    • History of computing
    • Turing Machine
    • Arithmetic Systems
    • Digital Electronics and Boolean Algebra
    • Structure and operation of computer
    • Operating Systems Fundamentals
    • Introduction to Software Engineering
    • Programming languages
    • Communication systems
    • Networks and the Internet
    • Data structures
    • Database applications
    • Security and cryptography
    • Pattern recongition
    • Data Compression
    • Error-Correcting Codes
Introduction to Programming
In this module students will learn how to program a computer using the C programming language. The module will cover:

    • I/O functions,
    • Variables and data types,
    • Conditional and iteration statements,
    • Matrices’ and strings’ manipulation
    • Functions and recursive function
    • Data structures
    • Pointers and dynamic memory manipulation
Digital Design

The main learning goals of this module are:

    • Understanding the main concepts on digital logic and digital systems.
    • To be able to simplify logic circuits using Karnaugh Maps.
    • To be able to understand how the basic sequential and combinational logic elements work.

This module will cover:

    • Boole algebra, logic gates.
    • Combinational logic, logic functions.
    • Digital combinational circuits.
    • Karnaugh Maps.
    • Sequential logic.
    • Basic elements of sequential logic (flip-flops).
    • Registers, counters, shift registers, memories.
    • Design of sequential logic circuits.
Physics
This course aims at introducing students in the concepts of Engineering, Electricity and Magnetism.

The module covers the following subjects:

    • Straight and Curvilinear Motion, Newton’s Laws and Applications, Force Work and Kinetic Energy, Dynamic Energy and Energy Conservation, Momentum, Equal Force and Scattering, Rotational Solid Motion, Rotational Dynamics, Balance and Elasticity, Gravitational Interaction, Periodic Motion.
    • Electrostatics: Coulomb Law, Electric Charges and Fields, Gauss Law, Electric potential, Isodynamic Surfaces and Conductors, Work and Energy in Electrostatics, Capacity and Dielectrics, Capacitors, Electric Bipolar, Current and Resistance, DC Circuits, ADR, Laws Kirchhoff, RC Circuit.
    • Magnetism: Definition of Magnetic Field, Lorentz Force, Project Magnetic Force, Circular Motion, Biot-Savart Law, Ampere Law, Magnetic flux, Magnetostatic field energy, Shift current, Faraday Law, Lenz Rule, Induction and Mutual Induction, Tubular Coils, Magnetic Energy Storage, Impact Resistance, AC power circuit power and energy.
    • Electromagnetic Waves: Maxwell Equations, Plane Waves, Front and Electromagnetic Wave Velocity, Energy and Vector-Poynting.

 

2nd Semester
English Language and Technical Terminology II

The main learning goals of this module are:

    • practicing students to the technical terminology related to their specialism area
    • practicing   students with the management and organization of resources
    • practicing with  the basic principles of academic speech in English.

This module will cover:

    •  Understanding  the structure and syntactic and lexical structures of basic academic scientific textbooks (e.g. scientific article, dissertation, report).
    • Distinguishing the linguistic features of academic speech in English.
    • Using specialized scientific terminology depending on the textual genre.
    • Producing texts on scientific topics in their area of specification,demonstrating controlled use of organizational patterns, connectivity and cohesion mechanisms.
    • Understanding ways to search and manage valid sources.
    • Composing information from available sources through critical thinking.
    • Familiarizing ways to avoid plagiarism (summary, paraphrase and reference to research).
Discrete Mathematics
The course constitutes the basic introduction to the concepts of discrete mathematical subjects and the relationships between them. The course aims to introduce students to the basic concepts of mathematical structures that are fundamentally discrete. Subjects studied in discrete mathematics – such as integers, graphs, logic propositions, recursive relations-are the basis for the study and description of subjects and problems in computer science and in particular in computer algorithms, programming languages, cryptography, automated proof theorems and software development.

After the successful completion of the course students will be able to:

    • understand the basic concepts of discrete mathematics.
    • apply the methods and techniques of Logic, Proof, Numbering, Relationships and Graphs and  solve algorithmic problems.
    • develop mathematical reasoning.
    • draw mathematical conclusions.

This module covers the following subjects:

    • Formal Logic
    • Propositional Logic
    • Predicate Logic
    • Logic in Mathematics
    • Methods of Proof
    • Sets
    • Functions
    • Relations and Equivalences
    • Partial Orderings
    • Graph Theory
    • Recurrence Relations
    • Recursive Definitions
    • Proof by Induction
    • Recursive Data Structures
    • Basic Counting Techniques
    • Selections and Arrangements
    • Discrete Probability
    • Counting Operations in Algorithms
    • Algorithms
    • Algorithmic Complexity
    • Program Verification
Probability and Statistics
    • Basic probability concepts and definitions
    • Combinatorial analysis
    • Random variables (discrete and continuous)
    • Theoretical Probability distributions
    • Binomial, Normal, Poisson, Bernoulli, Gamma, Exponential
    • Basic concepts of Statistics
    • Estimation theory
    • Space of reliance
    • Random variable functions.
Electronics
The main learning goals of this module are:

    • Understanding the main concepts on electronic circuits.
    • To be able to understand how the basic elements of an electronic circuit work.
    • To be able to design electronic circuits using Multisim software tool.

This module will cover:

    • Review of Kirchhoff laws.
    • Conductors, insulators, semiconductors, type p and type n semiconductors.
    • Diodes, diode models.
    • Diode applications (semi-rectification, full rectification, etc.).
    • Special types of diodes (LED, LED, Zener diode), applications (stabilization, etc.).
    • Bipolar transistors (operating principles, types, operating ranges, polarization).
    • Amplifiers with bipolar transistors.
    • FETs (operating principles, types), MOSFETs (operation, features, equations, applications).
    • Differential amplifier, operational amplifier.
    • Operational amplifier applications.
    • Oscillators.
    • Filters.
Object-Oriented Programming

The course focuses on basic and advanced concepts and structures related to languages supporting object-oriented development by using the Java language as an example.

Students after this course will:

    • Acquire adequate knowledge of objective-oriented programming paradigm including inheritance, polymorphism, overloading etc.
    • Understand the Java programming language in depth.
    • Learn how to program basic constructs such as classes, interfaces, packages and exceptions in java.
    • Learn how to build User Interfaces with Swing.
    • Learn Multithreaded programming and basic networking.
    • Learn how to develop applications in Java with a database backend
Systems’ Analysis and Design
    • Introduction to Software and Software Engineering
    • Software Life-Cycle and Software Life-Cycle Models
    • Functional Requirements and Non-functional Requirements
    • Structured Systems Analysis and Design Method
    • Data Flow Diagrams
    • Data Dictionary
    • Entity-Relationship Diagrams
    • State Transition Diagrams
    • Structure Charts
    • Pseudocode
    • Software Design and Software Architecture Design
    • Introduction to Object Oriented Analysis and Design Method
    • Unified Modeling Language (UML)
    • Use Case Diagrams
    • Class Diagrams
    • Activity Diagrams

 

3rd Semester
Numerical Analysis
The course aims to give students the necessary tools to solve known mathematical problems that arise directly from hardware and telecommunications problems (such as solving linear systems, differential and non-linear equations, data access problems etc.). The use of the MATLAB software package, which is world-renowned and used by engineers and theorists of computer science, makes it possible to implement and study the methods presented in the theory.

After the successful completion of the course students will be able to:

    • understand ways to solve linear systems with immediate and repetitive methods and judge which is the appropriate method to use in each problem.
    • understand the basic methods of solving nonlinear systems of equations.
    • understand the methods of approaching and interpolating data with (in parts) polynomial and/or trigonometric functions (Fourier).
    • understand the basic methods of numerical derivation with finite differences and integration, which will be useful in solving differential equations with numerical methods.
    • understand the effect of finite arithmetic errors and method errors on the arithmetic results that will be obtained from the execution of the programmed methods.
    • understand the MATLAB software and its tools (toolbox).

This module covers the following subjects:

    1. Computer Arithmetic
    2. Solving Nonlinear Equations
    3. Solving Systems of Linear and Nonlinear Equations
    4. Selected Topics in Numerical Linear Algebra
    5. Approximating Functions
    6. Numerical Differentiation and Integration
    7. Numerical Solution of Ordinary Differential Equations
    8. Numerical Solution of Partial Differential Equations
    • An Overview of Mathematical Software (MATLAB)
Advanced Programming
The objective of the course named “Advanced Programming” is the detailed presentation of the main aspects of an operating system from the programmer’s viewpoint. More specifically, the course deals with the kernel of the Linux operating system and more specifically the data structures and the system calls used to implement the fundamental administrative tasks with the emphasis to file management and interprocess communication. The main topics of the course includes the following issues:

      • Fundamentals of operating systems, shell and kernel
      • Shell programming, shell and environmental variables, shell scripts, grep and awk
      • System calls, User and kernel space, Glibc
      • File and directory management, permissions, setuid, setgid & sticky bit, i-nodes, filesystems (ext2, ext4, VFS) (stat, chmod, chown, chgrp, access, ACL)
      • The concept of process, process control block, process table, process operations, fork and wait
      • Process management, parent child relationships, independent processes
      • Thread programming, pthreads, process and thread life cycle
      • File descriptors, process input / output, redirection, i/o system calls (open, creat, close, read, write, lseek)
      • Named and unnamed pipes (pipe, mkfifo, mknod)
      • POSIX signals, signal handlers, signal masks, signal sets, signal actions, SIGKILL, SIGTERM, SIGSEGV, SIGCHD, SIGALARM, SIGSTOP
      • Messages queues, message priorities, set and get attributes
      • Shared memory, semaphores, mutual exclusion, memory mapping, backing file, file lock and unlock, exclusive and shared locking
      • Socket programming, TCP/IP sockets and Unix sockets, client server applications, peer to peer connections, streams and datagrams, socket, bind, listen, accept and connect system calls.
Computer networks I
      • Introduction to networks
      • The concept of protocols
      • OSI layer
      • Network topologies
      • Data transmission
      • Synchronization
      • Circuit, message and packet switch.
      • Common medium access techniques
      • Queuing theory
      • Ethernet, FDMA, TDMA, ALOHA, CSMA, CDMA
Data Structures

This module will cover:

      • Manipulation of files (text, binary, random access and indexed files)
      • Arrays (sorting, searching, sparse, triangular, and symmetrical arrays)
      • Data structures (stack, queue, single – circular – dabble linked list, trees, graphs)
Signals and Systems

This module covers the following:

      • Basic signals of continuous and discrete time.
      • Properties of continuous and discrete time signals.
      • Properties of continuous and discrete time systems.
      • Linear, time invariant (LTI) systems.
      • Representation of periodic signals as Fourier series.
      • Continuous time Fourier transform.
      • Analysis of LTI systems in the field of time and frequency.
      • Telecommunication systems representation and analysis.
      • Laplace transform and its use for LTI systems analysis.
Linear Algebra
The main goal of the course is to fully understand the basic concepts of Linear Algebra which are necessary for the continuation of studies. Part of the aim of the course is to acquire specific technical knowledge (such as how I can solve a linear system, how I can calculate its eigenvalues, …) which in themselves will be completely useless.

Specifically, students will be able to

      • Demonstrate their ability to understand and use the basic ideas of linear algebra, including the concepts of linear independence, linear transformations, bases and dimensions of vector spaces, eigenvalues, eigenvectors and quadratic.
      • Compose clear and accurate evidence, using the concepts of the course.

In addition, they can

      • Determine if a system of equations has a solution and find its general solution.
      • Analyze a table into a product of simpler tables.
      • Solve systems of the form Ax = b, where A is an array/matrix mxn and x is a vector of Rn
      • Determine whether the columns of a given table are linearly dependent or not.
      • Understand what is the linear transformation defined by x → Ax.
      • Recognize different categories of special tables.\
      • Calculate the determinant of a given table.
      • Identify the four fundamental subspaces of a given table and find their bases and conclude the existence and uniqueness of the solution.
      • Define a subspace from a vector space.
      • Change the coordinates of a vector from the base to a standard base.
      • Calculate the solution of least squares problems.
      • Define the characteristic polynomial of a given array.
      • Calculate the eigenvalues ​​and eigenvectors of a table.

 

4th Semester
Mobile and Ubiquitous Computing
This course focuses on the development of mobile and ubiquitous applications and related technologies and theoretical concepts.

Students after this course will:

  • Be introduced in the concepts of ubiquitous computing and related research methods.
  • Acquire knowledge on the architecture of mobile and ubiquitous applications.
  • Learn about sensors and sensor networks.
  • Learn how to handle errors in sensors’ measurements.
  • Learn concepts regarding the programming of ubiquitous applications.
  • Learn how to develop mobile applications for smart mobile devices.
Database (DB) Systems

  In this module the following subjects are covered:

      • Role and nature of DB systems
      • Design of DBs
      • Modelling of DBs
      • DB Management Systems
      • Relational Model
      • SQL
      • Normalization
Digital Signal Processing

This module covers the following:

    • Introduction to Digital Signal Processing
    • Discrete-time Signals
    • Discrete-time Systems
    • Discrete Fourier Transform and applications
    • Frequency response
    • Frequency Domain Representation of Discrete-time LTI Systems
    • Analog to digital conversion
    • Z-transform
    • Digital filter Design
Algorithm’s Analysis and Design

  This module will cover:

      • Complexity analysis of algorithms (Asymptotic symbolism of Θ,Ο,Ω,ο,ω), Master Theorem
      • Recursive algorithms, Divide and Conquer
      • Dynamic Programming
      • Greedy algorithms
      • Graphs
      • Complexity Classes
      • NP and NP-difficult/hard problems
      • NP-completeness
Computer Systems Organization

 The basic content of this course includes the following topics:

      • General description of the organization of a PC.
      • Introduction to the symbolic machine language (assembly).
      • Representation of numerical data on the PC.
      • Algorithms for performing arithmetic operations.
      • Performance metrics of a computer system.
      • Micro-architecture of MIPS processors.
      • Micro-pipeline architecture.
      • Memory hierarchy and cache. Virtual Memory.
      • Introduction to Verilog/VHDL hardware description language.
Computer networks II
      • Internet addressing
      • Εrror reporting and correction
      • Routing protocols
      • Delivery service for information packets
      • Transmission, flow and congestion control
      • Internet services and applications