Postgraduate Section 4 1017

Από Περιγράμματα - Τμήμα Μαθηματικών
Μετάβαση σε: πλοήγηση, αναζήτηση


Γενικά

Σχολή Σχολή Θετικών Επιστημών
Τμήμα Τμήμα Μαθηματικών
Επίπεδο Σπουδών Μεταπτυχιακό
Κωδικός Μαθήματος ΠΛ8
Εξάμηνο 1
Τίτλος Μαθήματος Κατανεμημένα Υπολογιστικά Συστήματα και Εφαρμογές
Αυτοτελείς Διδακτικές Δραστηριότητες Διαλέξεις (Εβδομαδιαίες Ώρες Διδασκαλίας: 3, Πιστωτικές Μονάδες: 7.5)
Μαθήματος Μάθημα Ειδίκευσης
Προαπαιτούμενα Μαθήματα
Γλώσσα Διδασκαλίας και Εξετάσεων Ελληνική
Το Μάθημα Προσφέρεται σε Φοιτητές Erasmus Ναι (στην Αγγλική γλώσσα)
Ηλεκτρονική Σελίδα Μαθήματος (URL) Δείτε το eCourse, την Πλατφόρμα Ασύγχρονης Εκπαίδευσης του Πανεπιστημίου Ιωαννίνων.

Μαθησιακά Αποτελέσματα

Μαθησιακά Αποτελέσματα Στα πλαίσια του μαθήματος ο μεταπτυχιακός φοιτητής θα κατανοήσει τις βασικές έννοιες των ψηφιακών συστημάτων, βασικές έννοιες των συστημάτων αυτομάτου ελέγχου και της λειτουργίας ενεργοποιητών και αισθητήρων. Θα ασχοληθεί με προγραμματισμό ARM κινητών συσκευών μικροεπεξεργαστών και ATMEL AVR μικροελεγκτών σε γλώσσες προγραμματισμού υψηλού επιπέδου όπως η Python, C/C++ και η Qt για Γραφικές διεπαφές. Θα κατανοήσει έννοιες ενσύρματων, ασύρματων δικτύων-πρωτοκόλλων διασύνδεσης και μεταφοράς και θα ασχοληθεί με υλοποίηση αλγορίθμων και προγραμματισμό πρωτοκόλλων εφαρμογής πάνω σε Κατανεμημένα Υπολογιστικά Συστήματα.
Γενικές Ικανότητες
  • Αναζήτηση, ανάλυση και σύνθεση δεδομένων με χρήση τεχνολογιών πληροφορικής
  • Λήψη αποφάσεων
  • Προγραμματιστικός σχεδιασμός και υλοποίηση - Εμπέδωση
  • Αυτόνομη Εργασία

