Παρουσιάζονται οι κύριες κατασκευαστικές μέθοδοι, διαδικασίες και τεχνικές για την μετάβαση από τη μικροσκοπική κλίμακα του προγράμματος στη μακροσκοπική κλίμακα των συστημάτων. Ο κύριος σκοπός του μαθήματος είναι να παρουσιάσει τις μεθόδους ανάπτυξης μεγάλων συστημάτων ως σύνθεση πολλών ανεξαρτήτων τμημάτων, μέσα από καλά ελεγχόμενες διαδικασίες ανάπτυξης, επιτρέποντας επαναχρησιμοποίηση, ελαχιστοποίηση λαθών, καθώς και ευέλικτη επέκταση και τροποποίηση. Το μάθημα περιλαμβάνει τις εξής ενότητες: Διαδικασία και μοντέλα παραγωγής λογισμικού. Προσδιορισμός, καταγραφή και ανάλυση απαιτήσεων. Μετρικές λογισμικού και εκτίμηση κόστους. Μοντέλο ωριμότητας ικανότητας. Αρχιτεκτονική σχεδίαση, θεμελιώδεις οικογένειες αρχιτεκτονικών, σχέση αρχιτεκτονικής και πηγαίου κώδικα. Σχεδίαση λογισμικού, προοπτικές σχεδίασης (δεδομένα, λειτουργίες, οργάνωση, συμπεριφορά). Δομημένος προγραμματισμός. Στοιχεία οντοκεντρικού προγραμματισμού. Βασικά συστατικά στοιχεία οντοκεντρικού προγραμματισμού, προσφερόμενες δομές στη C++, κληρονομικότητα και πολυμορφισμός (έννοια, εφαρμογή, διαχείριση μνήμης και υλοποίηση από τον μεταγλωττιστή), αφηρημένες κλάσεις. Διαδικασία ελέγχου συστήματος. Αξιοπιστία λογισμικού, πιστοποίηση ποιότητας, ISO πρότυπα ποιότητας, καταγραφή λαθών, design by contract, κατηγορίες λαθών, αυτόματος εντοπισμός και αυτοέλεγχος πηγαίου κώδικα (self checking code). Εύστροφες διαδικασίες ανάπτυξης, εντροπία λογισμικού, δημιουργική αναδιάρθρωση (re-factoring), εισαγωγή στην φιλοσοφία του «ακραίου» προγραμματισμού (extreme programming), προγραμματισμός με εντατικούς ελέγχους και δοκιμές (test-first programming). Εισαγωγή στα καλούπια κώδικα και τα σχεδιαστικά πρότυπα. Δημιουργία, τεκμηρίωση και χρήση προτύπων, ανάλυση συγκεκριμένων σχεδιαστικών προτύπων, εισαγωγή στη χρήση templates της γλώσσας C++.
Τα μαθήματα του Τμήματος Επιστήμης Υπολογιστών κωδικοποιούνται με τα γράμματα "ΗΥ" και με τρία ψηφία. Το πρώτο ψηφίο δηλώνει το έτος κατά το οποίο συνήθως παρακολουθείται το μάθημα, το δε δεύτερο την επιστημονική περιοχή του μαθήματος:
Πρώτο Ψηφίο
Κανονικό Έτος Παρακολούθησης
1,2,3,4
Πρώτο, Δεύτερο, Τρίτο, Τέταρτο
5,6
Μεταπτυχιακά μαθήματα
7,8,9
Ειδικά θέματα
Δεύτερο Ψηφίο
Επιστημονική Περιοχή
0
Εισαγωγικά - Γενικά
1
Υπόβαθρο (Μαθηματικά, Φυσική)
2
Υλικό και Συστήματα Υπολογιστών
3
Τηλεπικοινωνίες και Δίκτυα
4,5
Συστήματα Λογισμικού και Εφαρμογές
6
Πληροφοριακά Συστήματα
7
Υπολογιστική Όραση και Ρομποτική
8
Αλγοριθμική και Θεωρία Υπολογισμού
9
Ειδικές Εργασίες
Ακολουθούν συνοπτικοί κατάλογοι κατά κατηγορίες των μαθημάτων του προγράμματος βασικών σπουδών του Τμήματος Επιστήμης Υπολογιστών του Πανεπιστημίου Κρήτης. Μαθήματα των οποίων οι κωδικοί αρχίζουν με "ΜΕΜ" ή "ΦΥΣ" διδάσκονται από το Τμήμα Μαθηματικών Εφαρμοσμένων Μαθηματικών ή το Φυσικό αντιστοίχως και αναφέρονται με τους οικείους κωδικούς. Τα προαπαιτούμενα που αναφέρονται μέσα σε παρενθέσεις συνιστώνται έντονα, αλλά δεν είναι υποχρεωτικά.