Περιγραφή και ανάλυση της διαδικασίας παραγωγής λογισμικού. Λογισμικό Ανοικτού Κώδικα. Μοντελοποίηση διεργασιών και μοντέλα κύκλου ζωής λογισμικού. Εξαγωγήκαι Συγγραφή Απαιτήσεων. Ανάλυση και Σχεδίαση συστήματος. Συγγραφήπρογραμμάτων. Δοκιμή προγραμμάτων. Ευέλικτες Μέθοδοι, Μέθοδος Scrum, Ακραίος Προγραμματισμός. Ευχρηστία λογισμικού. Παραδείγματα ανάπτυξης πληροφοριακών συστημάτων. Εργασία (project) με συμμετοχή σε έργαλογισμικού ανοικτού κώδικα.Συγγράμματα: (1) Τεχνολογία Λογισμικού, Θεωρία και Πράξη (S.L. Pfleeger) (2) Βασικές Αρχές Τεχνολογίας Λογισμικού, Ian Sommerville, (3) Τεχνολογία Λογισμικού, Γιακουμάκης, Διαμαντίδης. Εξεταστέα Ύλη: Διαφάνειες μαθήματος,Παράλληλα κείμενα για Ανοικτό Κώδικα, Ακραίο Προγραμματισμό, Κεφ.1,2,4,5,6,7 από το βιβλίο της Pfleeger. Βαθμός: 60% γραπτό, 40% εργασία Συνεργάτες: Β. Κολοφωτιάς, Επικοινωνία: Ι.Σταμέλος, stamelos@csd.auth.gr, 2310-991910, γραφείο Εθν. Αντιστάσεως 16 (περιοχή Βυζάντιο/Καλαμαριά)

Στόχος του μαθήματος είναι να εισάγει τους φοιτητές στην επιστημονική περιοχή της Μηχανικής Μάθησης, δίνοντας έμφαση σε αντικείμενα της που δεν έχουν καλυφθεί σε άλλα μαθήματα του τμήματος, όπως Γραμμικά Μοντέλα, Δενδρικά Μοντέλα, Μοντέλα Κανόνων, Αξιολόγηση Μοντέλων, Σύνολα Μοντέλων και Ενισχυτική Μάθηση. 

Εξέλιξη των επεξεργαστών της εταιρίας Intel. (Mικρο-)αρχιτεκτονική του επεξεργαστή 8085/8086. Δομή διαύλων, μνημών και διασύνδεση. Εντολές Assembly, κύκλοι μηχανής και διαγράμματα χρονισμού. Μοντέλο Προγραμματισμού. Γλώσσα Assembly (δήλωση μεταβλητών, εντολές μεταφοράς και αναφοράς στην μνήμη, αριθμητικές/λογικές εντολές, εντολές κινητής υποδιαστολής, εντολές ελέγχου, διαχείριση στοίβας και κάλεσμα υπορουτινών). Οι συμβολομετάφραστές MASM και NASM (directives, segments, macros). Δομημένος τρόπος προγραμματισμού και τρόποι διαχείρισης συμβολοσειρών, πινάκων και δεικτών σε επίπεδο assembly. Λειτουργία και προγραμματισμός DMA. Συστήματα και μηχανισμοί διακοπών (interrupts, exceptions). Διεπαφή με το λειτουργικό σύστημα (διαχείρηση αρχείων, Ι/Ο) σε DOS και Linux. Εισαγωγή στον 80386, 80486 και Pentium (x86). Πραγματικός (real-mode) και προστατευμένος (protected-mode) τρόπος λειτουργίας και αναφορών στην μνήμη (flat memory model). Κάλεσμα υπορουτινών σε 80386 (call, ret, stack frames). Εντολές και καταχωρητές τύπου SIMD (Single Instruction Multiple Data) και παραδείγματα με χρήση εντολών ΜΜΧ και SSE. Επιτάχυνση εφαρμογών με χρήση εντολών SIMD και AVX. Εισαγωγή στους ενσωματωμένους μικροεπεξεργαστές και μικροελεκτές. Αναφορά στην αρχιτεκτονική RISC με μελέτη των επεξεργαστών της εταιρίας ARM. Το μάθημα συνοδεύεται από επιλεγμένες εργασίες στις οποίες γίνεται υλοποίηση συγκεκριμένων εφαρμογών σε γλώσσα Assembly x86 καθώς και στην διασύνδενση των γλωσσών προγραμματισμού C-assembly.