Περιεχόμενο Μαθήματος

  • Το Διαδίκτυο των αντικειμένων και ελεγκτών δεδομένων-αισθητήρων (Internet of Things) και οι επεκτάσεις του σε διάφορες πτυχές της καθημερινότητάς: Τις πόλεις (smart cities, houses), τον πρωτογενή τομέα (smart farming), τον τουρισμό (Cultural IoT-Virtual Reality driven), τον ίδιο τον άνθρωπο (smart wearable devices). Παρουσίαση βασικών εννοιών στα Ψηφιακά Συστήματα, Δυαδική Λογική, Συνδυαστική και Ακολουθιακή λογική.
  • Αριθμητικά Συστήματα και Αρχιτεκτονικές Υπολογιστών, Είσοδος-Έξοδος και Διαχείριση και προσπέλαση μνήμης. Σύνθετα πρωτόκολλα εισόδου-εξόδου μικροϋπολογιστών SPI και Ι2C, Διακοπές και χειρισμός διακοπών. Παρουσίαση των βασικών στοιχείων του μικροεπεξεργαστή ARM και του μικροελεγκτή ATMega328P και των διεπαφών τους εισόδου εξόδου και GPIO.
  • Εισαγωγή στα συστήματα αυτομάτου ελέγχου, έλεγχος ανοιχτού και κλειστού βρόχου, οι ελεγκτές P/PI/PD/PID.
  • Παρουσίαση των ενσύρματων και ασύρματων πρωτοκόλλων της IEEE 802.x, βασικές έννοιες ασύρματων δικτύων, Αρχιτεκτονική του πρωτοκόλλου TCP/IP/UDP/ICMP, Βασικές Δικτυακές υπηρεσίες εφαρμογών που εξυπηρετούν το ΙοΤ (HTTP/CoAP/MQTT/ReST/SOAP/SNMP) και την μεταφορά υπολογιστικών δεδομένων.
  • Παρουσίαση του Arduino IDE για προγραμματισμό του ΑΤΜega328P υπολογιστικού συστήματος, Παραδείγματα με χρήση εργαστηριακού εξοπλισμού. Παρουσίαση της Wi-Fi βιβλιοθήκης, Ι2C και SPI βιβλιοθήκης, προγραμματιστικός χειρισμός μετρητών, αναλογικών εισόδων (A2D) και PWM εξόδων και γεγονότων. Διασύνδεση με το Arduino καθώς και υλοποίηση πρωτοκόλλων εφαρμογής μετάδοσης δεδομένων.
  • Παρουσίαση και προγραμματισμός του GPIO interface του μικροϋπολογιστή RPi (BCM2837), PWM έξοδοι για ενεργοποιητές και γεγονότα, με χρήση Python και C++. Πρακτικές εφαρμογές με χρήση εργαστηριακού εξοπλισμού.
  • Προγραμματισμός TCP/UDP client-server υπηρεσιών σε Python και C++. Προγραμματισμός ΗΤΤP αιτήσεων για CoAP και ReST υπηρεσίες. Σχεδίαση και υλοποίηση πρωτοκόλλων εφαρμογής μετάδοσης δεδομένων και ελέγχου. FSM, κωδικοποιητές-αποκωδικοποιητές. Πρακτικές εφαρμογές πάνω στον BCM2837.
  • Διασύνδεση εισόδου-εξόδου, ελεγκτή, Διαδικτυακού πρωτοκόλλου εφαρμογής, Εξυπηρετητή εφαρμογής (Application service). Ενεργειακή αποτίμηση μικροϋπολογιστικών συστημάτων.
  • Προγραμματιστικές εφαρμογές σχεδίασης πρωτοκόλλων εφαρμογής, προγραμματισμού ελεγκτών και πελατών-εξυπηρετητών αποστολής λήψης δεδομένων.
  • Εισαγωγή στον προγραμματισμό γραφικών διεπαφών για ενσωματωμένα μικροσυστήματα και κινητές συσκευές σε C++/Qt. Παρουσίαση της Qt και του εργαλείου ανάπτυξης IDE (QtCreator).
  • Παρουσίαση των QWidgets, Μηχανισμός signal-slots και γεγονότα. Κανονικοποιημένη μορφή αντικειμενοστρέφειας.
  • Προγραμματισμός απλών UI διεπαφών που λαμβάνουν δεδομένα από κατανεμημένα μικροϋπολογιστικά συστήματα και αισθητήρες.
  • Προχωρημένος προγραμματισμός UI διεπαφών σε Qt, Προγραμματισμός Qt για ARM μικροϋπολογιστές συσκευές, Qt Containers και υλοποίηση πρωτοκόλλων εφαρμογής πάνω στη γραφική διεπαφή.

Διδακτικές και Μαθησιακές Μέθοδοι - Αξιολόγηση

Τρόπος Παράδοσης Στην τάξη
Χρήση Τεχνολογιών Πληροφορίας και Επικοινωνιών Χρήση Εργαστηρίου Μικροϋπολογιστών
Οργάνωση Διδασκαλίας
Δραστηριότητα Φόρτος Εργασίας Εξαμήνου
Διαλέξεις 39
Αυτοτελής Μελέτη 78
Επίλυση Ασκήσεων- Εργασίες 70.5
Σύνολο Μαθήματος 187.5
Αξιολόγηση Φοιτητών Εξαμηνιαία εργασία και γραπτή εξέταση.

