1st Semester

Core

DS-006 Mathematical Analysis – Linear Algebra [C] M. Filippakis

DS-005 Mathematical Logic [C] A. Meliones

Objective

To introduce the language and semantics of propositional and first order predicate logic. To introduce and demonstrate the natural deduction and tableaux proof systems.

Course Contents

  • First-order predicate logic: syntax, variables, structures, informal and formal semantics.
  • Propositional logic, logical connectives, adequacy of connectives, disjunctive and conjunctive normal forms, validity, satisfiability, semantic entailment.
  • Proof systems: natural deduction and tableaux for propositional and predicate logic.
More »

DS-010 Probability Theory [C] M. Filippakis

Objective

The aim of the course is to introduce the area of probability theory and explain the fundamental concepts.

Course Contents

  • Accidental experiment, samples and possibilities.
  • Definitions of possibilities.
  • Finite samples with results of equal possibilities.
  • Provisions, combinations, binomial theorem.
  • Committed probability.
  • The multiplicative theorem.
  • Total probability and Bayes theorem.
  • Independent trials.
  • Random variables, probability distributions.
  • Parameters of distributions, interrelation of distribution accidental variables.
  • One-dimensional distributions.
  • Continuous distributions.
  • Generators of proneness; probabilities generators.
More »

DS-201 Computer Architecture [C] K. Lambrinoudakis , E. L. Makri

Objective

The main objective of the course is the familiarization of the students with the binary logic, the digital design methodologies and the basic architectural characteristics and structure of a computer system.

Course Contents

  • Digital systems history.
  • Numerical systems: binary, octal, hexadecimal, conversions from one system to the other.
  • Binary arithmetic operations, use of complements, binary codes, Logic Ggtes, Boolean algebra.
  • Truth tables, Karnaugh charts, examples of logic circuits design, Introduction to the synchronous sequential circuits.
  • Flip – Flops (D, T, RS και JK-type).
  • Design of counters, registers and shift registers.
  • Methodology for designing and analyzing synchronous sequential circuits.
  • Structure, organization and operation of computer systems, Von Neumann architecture.
  • Data representation (fixed and floating point formats), instruction sets.
  • Organization and operation of the central processing unit, Control unit.
  • Memory hierarchy, memory cell, addressing modes, design of random access memory, interconnecting the memory and the central processing unit.
  • Virtual memory. Paging and segmentation, Cache memory.
    More »

    DS-501 C Programming [C] D. Kyriazis

    Objective

    The goal of this course is to introduce basic programming principles using the C programming language. C is a principal programming language and a fundamental component of C++ and Java. During the course the students become familiar with the concepts and principles of structured programming, and they gain the basic knowledge for the comprehension and easier learning of other programming languages in the sequel.

    Course Contents

    • Algorithms, pseudo code, concepts of programming languages, main elements of a c program.
    • Data types, variables, operands and expressions: types, declarations and variable initialization, type modifiers, type casting.
    • Flow control: if, if…else, for, while, do etc. Use of logical and relational operands.
    • Arrays and strings: use, creation and management of single-dimension and multi-dimensional arrays, use, creation and management of strings.
    • Pointers, definition and initialization, use of pointers.
    • Functions: function prototypes, recursive functions, function arguments/parameters, passing arguments to the main() function.
    • Input/output functions, file management.
    • Structures, unions and enumerations.
    More »