Michael Kalochristianakis

Electrical and Computer Engineer








'father of internet' joins tech leaders in condemning repeal plan

for testing purposes, property of the Museum of Medicine

λύνω

ΙΤ for Cultural Sciences

Τίτλος μαθήματος: προχωρημένα θέματα πληροφορικής για την εκπαίδευση και τον πολιτισμό

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

Περιγραφή: το μάθημα θα εισάγει τους φοιτητές στις βασικές αρχές του προγραμματισμού με έμφαση στο διαδίκτυο με τελικό σκοπό να κατανοήσουν τον τρόπο με τον οποίο η δημιουργική εργασία του προγραμματισμού υπολογιστών μπορεί να έχει ως αποτέλεσμα τη δημιουργία συστημάτων και υπηρεσιών για τον κλάδο τον οποίο σπουδάζουν. Το μάθημα αρχικά θα εξηγήσει το βασικό τρόπο με τον οποίο λειτουργούν τα συστήματα και τα δίκτυα αποσαφηνίζοντας διαδικασίες και ενέργειες που καθημερινά εκτελούν όλοι οι χρήστες και με αυτές ως εφαλτήριο θα αναπτύξει τις βασικές αρχές με τις οποίες πρέπει να αντιλαμβάνεται κανείς τα ψηφιακά συστήματα. Ως φυσική συνέχεια θα αναφερθούν οι τρόποι με τους οποίους μπορεί κανείς να αλληλεπιδρά με τα συστήματα μέσω της δημιουργικής εργασίας του προγραμματισμού. Θα γίνει εκτενής ανάλυση των προγραμματιστικών δομών του ακολουθιακού προγραμματισμού και θα αναλυθεί ο αντικειμενοστραφής τρόπος σκέψης. Στη συνέχεια θα αναλυθεί ο προγραμματισμός εξυπηρετητών όπως εξυπηρετητών διαδικτύου, βάσεων δεδομένων και μεσισμικού. Βάσει όλων των παραπάνω θα συζητηθούν οι τεχνολογικές λύσεις που συνδυάζονται για να δημιουργηθούν γνωστές υπηρεσίες και πλατφόρμες για την εκπαίδευση και τον πολιτισμό καθώς και η δημιουργία οποιασδήποτε καινούριας. Στα πλαίσια του μαθήματος θα αναλυθούν οι βασικές αρχές της πολυπλοκότητας, των δομών δεδομένων καθώς και των πνευματικών δικαιωμάτων και του ανοικτού λογισμικού.

πρόγραμμα διαλέξεων

lec 1: εισαγωγή στους υπολογιστές - ιστορία και εξέλιξη
  • δημιουργία λογικών πυλών με τρανζίστορς
  • δημιουργία 2-bit adder με τρανζίστορς
  • εργαστηριακές ασκήσεις
    • αλγεβρα Bool: λογικές συναρτήσεις
lec 2: εισαγωγή στα δίκτυα και στο internet
  • περιγραφή του τρόπου λειτουργίας των δικτύων και του διαδικτύου μέσα απο καθημερινά παραδείγματα
  • πως αναπαρίσταται δυαδικά η πληροφορία και ποιά είναι τα στάδια επεξεργασίας της μέχρι τη μετάδοση
  • πως μεταδίονται οι πληροφορίες και πως υλοποιείται η επικοινωνία (IP, GW, routers)
  • πως διεκπαιραιώνονται οι αιτήσεις προς κάποιο site και ποιός ο ρόλος των διευθύνσεων, DNS
  • βασικά πρωτόκολλα
lec 3: βασικές αρχές δικτύων
  • εργαστηριακές ασκήσεις
    • ασκήσεις: μετατροπή παλμού σε σειρά fourier με Matlab και ανακατασκευή του παλμού
lec 3: πνευματικά δικαιώματα και άδειες χρήσης, βασικό λογισμικό για κάθε τομέα
  • βασικά δικαιώματα πνευματικής ιδιοκτησίας
  • δημιουργία έργων λόγου και δικαιώματα
  • πως η εμπορική εκμετάλλευση των δικαιωμάτων επηρεάζει την εξέλιξη της πληροφορικής
  • βασικές άδειες χρήσης
  • άδειες ανοικτού λογισμικού
lec 4: high level programming
  • ακολουθιακός προγραμματισμός
  • διαγράμματα ροής και απεικόνιση λύσης/σκέψης
  • λογικές δομές απόφασης
  • προγραμματιστικά παραδείγματα
  • εισαγωγή σε γλώσσα προγραμματισμού
  • ασκήσεις
    • Ευκλείδιος αλγόριθμος υπολογισμού πρώτων αριθμών μικρότερων του Ν
    • αρχαίοι κρυπτογραφικοί αλγόριθμοι μετατόπισης χαρακτήρων: απλή μετατόπιση, διαφοροποιημένη μετατόπιση
lec 5: object oriented high level programming
  • αντικείμενα, κλάσεις και αντικειμενοστραφής απεικόνιση της πραγματικότητας
  • κληρονομικότητα και πολυμορφισμός
  • εισαγωγή στην JAVA
lec 6: html και επίπεδο παρουσίασης στο διαδίκτυο
  • βασική δομή μιας ιστοσελίδας, βασικά tags στην html
  • τι είναι ένας web server και ποιά η χρησιμότητά του
lec 7: τεχνολογίες μεσισμικού, server side programming
  • εισαγωγή στο server-side: τι εκτελείται στο τοπικό μας μηχάνημα και τι στον server
  • εφαρμογή των lec4-5 στην άλλη πλευρά της ψηφιακής ζεύξης
  • εισαγωγή σε server-side JAVA
lec 8: βασεις δεδομένων
  • βασικές αρχές: βάσεις δεδομένων, πίνακες, εγγραφές
  • σχέσεις μεταξύ πινάκων και σχεδιασμός σχήματος βάσης
  • γλώσσα επικοινωνίας με βάσεις δεδομένων (SQL)
  • εισαγωγή στη mysql
lec 9: εισαγωγή στην πολυπλοκότητα, στις δομές δεδομένων και στους αλγορίθμους
  • απλή εκτίμηση πολυπλοκότητας
  • προβληματισμός σχετικά με τον χρόνο επίλυσης συχνών, γνωστών προβλημάτων
  • βασικά προβλήματα και πως λύνονται: βασική αναζήτηση και ταξινόμιση πινάκων
  • βασικές δομές λίστας, στοίβας, ουράς
lec 10: εκπαιδευτικές τεχνολογίες
  • εκπαιδευτικές υπηρεσίες στην διάθεση του Έλληνα εκπαιδευτικού/φοιτητή
  • video on demand, ασύγχρονη τηλεκπαίδευση, σύγχρονη τηλεκπαίδευση, συνεργατικές πλατφόρμες
  • hot potatoes
  • διαδικτυακές συνεργατικές πλατφόρμες
lec 11-12: tools and tech for the digital classics community

Αναφορές
  • A brief history of computing, Gerard O'Regan, 2008, Springer
  • http://www.antikythera-mechanism.gr
  • https://web.stanford.edu/class/cs101/index.html

April, 2004