Αρχές λειτουργίας διατάξεων ημιαγωγών και θεωρία λειτουργίας τρανζίστορ επαφής πεδίου (MOFSET). Αρχές μικροηλεκτρονικής τεχνολογίας διατάξεων και συστημάτων VLSI με τεχνολογία CMOS, φυσική σχεδίαση ολοκληρωμένων κυκλωμάτων CMOS VLSI. Σχεδίαση με το SPICE.
Βασικά κυκλώματα: Διατάξεις CMOS, χαρακτηριστικά αντιστροφέα CMOS. Βασικές πύλες και κυκλώματα λογικής επεξεργασίας: Σχεδίαση, και τεχνολογία σε επίπεδο τρανζίστορ, επιδόσεις. Στοιχεία μνημών (ROM, DRAM, SRAM).

Απόδοση υφής. Δημιουργία συναρτησιακής υφής. Απεικόνιση ανάγλυφου και περιβαλλοντικών ανακλάσεων. Τεχνικές σύνθεσης και ανάμειξης (compositing & blending). Ιεραρχική μοντελοποίηση αρθρωτών αντικειμένων και σκηνής. Βασικές έννοιες κινούμενων γραφικών. Μοντελοποίηση με παραμετρικές καμπύλες και επιφάνειες (παρεμβολής, Hermite, Bezier, B-splines, NURBS). Υποδιαίρεση επιφανειών. Συναρτησιακές μέθοδοι στη μοντελοποίηση και την σχεδιοκίνηση. Απεικόνιση επιφανειών και ογκομετρικών δεδομένων. Προχωρημένες τεχνικές απεικόνισης: ray tracing και radiosity. Εφαρμογές σε περιβάλλον MAYA και OpenGL.

Βασικές αρχές μοντελοποίησης και προσομοίωσης. Συστήματα, μοντέλα και προσομοίωση. Είδη προσομοίωσης. Προσομοίωση διακεκριμένων γεγονότων. Μοντελοποίηση συστήματος ουρών. Μοντελοποίηση σύνθετων συστημάτων. Λογισμικό προσομοίωσης. Η γλώσσα GPSS/H. Κατασκευή αξιόπιστων μοντέλων προσομοίωσης. Επιλογή κατανομών εισόδου. Δημιουργία τυχαίων αριθμών και τυχαίων variates. Ανάλυση των αποτελεσμάτων της προσομοίωσης

Οι φοιτητές Πληροφορικής έχουν την ευκαιρία, ανεξάρτητα από τη Μουσική Παιδεία που φέρουν, να ενημερωθούν, καταρτιστούν, και εν τέλει να γίνουν ειδικοί στον τάχιστα αναπτυσσόμενο διεπιστημονικό κλάδο της Μουσικής Πληροφορικής. Η Μουσική Πληροφορική είναι ο κοινός τόπος πολλών επιστημονικών κλάδων, όπως η Ψυχοακουστική και η Φυσιολογία από το χώρο της Ιατρικής, η Νομική Πληροφορική, η Ηλεκτρακουστική, τα Πολυμέσα, η Θεωρία Πληροφοριών, τα Μαθηματικά. Προεξάρχοντες συνιστώσες είναι η Πληροφορική και η Μουσική Τέχνη. Σε πολλές περιπτώσεις δε, αποτελεί και αιχμή του δόρατος για τομείς όπως αυτόν της Επικοινωνίας Ανθρώπου-Υπολογιστή, της Ηλεκτρονικής Βιομηχανίας Πληροφόρησης, και της Διαδικτυακής Τεχνολογίας. Computer Science students have the opportunity, notwithstanding the Musical Education they bear, to become knowledgeable, thoroughly educated, and ultimately, skillful in the rapidly evolving sector of Musical Information technology. Computer Music is the melting point of many scientific fields, as is Psychoacoustics and Physiology from the space of Medicine, Computer Law, Electracoustic Technology, Multimedia, Information Theory , and Mathematics. In many cases, Computer Music is the spearhead of evolving agendas for Human Computer Interaction, for the electronic Mass Media industry, and of course, for Internet technology. 

Εισαγωγή στα τεχνητά νευρωνικά δίκτυα (ΤΝΔ). Διαδικασίες και πρότυπα εκμάθησης. Εφαρμογές ΤΝΔ. Κανόνες παράστασης γνώσης στα ΤΝΔ. Εκπαίδευση δικτύου Perceptron. Εκπαίδευση ADALINE. Πολυστρωματικά perceptrons (MLPs) και ο αλγόριθμος εκπαίδευσης back-propagation. Βαθιά Νευρωνικά Δίκτυα (Deep learning). Μηχανές διανυσμάτων υποστήριξης (Support vector machines). Δίκτυα ακτινικών συναρτήσεων βάσης (RBFs). Χεμπιανά μοντέλα μάθησης. Γραμμικά Χεμπιανά μοντέλα. Νευρωνικά δίκτυα ανάλυσης κυρίων συνιστωσών (PCA-NN). Μη-γραμμικά Χεμπιανά μοντέλα. Νευρωνικά δίκτυα ανάλυσης ανεξάρτητων συνιστωσών (ICA-NN). Θεωρία μάθησης και γενίκευσης. Εφαρμογές των νευρωνικών δικτύων στην αναγνώριση προτύπων, προσέγγιση συναρτήσεων, συμπίεση εικόνας, διαχωρισμό σημάτων. 

