DS-507 Software Engineering [C]

- Course Code DS-507 Type of Course Core
- Theory/Lab Sessions 3 hours / 2 hours ECTS Credits 5
- Semester 3rd Semester Faculty Andriana Prentza
- E. Stougiannou

The aim of this course is the acquaintance of the students with the scientific area of Software Engineering, the understanding of the basic principles underlying the development of large scale software projects, the presentation of the most widely used software life cycle models, the familiarization with the basic 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 the object-oriented approach. More specifically, students are taught the basic concepts, methodologies and techniques employed in each phase of the software life cycle, and then by properly designed laboratory exercises they are expected to gain practical experience in developing software systems.

The course introduces the students to Software Engineering. They are presented with the most widely used software life cycle models and methodologies, techniques and tools for systematically analyzing, designing, deploying, testing, operating and maintaining good quality software within a specific schedule and budget.

- 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

DS-708 Educational Psychology [C]

- Course Code DS-708 Type of Course Core
- Theory/Lab Sessions 3 hours / 2 hours ECTS Credits 5
- Semester 3rd Semester Faculty Fotini Paraskeva

This course is designed to promote a fundamental understanding of the various theories of learning that have been developed to help us explain how people learn. In this direction, it is needed to be examined, in light of the new developments in the science of learning, the principles of learning that affect human behavior with emphasis on the effects on the learner, the learning process, and the learning situation in educational environments, especially digital ones.

On completion of the course, the students will be able:

- to demonstrate a critical understanding of a wide range of theoretical perspectives of learning which have been developed to understand human behavior.
- to analyze these perspectives in terms of the nature of learning in technology enhanced learning environments (TELE).
- to show ability to match knowledge to how human learns through designing lessons/case studies.
- to choose and critically evaluate these perspectives, and synthesize their knowledge into an understanding of the implications of the learning theories for every day practice in TELE
- to demonstrate knowledge and appreciate of social diversity in the classroom through individual projects and assignments, and through work in groups/community classrooms.

- Introduction to Learning: learning and applications in TELE (software tools, open learning environments, communication and collaborative tools).
- An overview of the behavioral learning approaches to the social and collaborative learning environments (communities of practices).
- Psychological Learning theories: i) Behavioral Learning Theories. ii) Social Cognitive Learning theories (self- efficacy & self-regulation). iii) Cognitive Learning theories and tools. iv) Social Constructivism: Vygotsky’s Theory (open-ended learning environments).
- Neuroscience & Information Processing: information processing models, memory, perception, attention, mnemonic devices & strategies, chunking, metacognitive strategies, problem solving, critical thinking, hyperlearning, applications in TELE.
- Social Constructivism (Vygotsky’s Zone of Proximal Development, Lave’s & Wenger’s Theory of Situated Learning, Collins’ Brown’s & Newman’s Theory of Cognitive Apprenticeship, Spiro’s Cognitive Flexibility Theory): principles, conditions, restrictions, applications in TELE.
- Critical approaches of learning theories based on digital learning environments.
- Applications in different conditions of schooling (primary-secondary), tertiary educational programs.
- LLL programs for professional development, job training, and business settings (marketing, sales, advertising, health).

DS-805 Information Theory [C]

- Course Code DS-805 Type of Course Core
- Theory/Lab Sessions 3 hours / 2 hours ECTS Credits 5
- Semester 3rd Semester FacultyK. Maliatsos

The aim of this course is to support the students in learning the principles, concepts and applications of Information Theory. Information theory is a discipline in applied mathematics involving the quantification of data with the goal of enabling as much data as possible to be reliably stored on a medium or communicated over a channel. The measure of information, known as information entropy, is usually expressed by the average number of bits needed for storage or communication.

- Concepts of entropy and information; channel capacity; channel coding; the Shannon’s theorem; error correction codes and decoding methods.
- Basic definitions of probabilities.
- Source coding.
- Channel capacity.
- Channel coding.
- The Shannon’s theorem.
- Error connection codes and decoding methods.

DS-307 Signals and Systems [C]

- Course Code DS-307 Type of Course Core
- Theory/Lab Sessions 3 hours / 2 hours ECTS Credits 5
- Semester 3rd Semester Faculty George Efthymoglou
- K. Moutselos

Knowledge of signal and digital system analysis in time and frequency domains.

This course is an introduction to the analysis and design of analogue and digital linear systems. The material covers the theoretical tools for the analysis of signals and systems in the time and frequency domains.

