Skip to content

Latest commit

 

History

History
164 lines (122 loc) · 9.92 KB

PartD-Lessons-AUEB.asciidoc

File metadata and controls

164 lines (122 loc) · 9.92 KB
  • Α' Εξάμηνο

    • Μαθήματα κορμού πληροφορικής

      • Εισαγωγή στην Επιστήμη των Υπολογιστών

      • Εισαγωγή στον Προγραμματισμό Υπολογιστών

    • Μαθήματα κορμού μαθηματικών

      • Διακριτά Μαθηματικά

      • Μαθηματικός Λογισμός

    • Μαθήματα οικονομικών

      • Εισαγωγή στην Οικονομική Επιστήμη

  • Β' Εξάμηνο:

    • Μαθήματα κορμού πληροφορικής

      • Προγραμματισμός Υπολογιστών με JAVA

      • Σχεδίαση Ψηφιακών Συστημάτων

    • Μαθήματα κορμού μαθηματικών

      • Γραμμική Άλγεβρα και Εφαρμογές

      • Υπολογιστικά Μαθηματικά

    • Μαθήματα οικονομικών

      • Λογιστική

  • Γ' Εξάμηνο:

    • Μαθήματα κορμού πληροφορικής

      • Δομές Δεδομένων

      • Οργάνωση Συστημάτων Υπολογιστών

      • Προγραμματισμός Υπολογιστών με C++

    • Μαθήματα κορμού μαθηματικών

      • Πιθανότητες

  • Δ' Εξάμηνο:

    • Μαθήματα κορμού πληροφορικής

      • Αλγόριθμοι

      • Αυτόματα και Πολυπλοκότητα

      • Βάσεις Δεδομένων

      • Λειτουργικά Συστήματα

Αναλυτικά

Σημείωση: Δείτε τη τελευταία γραμμή κάθε παραγράφου για τις τεχνολογίες που χρησιμοποιούνται.

Α' Εξάμηνο

Εισαγωγή στην Επιστήμη των Υπολογιστών

  • Συνοπτική περιγραφή στα θέματα που ενδιαφέρουν την Επιστήμη των Υπολογιστών.

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

  • Εισαγωγή στην HTML

Για την εισαγωγή στις έννοιες του προγραμματισμού σε συμβολική γλώσσα μπορείτε να χρησιμοποιήσετε το Lia και το BMach.

Εισαγωγή στον Προγραμματισμό Υπολογιστών

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

  • Εισαγωγή στην Java

Β' Εξάμηνο

Προγραμματισμός Υπολογιστών με Java

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

  • Αποτελεί τη συνέχεια του μαθήματος Εισαγωγή στον Προγραμματισμό Υπολογιστών.

  • Το μάθημα περιλαμβάνει προγραμματισμό σε Java και εκμάθηση του Netbeans

Σχεδίαση Ψηφιακών Συστημάτων

  • Αρχές δυαδικής αριθμητικής. Άλγεβρα Boole και λογικές πύλες. Μέθοδοι απλοποίησης συναρτήσεων και κυκλωμάτων με πίνακες Karnaugh.

  • Σχεδίαση συνδυαστικών κυκλωμάτων. Δισταθή παλμοκυκλώματα (flip flops). Σχεδίαση σύγχρονων ακολουθιακών κυκλωμάτων.

  • Υλοποίηση μονάδων ελέγχου μικροεπεξεργαστών (ALUs).

Χρησιμοποιείται το πακέτο CAD Quartus II της Altera χρησιμοποιώντας την γλώσσα VHDL.

Υπολογιστικά Μαθηματικά

  • Αριθμοί και συστήματα κινητής υποδιαστολής, σφάλματα και μετάδοση σφαλμάτων στους υπολογισμούς.

  • Αριθμητική επίλυση εξισώσεων. Τύποι αριθμητικής παραγώγισης. Σφάλματα αποκοπής. Αριθμητική ολοκλήρωση. Αριθμητική επίλυση γραμμικών συστημάτων.

  • Νόρμες και δείκτης κατάστασης πίνακα. Ευστάθεια και τάξη μεθόδων.

Στα εργαστήρια διδάσκεται προγραμματισμός σε Fortran και SciLab.

Γ' Εξάμηνο