Συνιστώμενη Βιβλιογραφία

Δείτε την υπηρεσία Εύδοξος.

Distributed Computing Systems and Applications


General

School School of Science
Academic Unit Department of Mathematics
Level of Studies Graduate
Course Code ΠΛ8
Semester 1
Course Title Distributed Computing Systems and Applications
Independent Teaching Activities Lectures (Weekly Teaching Hours: 3, Credits: 7.5)
Course Type Specialized general knowledge
Prerequisite Courses -
Language of Instruction and Examinations Greek
Is the Course Offered to Erasmus Students Yes (in English)
Course Website (URL) See eCourse, the Learning Management System maintained by the University of Ioannina.

Learning Outcomes

Learning outcomes

Within this course the graduate students will understand the basic concepts of computational systems, micro-computing systems and IoT, digital systems, basic concepts of automatic control systems and the operation of actuators and sensors. The student will extend his programming skills with distributed microcomputers programming, ARM microprocessor programming and ATMEL AVR microcontrollers, using high level programming languages such as Python, C / C ++ and Qt for the development of Graphical User Interfaces. The student will understand concepts of wired, wireless Networks-Interconnection and transport-application protocols used by grid and distributed systems and will deal with algorithms and application protocols design and implementation on Distributed computing infrastructures.

General Competences
  • Data search, analysis and synthesis using Information Technologies
  • Decision making
  • Project design and implementation
  • Working independently

Syllabus

  • Internet of Things and its extensions to different aspects of everyday life: smart cities, houses, smart farming, tourism (Cultural IoT-Virtual Reality driven), smart wearable devices. Presentation of basic concepts of digital systems, binary logic, combinational and sequential logic
  • Computer numerical systems and architectures, Input-Output, memory management and access. Advanced SPI and I2C Microcomputer Input / Output protocols, Interrupts and Interrupt handling. Presentation of the basic parts of the ARM microcomputer and ATMega328P microcontroller and their input and output-GPIO interfaces
  • Introduction to automatic control systems, open and closed loop control, P / PI / PD / PID controllers
  • Presentation of IEEE 802.x wired and wireless protocols, basic wireless networking protocols suite: TCP / IP / UDP / ICMP. Basic Application Services Serving the IoT (HTTP / CoAP / MQTT / ReST / SOAP / SNMP) and transfer computational data
  • Presentation of the Arduino IDE and C++ programming of the ATMega328P computing system, Examples using laboratory equipment. Presentation of the Wi-Fi library, I2C and SPI library, programmable cash handling, analog inputs (A2D) and PWM outputs and triggered events. Interfacing with Arduino as well as implementation of data transmission application protocols
  • Presentation and programming of the GPIO microcomputer RPi (BCM2837), PWM outputs for actuators and interrupts, using Python and C ++. Practical applications using laboratory equipment
  • Programming TCP / UDP client-server services in Python and C++. Programming HTTP requests for CoAP and ReST services. Design and implementation of data transmission and control application protocols. FSM, encoders-decoders. Practical applications on BCM2837.
  • Design and development of applications and application protocols, computational microcomputer systems programming and client-server data transfers
  • Introduction to Graphical Interface Programming for microsystems and mobile devices in C++/Qt. Presentation of Qt and IDE development tool (QtCreator)
  • Presentation of QWidgets, signals-slots mechanism and events. Normalized Object Orientation method
  • Programming simple graphical user interfaces that receive data from distributed computational systems and sensors
  • Advanced GUI programming. Programming for ARM micro devices using Qt, Qt Containers, and implementation of application protocols included in the GUI interface

Teaching and Learning Methods - Evaluation

Delivery Classroom
Use of Information and Communications Technology Use of Micro-computers Laboratory
Teaching Methods
Activity Semester Workload
Lectures 39
Working Independently 78
Exercises - Homework 70.5
Course total 187.5
Student Performance Evaluation Semester work and written examination

Attached Bibliography

See the official Eudoxus site.