Εισαγωγή στα τεχνητά νευρωνικά δίκτυα (ΤΝΔ). Διαδικασίες και πρότυπα εκμάθησης. Εφαρμογές ΤΝΔ. Κανόνες παράστασης γνώσης στα ΤΝΔ. Εκπαίδευση δικτύου Perceptron. Εκπαίδευση ADALINE. Πολυστρωματικά perceptrons (MLPs) και ο αλγόριθμος εκπαίδευσης back-propagation. Μηχανές διανυσμάτων υποστήριξης (Support vector machines). Δίκτυα ακτινικών συναρτήσεων βάσης (RBFs). Χεμπιανά μοντέλα μάθησης. Γραμμικά Χεμπιανά μοντέλα. Νευρωνικά δίκτυα ανάλυσης κυρίων συνιστωσών (PCA-NN). Μη-γραμμικά Χεμπιανά μοντέλα. Νευρωνικά δίκτυα ανάλυσης ανεξάρτητων συνιστωσών (ICA-NN). Θεωρία μάθησης και γενίκευσης. Εφαρμογές των νευρωνικών δικτύων στην αναγνώριση προτύπων, προσέγγιση συναρτήσεων, συμπίεση εικόνας, διαχωρισμό σημάτων.

Θεωρία: Τύποι οπτικών δικτύων μεταγωγής, ανάγκες και προδιαγραφές αυτών. Χαρακτηρισμός οπτικής ζεύξης και ποιότητας σήματος, Bit Error Rate, διάγραμμα ματιού. Μη γραμμικά φαινόμενα σε οπτικές ζεύξεις, αυτοδιαμόρφωση φάσης και ετεροδιαμόρφωση φάσης σε οπτικές ίνες. Οπτικά συμβολομετρικά φίλτρα, οπτική διαμόρφωση με χρήση θερμο-οπτικού και ηλεκτρο-οπτικού φαινομένου. Αρχιτεκτονικές και τεχνολογίες πινάκων μεταγωγής, χαρακτηριστικά 2x2 μεταγωγικών στοιχείων, αρχιτεκτονική Benes, Clos, Butterfly, Spanke. Blocking και Non-Blocking μεταγωγείς, συστήματα δρομολογητών. Οπτικά 2x2 μεταγωγικά στοιχεία. Είδη οπτικής μεταγωγής, πλεονεκτήματα και εφαρμογές αυτών. Τύποι και τεχνολογία οπτικών μεταγωγικών διατάξεων, βασικές αρχές λειτουργίας τους. Οπτική μεταγωγή κυκλώματος: αρχιτεκτονικές και δομικά στοιχεία δρομολόγησης μήκους κύματος. Οπτική μεταγωγή πακέτων: κατηγορίες δικτύων μεταγωγής πακέτων, τεχνικές διευθυνσιοδότησης, αρχιτεκτονικές και τεχνολογία οπτικών κόμβων, οπτική μεταγωγή ετικέτας. Συστήματα συγχρονισμού, επεξεργασίας επικεφαλίδας, δρομολόγησης και αναγέννησης σε έναν οπτικό κόμβο.

Εργαστήριο (15 ώρες στις εξής ενότητες): 1) πειραματικό εργαστήριο χαρακτηρισμού οπτικών ζεύξεων, 2) εργαστήριο προσομοίωσης σε περιβάλλον SIMULINK για οπτικές ζεύξεις που περιλαμβάνουν απώλειες+διασπορά+μη γραμμικά φαινόμενα, 3) πειραματικό εργαστήριο σε οπτικούς διαμορφωτές και σε διαμόρφωση οπτικών σημάτων, 4) πειραματικό εργαστήριο σε 2x2 οπτικούς μεταγωγείς.

