Programming Methodology

General

  • Code: ΠΛΥ06032
  • Semester:
  • Study Level: Undergraduate
  • Course type:
  • Teaching and exams language: Greek
  • The course is offered to Erasmus students
  • Teaching Methods (Hours/Week): Lectures (2) / Practice Exercises (1) / Laboratory Exercises (1)
  • ECTS Units: 5
  • Course homepage: https://elearning.cm.ihu.gr/course/view.php?id=139

Course Contents

The “Programming Methodology” module focuses on presenting solid programming principles and object oriented design techniques. A major part of the module is the discussion of good and bad object oriented designs and notions such as coupling and cohesion. Object oriented design patterns are also presented in this setting. The module makes a quick introduction to the Java language as well as UML, and uses them in order to present the examples discussed; the emphasis, however, is on design techniques and not programming language details.

A major part of the module is the associated term project which is developed by teams of 3 or 4 people. Students will be requested to deliver a substantial piece of software that will showcase the design principles discussed. Optional assignments are also given that students can take in order to improve their final grades.

Educational Goals

Το μάθημα στοχεύει στην:

  • Απόκτηση γνώσης αντικειμενοστραφούς σχεδίασης και της γλώσσας UML ώστε να μπορούν να σχεδιάσουν και να αποτυπώσουν ένα αντικειμενοστραφές σύστημα.
  • Απόκτηση γνώσης βασικών μοτίβων σχεδίασης ώστε να μπορούν να εφαρμόσουν ενδεδειγμένες λύσεις σε αντικειμενοστραφή προγράμματα ανεξαρτήτως της γλώσσας υλοποίησης.
  • Απόκτηση κριτικής ικανότητας ώστε να διαχωρίζουν ένα σωστά από ένα άσχημα σχεδιασμένο λογισμικό.
  • Απόκτηση γνώσης της γλώσσας Java ώστε να μπορούν να προχωρήσουν στην υλοποίηση ενός αντικειμενοστραφούς σχεδίου.

General Skills

  • Αυτόνομη εργασία.
  • Ομαδική εργασία.
  • Άσκηση κριτικής και αυτοκριτικής.

Teaching Methods

  • Διαλέξεις με χρήση διαφανειών. Στη διάρκεια των διαλέξεων δίνονται διάφορα προβλήματα στους φοιτητές, ενώ αναλύονται σε βάθος παραδείγματα που προκύπτουν κατά τη συζήτηση με τους φοιτητές.
  • Εξ αποστάσεως εκπαίδευση (χρησιμοποιώντας λογισμικό ασύγχρονης εκπαίδευσης).

Use of ICT means

  • Διαφάνειες.
  • Δοκιμασίες πολλαπλών επιλογών που βαθμολογούνται αυτόματα.
  • Πόροι Internet (papers, οδηγίες κτλ).

Teaching Organization

ActivitySemester workload
Lectures26
Practice Exercises13
Laboratory Exercises13
Writing laboratory reports and projects21
Autonomous Study52
Total125

Students Evaluation

Γραπτή εξέταση πολλαπλών επιλογών, παρουσιάσεις, γραπτές εργασίες, προφορική εξέταση. Πιο συγκεκριμένα, το θεωρητικό μέρος του μαθήματος γίνεται με γραπτές εξετάσεις πολλαπλών επιλογών. Οι σπουδαστές έχουν τη δυνατότητα να παραδώσουν και να παρουσιάσουν στην τάξη βιβλιογραφικές εργασίες και ατομικό project λογισμικού το οποίο μετράει 40% του τελικού τους βαθμού. Στο εργαστηριακό μέρος η αξιολόγηση γίνεται:

  • με βάση προφορική εξέταση στο τέλος του εξαμήνου επί της εργαστηριακής εργασίας που δίνεται (project),
  • με βάση την παρουσίαση, που επίσης γίνεται για την ίδια εργασία.

Recommended Bibliography

  1. Αλέξανδρος Χατζηγεωργίου, Αντικειμενοστρεφής σχεδίαση: UML, αρχές, πρότυπα και ευρετικοί κανόνες, Κλειδάριθμος.
  2. Martin Fowler, Kendall Scott, Εισαγωγή στη UML, Κλειδάριθμος.
  3. Craig Larman, Applying UML and Patterns, Prentice Hall PTR.
  4. Bruce Eckel, Thinking in Java, Prentice Hall.