Δομές Δεδομένων

  • Παρουσιάζονται οι βασικές δομές δεδομένων και η χρήση τους στην ανάπτυξη προγραμμάτων.

  • Εξοικείωση με την έννοια της δόμησης δεδομένων και το ρόλο των δομών δεδομένων στην υλοποίηση αλγορίθμων.

Για την υλοποίηση των δομών δεδομένων χρησιμοποιείται η γλώσσα προγραμματισμού Java.

Οργάνωση Συστημάτων Υπολογιστών

  • Δομή και λειτουργία του υλισμικού υπολογιστών. Οργάνωση και δομή κύριας μνήμης, αποθήκευση και παράσταση δεδομένων.

  • Αριθμητική υπολογιστών. Σωλήνωση και παράλληλοι υπολογιστές.

  • Λειτουργία και έλεγχος των περιφερειακών συσκευών. Μαγνητικές και οπτικές συσκευές. Δευτερεύουσα μνήμη και ιεραρχία μνήμης. Παγίδες, διακοπές και συστήματα ελέγχου εισόδου/εξόδου.

  • Προγραμματισμός σε επίπεδο γλώσσας μηχανής και συμβολικής γλώσσας.

Χρησιμοποιείται η γλώσσα υπολογιστών MIPS32 και ο εξομοιωτής SPIM.

Προγραμματισμός Υπολογιστών με C++

  • Εισαγωγή στο προγραμματισμό με C++. Διαδικαστικός προγραμματισμός, αντικειμενοστραφής προγραμματισμός. Λέξεις κλειδιά της γλώσσας. Δείκτες και θέσεις μνήμης.

  • Τάξεις, κατασκευαστές, καταστροφείς. Pass by value, pass by reference. Ελευθέρωση μνήμης.

Το περιβάλλον εργασίας είναι το BloodShed DevC++.

Δ' Εξάμηνο

Αλγόριθμοι

  • Bασικές αρχές αλγορίθμων. Διαίρει και βασίλευε. Αναδρομή. Ταξινόμηση. Γράφοι και γραφήματα.

  • Αποστάσεις, αναζήτηση σε βάθος ή πλάτος. Συντομότερες διαδρομές. Δυναμικός προγραμματισμός.

  • Βάρη ακμών. Γραμμικός προγραμματισμός. NP-πληρότητα. Εφαρμογές παράστασης γράφων σε Java.

Αυτόματα και Πολυπλοκότητα

  • Πεπερασμένα αυτόματα, Αυτόματα στοίβας, Μηχανές Turing, Επιλύσιμα προβλήματα,

  • Μη επιλύσιμα προβλήματα (κλάσεις P, NP, NP-complete προβλήματα).

Βάσεις Δεδομένων

  • Διαγράμματα Οντοτήτων-Συσχετίσεων. Αρχές Σχεδιασμού. Σχεσιακά Μοντέλα. Εισαγωγή στην MS-SQL και MS-SQL-Server. Σχεσιακή Aλγεβρα.

  • Ανάπτυξη εφαρμογών Ιστού οδηγούμενων από Βάσεις Δεδομένων.

  • Constraints και Triggers. Transactions. Indexing. Τεχνικές εξουσιοδότησης. Μη σχεσιακές γλώσσες επερωτήσεων.

Χρησιμοποιείται: MS-SQL 2008, MS-SQL-Server 2008, xPath, xQuery.

Λειτουργικά Συστήματα

  • Επικοινωνία Διεργασιών (IPC, pipes). Παραλληλία (Concurency). Αμοιβαίος αποκλεισμός, σηματοφορείς, race conditions, συγχρονισμός διεργασιών. Deadlocks, detection and recovery.

  • Οργάνωση πυρήνα. Μονολιθικά και Αποκεντρωτικά συστήματα. Χρονοπρογραμματισμός CPU. Διακοπές και παγίδες.

  • Επικοινωνία με περιφεριακές συσκευές, τερματικά, εκτυπωτές, μνήμη, σκληροί δίσκοι (IO Management).

  • Διαχείρηση μνήμης, σελιδοποίηση, τεμαχισμός, πολιτικές. Εφαρμογές σε UNIX συστήματα. Βασικά προγράμματα και εντολές.

Εισαγωγή σε shell-scripting. Εισαγωγή στη C.