Εισαγωγή στην παράλληλη και κατανεμημένη επεξεργασία. Γενική περιγραφή συστημάτων παράλληλης και κατανεμημένης επεξεργασίας. Συστήματα διαμοιραζόμενης και κατανεμημένης μνήμης. Επιτάχυνση, αποδοτικότητα, κλιμάκωση. Επεξεργασία σε υπολογιστές μητρώου, αγωγού, πολυεπεξεργασίας, ροής δεδομένων, αναγωγής κλπ. Πολυεπεξεργασία σε συστήματα transputers. Επεξεργασία σε ομάδες επεξεργαστών (Cluster Computing) και σε πλέγματα επεξεργαστών (Grid Computing). Επεξεργασία σε συστήματα μεγάλης κλίμακας (Large Scale Systems). Επεξεργασία σε συστήματα πραγματικού χρόνου. Αλγόριθμοι κατανομής εργασιών σε παράλληλα και κατανεμημένα συστήματα. Λογισμικό για παράλληλη και κατανεμημένη επεξεργασία. Εφαρμογές παράλληλης και κατανεμημένης επεξεργασίας.

Το μάθημα αποτελεί εισαγωγή στη θεωρία πιθανοτήτων και τη στατιστική. Ο φοιτητής διδάσκεται διακριτές πιθανότητες με χρήση συνδυαστικής ανάλυσης, κατανομές τυχαίων μεταβλητών, εκτιμήσεις σε σημείο και διάστημα, ελέγχους υποθέσεων και ανάλυση συσχετίσεων.

Κατανόηση των θεμελιωδών αρχών των Πληροφοριακών Συστημάτων του Παγκόσμιου Ιστού, αναγνώριση βασικών θεμάτων που σχετίζονται με τη διαχείριση πληροφοριών του Παγκόσμιου Ιστού, την υλοποίηση εφαρμογών του Παγκόσμιου Ιστού και την πρόσβαση στα δεδομένα του Παγκόσμιου Ιστού μέσω διεπαφών. Εκπαίδευση στο σχεδιασμό και την ανάπτυξη εφαρμογών επικεντρωμένων στον Παγκόσμιο Ιστό.

Το Τμήμα Πληροφορικής συμμετέχει στο πρόγραμμα της Πρακτικής Άσκησης Φοιτητών Α.Π.Θ. με υπεύθυνο καθηγητή τον κ. Αν. Γούναρη σε συνεργασία με επιτροπή από μέλη ΔΕΠ κάθε κατεύθυνσης (Δ. Βράκας, Π. Νικοπολιτίδης, Σ. Δημητριάδης, Ν. Νικολαϊδης). Το μάθημα επιλογής λέγεται Πρακτική Άσκηση, έχει 5 ECTS, και προσφέρεται στο 7ο και εναλλακτικά στο 8ο εξάμηνο. Οι περίοδοι πρακτικής άσκησης θα είναι α.Μάρτιος-Μάιος και β. Ιούλιος-Σεπτέμβριος. Οι μήνες εκπόνησης της πρακτικής είβαι τρεις με μερική απασχόληση.

διαδικασια.pdfδιαδικασια.pdf

Το μάθημα «Πρακτική Άσκηση για την Παιδαγωγική και Διδακτική Επάρκεια» προσφέρεται ως «Γενική Επιλογή» στα εξάμηνα 7ο και 8ο με 5 ECTS (δεν καθορίζονται ώρες διδασκαλίας λόγω της φύσης του μαθήματος). Οι φοιτητές που ενδιαφέρονται για τη λήψη της Βεβαίωσης Παιδαγωγικής/Διδακτικής Επάρκειας και ενδιαφέρονται να κάνουν Πρακτική Άσκηση σε Σχολική Μονάδα (όχι χρηματοδοτούμενη μέσω προγράμματος ΕΣΠΑ) το επιλέγουν άπαξ σε όποιο εξάμηνο θέλουν από το 7ο και μετά. Σύμφωνα με την απόφαση της ΓΣ του Τμήματος οι φοιτητές υποχρεούνται σε συνολικά 150 ώρες πρακτικής άσκησης στη σχολική μονάδα κατανεμημένες σε 3 μήνες. Μετά την επιτυχή ολοκλήρωση της ΠΑ οι φοιτητές πιστώνονται 5 ECTS. Διδάσκων: δεν υπάρχει διδάσκων με την κλασική έννοια του όρου αφού δεν υπάρχουν ώρες διδασκαλίας. Υπεύθυνος επόπτης του μαθήματος ορίζεται ο Αν. Καθηγητής Στ. Δημητριάδης. Οι ασκούμενοι φοιτητές μπορούν να εποπτεύονται και από άλλα Μέλη ΔΕΠ της κατεύθυνσης «Τεχνολογίες Μάθησης». Γραμματειακή υποστήριξη θα προσφέρεται από την Γραμματεία που υποστηρίζει και το μάθημα «Πρακτική Άσκηση».

Οι φοιτητές αναμένεται ότι στα πλαίσια του μαθήματος θα

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