Μαθησιακά Αποτελέσματα: Το μάθημα αποτελεί συνέχεια του αντίστοιχου μαθήματος Προγραμματισμός Ι του πρώτου εξαμήνου. Εμβαθύνει στις βασικές έννοιες του προγραμματισμού (υπολογιστής, αλγόριθμος, δεδομένα), και στις τεχνικές κατασκευής αλγορίθμων και προγραμμάτων σε γλώσσα C.
Οι τεχνικές κατασκευής αλγορίθμων για την επίλυση σύνθετων προβλημάτων.
Οι έννοιες της σειριακής και της απ’ ευθείας πρόσβασης στα δεδομένα.
Η χρήση δεικτών και η δυναμική διαχείριση της μνήμης.
Η κατανόηση των προβλημάτων που συνδέονται με την ανάπτυξη εφαρμογών λογισμικού και η ανάγκη χρήσης μεθοδολογίας για τη σχεδίαση του λογισμικού των εφαρμογών.
Γενικές Ικανότητες: Οι ικανότητες που πρέπει να αποκτήσει ο πτυχιούχος και στις οποίες αποσκοπεί το μάθημα είναι:
Αυτόνομη εργασία.
Ομαδική εργασία.
Εργασία σε διεθνές περιβάλλον.
Εργασία σε διεπιστημονικό περιβάλλον.
Περιεχόμενο Μαθήματος:
Επανάληψη βασικών εννοιών από τον Προγραμματισμό Ι.
Βασικοί αλγόριθμοι σειριακής επεξεργασίας.
Η έννοια της αναδρομής.
Αναδρομικοί αλγόριθμοι και παραδείγματα.
Διανύσματα (μονοδιάστατοι πίνακες) και ενέργειες απ’ ευθείας πρόσβασης στα δεδομένα.
Ταξινομημένα διανύσματα.
Αλγόριθμοι επεξεργασίας ενός διανύσματος.
Σειριακή αναζήτηση.
Δυαδική αναζήτηση.
Ταξινόμηση με επιλογή.
Ενημέρωση διανύσματος.
Εισαγωγή στις γραμμικές συνδεδεμένες λίστες.
Η έννοια του τύπου δείκτη.
Δημιουργία μιας γραμμικής συνδεδεμένης λίστας.
Βασικοί αλγόριθμοι στις γραμμικές συνδεδεμένες λίστες.
Διαδρομή της λίστας.
Υπολογισμός του μήκους της λίστας.
Πρόσβαση σε ένα στοιχείο της λίστας.
Εισαγωγή ενός στοιχείου στη λίστα.
Διαγραφή ενός στοιχείου της λίστας.
Για το σκέλος του μαθήματος Ανάπτυξη Εφαρμογών το περιεχόμενο είναι το ακόλουθο:
Από τον διαδικαστικό στον τμηματικό προγραμματισμό (modular programming).
Η έννοια της μονάδας λογισμικού (software module) και η χρήση της στην κατασκευή προγραμμάτων.
Καθοδική τμηματική ανάλυση και σχεδίαση λογισμικού.
Παραδείγματα υλοποίησης σε γλώσσα C.
Μελέτη μιας περίπτωσης ανάλυσης, σχεδίασης και υλοποίησης μιας εφαρμογής.
Από τις απαιτήσεις στις προδιαγραφές και τη σχεδίαση λογισμικού.
Αναφορά στη χρήση μεθόδων και εργαλείων της τεχνολογίας λογισμικού.
Εργαστήριο Μαθήματος: Εργαστηριακές ασκήσεις σε γλώσσα προγραμματισμού C για την εμπέδωση των εννοιών των αλγορίθμων μέσω της επίδειξης της λειτουργίας τους σε υπολογιστή. Υλοποίηση μιας εφαρμογής με χρήση των τεχνικών που παρουσιάζονται στη διάλεξη.