- 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.
- Orthogonal Frequency Division Modulation (OFDM) transmission and reception, fading channel weight estimation using pilot symbols inside an OFDM symbol, OFDM performance in a channel with fading and noise.

DS-301 Introduction to Telecommunications [C]

- Course Code DS-301 Type of Course Core
- Theory/Lab Sessions 3 hours / 2 hours ECTS Credits 5
- Semester 3rd Semester Faculty Athanasios Kanatas
- K. Moutselos

The course seeks to introduce the students to telecommunication systems by focusing on physical layer technologies. Through the thematic field the course covers, students are able to thoroughly understand the principles which govern the transmission in telecommunication systems. Specifically, the basic principles of analysis and design of telecommunication systems are explained by emphasizing in the appropriate mathematical tools. Students will be able to recognize the discrete functions performed in a telecommunication system, to distinguish and explain the mathematical tools describing the functions of a telecommunication system as well as to apply mathematical notations and tools in the analysis and synthesis of both existing and new analog and digital telecommunication systems.

The lab sessions aim to a deeper understanding of notations in practical systems and in the identification and the application of the acquired theoretical knowledge in real-world problems. Students meet for the first-time laboratory equipment and are trained both on its usage and on its exploitation for observation, measurement and comparison of real signals.

- Introduction to signal theory (categories and elementary signals, basic signal conversions) and to telecommunication systems (categories, Linear Time Invariant systems).
- The concepts of impulse response, convolution, autocorrelation and cross-correlation are also introduced.
- Next, the representation of signals is explained in the case of digital modulation techniques by introducing the geometric signal representation (vectors in spaces, Hilbert space, bases and representation of signals using orthogonal signals, Gram-Schmidt ortho-normalization, linear systems and eigenfunctions).
- Then the Fourier series theory is presented (Fourier series expansion, properties, real signals and expansion in Fourier trigonometric series, LTI system response in periodic signals, Parseval theorem for periodic signals) as well as the Fourier transformation is examined (Fourier transform for real signals, properties, Fourier transform for periodic signals, energy & power spectral densities).
- Subsequently, students are introduced to the concept of filters and noise (types of ideal filters – characteristics, transmission without distortions and type of distortions, white noise and noise power spectral density).
- Then, an extended reference is made to the application of Fourier analysis in telecommunication systems.
- The concept of passband signals and systems is developed by means of the Hilbert transformation, the pre-envelope and the complex envelope. Sampling theorem and Nyquist rate is also extensively discussed.
- Analog modulation techniques (amplitude and frequency) are presented providing the modulation and demodulation procedures and systems in time and frequency domains.

In addition, extra content (in evdoxos.ds.unipi.gr) like articles, audiovisual lectures and Internet addresses, as well as exercises for student’s practice are posted electronically. Case studies, exemplary problems and methods for solving them are presented.

More »DS-503 Data Structures [C]

- Course Code DS-503 Type of Course Core
- Theory/Lab Sessions 3 hours / 2 hours ECTS Credits 5
- Semester 3rd Semester Faculty Orestis Telelis
- Christos Doulkeridis
- V. Koufi

In the context of this course, the fundamental data structures are presented and analyzed, along with their usage in programming and software development. The course’s aim is to familiarize the students with the concepts of organizing data in the computer’s main memory for efficient access, the role of data structures in designing and implementing algorithms, and with scaling end computational efficiency issues, for large sets of data.

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

- to know and understand basic data organization concepts and access efficiency in the computer’s main memory.
- to choose the appropriate data structures to use, in the development of software applications.
- to evaluate the complexity of algorithms using specific data structures, with respect to the execution time and space requirements that the underlying data incur.

- Introduction, course overview, complexity analysis as an evaluation tool of the performance of operations on data structures
- Arrays
- Stacks and Queues
- Linked Lists, Simply Linked Lists, Doubly Linked Lists, Circular Lists
- Simple Sorting (bubblesort, selectionsort, insertionsort)
- Binary Trees, Binary Search Trees
- Balanced Binary Search Trees
- Priority Queues, Introductory Elements of Advanced Sorting.
- Red-Black Trees, 2-3-4 Trees
- Multiway Search Trees, B-Trees
- Hash Tables
- Graphs as Data Structures, Representation (adjacency matrix and list), Basic Search Algorithms (Depth-First and Breadth-First Search)
- Recapitulation