Αρχές Προγραμματισμού Υπολογιστών
Από τις σημειώσεις του μαθήματος «Αρχές Προγραμματισμού Υπολογιστών» των: Α. Αράπογλου, Ε. Βραχνού, Ε. Κανίδη, Π. Μακρυγιάννη, Β. Μπελεσιώτη και Δ. Τζήμα. Διδακτέα ύλη: Όλα τα Κεφάλαια και οι παράγραφοί τους, εκτός του κεφαλαίου 7 και των παραγράφων 8.3 και 8.4 στο σύνολό τους.
Περιεχόμενα
Ενότητα 1
Από το πρόβλημα στην ανάπτυξη αλγορίθμου
Σελίδα 12
Βασική ορολογία: Πρόβλημα, ανάλυση προβλήματος, αφαίρεση, επίλυση προβλήματος, αλγόριθμος, αναπαράσταση αλγορίθμου.
Εισαγωγή: Στην ενότητα αυτή προσεγγίζονται θέματα για τη δομή ενός προβλήμα- τος και της πολυπλοκότητάς του, για τη διαδικασία της αφαίρεσης κατά την απλοποί- ηση ενός προβλήματος, για την ανάλυση ενός προβλήματος σε απλούστερα υποπρο- βλήματα και τέλος την περιγραφή της λύσης του με αλγοριθμικό τρόπο εκφρασμένη με ψευδοκώδικα ή διάγραμμα ροής.
Ενότητα 2
Από τον αλγόριθμο στην ανάπτυξη προγράμματος
Σελίδα 25
Βασική ορολογία: Κύκλος ανάπτυξης προγράμματος, μοντέλα ανάπτυξης λογισμικού, προγραμματιστικά υποδείγματα, πρότυπα και τεχνικές προγραμματισμού, γλώσσες προγραμματισμού.
Εισαγωγή: Θα περιγράψουμε την πορεία από τον αλγόριθμο στο πρόγραμμα και κατόπιν θα γίνει επεξήγηση της λογική συγγραφής προγραμμάτων ανά είδος προγραμματισμού (Διαδικαστικός, Αντικειμενοστρεφής και Συναρτησιακός προγραμματισμός).
Ενότητα 3
Βασικά στοιχεία γλώσσας προγραμματισμού
Σελίδα 36
Βασική ορολογία: Προγραμματιστικό Περιβάλλον γλώσσας προγραμματισμού, βασικές λογικές και αριθμητικές πράξεις, τελεστές, τύποι δεδομένων, μεταβλητή, βασικές εντολές, έτοιμες συναρτήσεις, συγγραφή και επεξεργασία κώδικα, διερμηνευτής, έλεγχος προγράμματος.
Εισαγωγή: Στο κεφάλαιο αυτό θα έχουμε την ευκαιρία να γνωρίσουμε και να εξοικειωθούμε με τα βασικά χαρακτηριστικά της γλώσσας προγραμματισμού Python. Μιας σύγχρονης γλώσσας προγραμματισμού, που χρησιμοποιείται για την ανάπτυξη πολλών προγραμ- μάτων, όπως απλά προγράμματα, εκπαιδευτικά παιχνίδια, σύνθετες εμπορικές εφαρ- μογές, πλατφόρμες κοινωνικής δικτύωσης.
Ενότητα 4
Αλγοριθμικές δομές
Σελίδα 56
Βασική ορολογία: Αλγοριθμικές δομές, ακολουθία, δομή επιλογής, δομή επανάληψης, συναρτήσεις.
Εισαγωγή:Στο κεφάλαιο αυτό θα έχουμε την ευκαιρία να εξοικειωθούμε με τις αλγοριθμικές δομές και να υλοποιήσουμε πιο σύνθετα προγράμματα χρησιμοποιώντας τις αντίστοι- χες δομές στη γλώσσα προγραμματισμού Python. Ένα πρόγραμμα λαμβάνει δεδομένα ως είσοδο, τα επεξεργάζεται σύμφωνα με τις εντολές που περιέχει και στη συνέχεια επιστρέφει τα αποτελέσματα.
Ενότητα 5
Δομές Δεδομένων Ι
Σελίδα 77
Βασική ορολογία: δομή δεδομένων, λίστες, πλειάδες, σύνολα, λεξικά, συμβολοσειρές.
Εισαγωγή: Μια δομή δεδομένων είναι ένα σχήμα οργάνωσης των δεδομένων τα οποία χρησιμοποιεί το πρόγραμμά μας, με την επιλογή της κατάλληλης δομής δεδομένων να παίζει σημαντικό ρόλο στην ανάπτυξη του αλγορίθμου για την επίλυση ενός προβλήματος. Οι βασικές δομές δεδομένων της Python που θα εξετάσουμε στο κεφάλαιο αυτό είναι οι λίστες, οι πλειάδες, τα σύνολα και τα λεξικά. Επίσης οι συμβολοσειρές θα μπορούσαν να χαρακτηριστούν σαν μια ειδική δομή δεδομένων, αν και όπως είδαμε θεωρείται περισσότερο σαν ένας από τους τύπους δεδομένων της Python.
Ενότητα 6
Κλασικοί Αλγόριθμοι Ι
Σελίδα 98
Βασική ορολογία: αλγόριθμος, σειριακή αναζήτηση, ταξινόμηση.
Εισαγωγή: Ένας αλγόριθμος είναι μια ακολουθία πλήρως καθορισμένων και εκτελέσιμων βημάτων-εντολών που οδηγεί στην επίλυση ενός προβλήματος, σε πεπερασμένο χρόνο. Στην ενότητα αυτή θα ασχοληθούμε με κάποιους γνωστούς και απλούς αλγορίθμους, όπως ο αλγόριθμος του μέγιστου κοινού διαιρέτη του Ευκλείδη, ο αλγόριθμος της σειριακής αναζήτησης και ο αλγόριθμος της ταξινόμησης με επιλογή.
Ενότητα 8
Εφαρμογές σε γλώσσα προγραμματισμού με χρήση API
Σελίδα 119
Βασική ορολογία: χρησιμοποιούμε περιβάλλοντα, Application Program Interfaces (APIs), βιβλιοθήκες
Εισαγωγή: Ένα πλεονέκτημα της γλώσσας προγραμματισμού Python είναι η συνεισφορά της μεγάλης κοινότητας προγραμματιστών που στηρίζει τη γλώσσα, με συλλογές έτοιμου λογισμικού για πάρα πολλές εφαρμογές. Τις συλλογές αυτές μπορείτε να τις φαντα- στείτε ως εργαλειοθήκες με έτοιμα εργαλεία τα οποία μπορούμε να χρησιμοποιήσουμε μέσα στον κώδικά μας, αφού οι περισσότερες εργαλειοθήκες της Python ανήκουν στην κατηγορία του ελεύθερου λογισμικού.