Department of Electrical and Computer Engineering

MENUMENU
  • Department
      • Profile
      • Faculty
      • Evaluation
      • Administration
      • Staff
  • Studies
    • Subject Areas
    • Undergraduate Studies
    • Postgraduate Studies
      • MSc Studies in “Science and Technology of ECE”
      • MSc Studies in “Smart Grid Energy Systems”
      • MSc Studies in “Applied Informatics”
    • PhD Studies
    • Course List
      • Undergraduate Courses
      • Postgraduate Courses
        • Science and Technology of ECE
        • Smart Grid Energy Systems
        • Applied Informatics
      • Erasmus
    • ECTS
    • Career Opportunities
    • Practise Training
  • Research
    • Labs
    • Research Projects
    • Postdoc Research
    • Ph.D. Candidates
    • Theses – Technical Reports
    • Active Research Projects

      MLSysOps: Machine Learning for Autonomic System Operation in the Heterogeneous Edge-Cloud Continuum

      Scientific Responsible

      Spyros LalisSpyros Lalis, Professor
      E-mail: lalis@e-ce.uth.gr

      TitleMLSysOps: Machine Learning for Autonomic System Operation in the Heterogeneous Edge-Cloud Continuum
      Duration2023 – 2025
      Sitehttps://csl.e-ce.uth.gr/projects/mlsysops

      Read More

  • Alumni
    • Ph.D. Graduates
  • Service Offices
    • Secretariat
    • Technical support
  • Announcements
    • General Announcements
    • Academic News
  • Contact
    • Department of Electrical and Computer Engineering
      • Sekeri – Cheiden Str
        Pedion Areos, ECE Building
        383 34 Volos – Greece
      Tel.+30 24210 74967, +30 24210 74934
      e-mailgece ΑΤ e-ce.uth.gr
      PGS Tel.+30 24210 74933
      PGS e-mailpgsec ΑΤ e-ce.uth.gr
      URLhttps://www.e-ce.uth.gr/contact-info/?lang=en
  • Login

ECE115 Programming I

Home » Studies » Undergraduate Studies » Undergraduate Courses » ECE115 Programming I
    Subject AreaSoftware and Information System Engineering
    SemesterSemester 1 – Fall
    TypeRequired
    Teaching Hours6
    ECTS6
    Course Sitehttp://eclass.uth.gr/eclass/courses/MHX325/
    Course Director

    Christos AntonopoulosChristos Antonopoulos, Professor
    E-mail: cda@e-ce.uth.gr

    Course Instructors
    • Christos Antonopoulos, Professor
      E-mail: cda@e-ce.uth.gr
    • Vana Doufexi, Scientific Collaborator
      E-mail: vdoufexi@e-ce.uth.gr
    • George Thanos, Laboratory Teaching Staff
      E-mail: gthanos@uth.gr
    • Konstantinos Charatsis, Scientific Collaborator
      E-mail: kcharatsis@uth.gr
    • Description
    • Learning Outcomes
    • Introduction to computers and programming.
    • Data storage in main memory, the concept of variables.
    • Introduction to C and the development environment.
    • Programming mistakes and their manifestation.
    • Main C data types.
    • Basic input / output (I/O).
    • Operators & operator priority.
    • Literals, type casting, ASCII coding and character arithmetic.
    • Control and loop structures.
    • Using libraries.
    • Arrays (one- and multi-dimensional), equivalence of 1D and multi-dimensional arrays (array layout in memory).
    • Strings, string manipulation functions.
    • Functions, function calling, parameters, local variables, variable scope and lifetime, function call mechanism and stack frames.
    • Algorithmic topics: Array sorting and searching.
    • Pointers and pointer operators, pointer arithmetic, pointer hazards.
    • Relation of pointers and arrays, arrays of pointers, command-line parameters, sorting with pointers.
    • Pointers as function parameters, pointers as function return values.
    • Structured and custom data types (struct, union, enum, typedef), comparisons in custom data type variables, arrays of structs, type/object size (sizeof), pointers to structs, the -> operand.
    • Dynamic memory management (malloc/free).
    • Linked data structures, searching, insertion, deletion, traversal on various list types (linear, circular, with and without sentinel, simply or doubly linked, etc).
    • Introduction to recursion, using recursion for problem solving.

    Lab Topics (weekly)

    • Introduction to the lab environment.
    • Introduction to C and the development environment, familiarization with homework submission procedures.
    • Familiarization with common mistakes and compiler messages.
    • Literals, expressions.
    • Conditional execution, loop structures.
    • Arrays.
    • Strings.
    • Functions.
    • Pointers.
    • Structs, strings.
    • Dynamic memory management, structs, strings.
    • Lists
    • Recursion

    The course exposes 1st year students to the main concepts of programming and problem solving with computers. We introduce C, a classic, powerful procedural programming language. The course includes a mandatory lab in which participants apply in practice – in a series of exercises – the material taught in class in order to familiarize themselves with the concepts and techniques.
    After successfully fulfilling the requirements of the course, the student is capable of:

    • Analyzing the requirements of problems which are to be solved with a computer and synthesizing a solution.
    • Producing solutions which strictly comply with given specifications.
    • Knowing the main characteristics and structures of the C programming language and applying the most appropriate on a case-by-case basis to implement his/her algorithmic solutions.
    • Applying the basic principles of software engineering in order to organize his/her code efficiently (structure, readability, design).
    • Verifying the correctness of programs and identifying errors.
    • Using program development and debugging tools.
    • Working both individually and synergistically in small groups, with specific time limitations.

    e-Yπηρεσίες

    Contact Info

    • Sekeri – Cheiden Str, Pedion Areos, Volos
    • +30 24210 74967
    • +30 24210 74934
    • Email: gece@e-ce.uth.gr

    Announcements

    • Academic News

    Find us

    • Facebook
    • Twitter
    • Youtube
    • Linkedin
    © Copyright 2025 Department of Electrical and Computer Engineering
    We use cookies to ensure that we give you the best experience on our website.OKΠληροφορίες