Undergraduate courses


Tutor: Ioannis Zaharakis, Professor


Short Description:

Basic notions. FAQs about software engineering. Professional and ethical responsibility. Software process models. Process iteration. Process activities. The Rational Unified Process. Computer-aided software engineering. Functional and non-functional requirements. User requirements. System requirements. Interface specification. The software requirements document. Context models. Behavioural models. Data models. Object models. Structured methods. Architectural design decisions. System organization. Decomposition styles. Control styles. Reference architectures. Objects and object classes. An object-oriented design process. Design evolution. Agile methods. Extreme programming. Rapid application development. Software prototyping.

 

Supported by Lab:
Semester: 4
Category: Special background
Official link: https://eclass.uop.gr/courses/ECE105/

Tutor: Vassilios Tampakas, Professor

Short Description:

Introduction to operating systems. Process management, process concept and implementation, interrupts handling, threads, multithreads models. CPU scheduling, scheduling criteria, scheduling algorithms, FCFS, Round Robin, Shortest Job First, preemptive and not preemptive scheduling. Process synchronization, the critical section problem, Dekker’s algorithm, semaphores, solutions based on hardware. Memory management, main concepts, swapping, contiguous memory allocation, paging, segmentation, complex systems. Virtual memory, demand paging, page replacement and page replacement algorithms, allocation of frames, thrashing. Case studies, UNIX, Linux, Windows.


Supported by Lab: Yes
Semester: 5
Category: Compulsory
Official link: https://eclass.uop.gr/courses/ECE102/

Tutor: Vassilios Tampakas, Professor

Short Description:

Distributed systems (DS) architecture, structure and organization. Distributed operating systems, distributed middleware, design principles. Distributed algorithms, basic definitions, the concept of distributed computing, synchronous vs asynchronous DS, communication model, DS topologies, orientation, initial knowledge, efficiency complexity and metrics. Clocks and distributed time, clock drift and clock synchronization, International Atomic Time, protocols for clock synchronization, causal ordering of events and logical clocks, snapshots and total ordering. Wave and traversal protocols, tree protocol, echo protocol, Tarry’s protocol. Distributed routing, routing criteria, adaptive routing protocols, destination based routing, Toueg protocol. Control algorithms in Distributed Computing. Fault tolerant DS, termination detection, stabilization. Peer to Peer (P2P) Networks. Introduction to a distributed programming framework (e.g. MPI).

Supported by Lab: Yes
Semester: 6
Category: Compulsory
Official link: https://eclass.uop.gr/courses/ECE122/

Tutors: Vassilios Tampakas, Professor

            Ioannis Tsaknakis, Associate Professor


Short Description:

Advanced design and implementation of Relational Data Bases. Advanced use of SQL, Introduction to Distributed Data Bases. Introduction to Big Data and to NoSQL Data Bases. ACID and CAP. Use of NoSQL systems


Supported by Lab: Yes
Semester: 7
Category: Εlective – Compulsory
Official link: https://eclass.uop.gr/courses/ECE103/

DATA MINING AND BUSINESS INTELLIGENCE
Tutors:  Vassilios Tampakas, Professor

             Ioannis Tzimas, Professor


Short Description:

Analysis and Design of Information Systems, Enterprise Resource Planning (ERP) Systems, Customer Relationship Management (CRM) Systems, Data Mining and Business intelligence Systems, Use of ERP, Data Mining and Business intelligence Systems


Supported by Lab: Yes
Semester: 8
Category: Specialized
Official link:

Tutor: Ioannis Zaharakis, Professor


Short Description:

Basic notions. What is AI? A brief history. The state of the art. Agents and environments. Rationality. PEAS (Performance measure, Environment, Actuators, Sensors). Environment types. Agent types. Problem-solving agents. Problem types. Problem formulation. Example problems. Search and problem solving. Basic search algorithms. Best-first search: Greedy search, A* search. Other heuristic search algorithms. Heuristics. Local search algorithms. Knowledge-based agents. Logic in general models and entailment. Propositional logic. Equivalence, validity, satisfiability. Inference rules and theorem proving. Syntax and semantics of first order logic. Inference in first order logic. Unification, Generalized Modus Ponens, Forward and backward chaining. Logic programming. Resolution.


Supported by Lab:
Semester: 8
Category: Specialised
Official link: https://eclass.uop.gr/courses/ECE106/

Tutor:  Ioannis Zaharakis, Professor


Short Description:

Basics and vision: Ambient Intelligence (AmI) vision, what is AmI, AmI environment, AmI system. Autonomic Computing – main concepts. Ubiquitous Computing (UbiCom), holistic framework for UbiCom, core properties of UbiCom Systems. Self-* properties. Intelligent agents. Inspiring scenarios for AmI, critical socio-political factors, business and industrial models, key technological requirements. Ambient spheres and ecologies. Modeling UbiCom applications. Distributed systems and services: Distributed system viewpoints. Service architecture models – service characteristics, middleware, grid computing, peer-to-peer systems. Devices and networks: Smart devices – cards. Device networks and device-service discovery. RFID tags (active-passive). Sensors and sensor networks. MEMS, smart dust, other smart materials. Human-Computer Interaction: Basic terms, explicit – implicit HCI. iHCI requirements. Context aware computing: Concepts, views of context awareness. Context aware applications. Designing and implementing context aware applications. Issues to consider when building context aware applications. Privacy in Ubiquitous Computing: Defining privacy, issues to be dealt with, applications, Project.


Supported by Lab:
Semester: 8
Category: Specialised
Official link: https://eclass.uop.gr/courses/ECE107/

Tutor: Ioannis Zaharakis, Professor

Short Description:

Basic notions. What is Machine Learning? Supervised Machine Learning: introduction, models, and techniques. Unsupervised Machine Learning: introduction, models, and techniques. Neural networks: introduction, the neuron model, perceptron. Multi-layer perceptrons. Hopfield neural networks. Kohonen neural networks. Genetic algorithms: introduction, genetic processes, general genetic algorithm, examples and applications, schema theorem. Exercises


Supported by Lab:
Semester: 9
Category: Specialised
Official link: https://eclass.uop.gr/courses/ECE108/