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
    • Practice Training
  • Research
    • Labs
    • Research Projects
    • Postdoc Research
    • Ph.D. Candidates
    • Theses – Technical Reports
    • Active Research Projects

      Hellenic Chips Competence Centre (HCCC)

      Scientific ResponsibleStamoulis GeorgiosStamoulis Georgios, Professor
      E-mail: georges@uth.gr
      TitleHellenic Chips Competence Centre (HCCC)
      Funding AgencyΤο HCCC υποστηρίζεται από το Chips JU και τα μέλη του, και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση και την Ελληνική Κυβέρνηση μέσω του προγράμματος “Ανταγωνιστικότητα”
      Budget326.350,00
      Duration01/06/2025 – 31/05/2029

      Αναλογικός Σχεδιασμός, Δοκιμές και Επαλήθευση

      Scientific ResponsiblePlessas FotiosPlessas Fotios, Professor
      E-mail: fplessas@uth.gr
      TitleΑναλογικός Σχεδιασμός, Δοκιμές και Επαλήθευση
      Funding AgencyNanoZeta Technologies ltd.
      Budget271.400,00
      Duration26/01/2021 – 25/01/2028

      DIGITAfrica: Towards a comprehensive pan-African research infrastructure in Digital Sciences

      Scientific ResponsibleKorakis AthanasiosKorakis Athanasios, Professor
      E-mail: korakis@uth.gr
      TitleDIGITAfrica: Towards a comprehensive pan-African research infrastructure in Digital Sciences
      Funding AgencyΕΥΡΩΠΑΪΚΗ ΕΝΩΣΗ
      Budget123.125,00
      Duration16/12/2024 – 31/12/2027

      List of Research Projects →

  • 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 ΑΤ uth.gr
      PGS Tel.+30 24210 74933
      PGS e-mailpgsec ΑΤ 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@uth.gr

    Course Instructors
    • Christos Antonopoulos, Professor
      E-mail: cda@uth.gr
    • George Thanos, Laboratory Teaching Staff
      E-mail: gthanos@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@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Πληροφορίες