ΜΥΥ105: Εισαγωγή στον Προγραμματισμό Εισαγωγή Χειμερινό Εξάμηνο 2016 Παναγιώτης Τσαπάρας (tsap@cs.uoi.gr)
Προγραμματισμός Προγραμματισμός ΔΕΝ ΕΙΝΑΙ απλά γράφω κώδικα 2
Προγραμματισμός Προγραμματισμός ΔΕΝ ΕΙΝΑΙ απλά γράφω κώδικα είναι λύνω πρακτικά προβλήματα χρησιμοποιώντας τον υπολογιστή 3
Εφαρμογές Τι είναι η Εφαρμογή (Application); Η εφαρμογή είναι το λογισμικό που αναπτύσσεται για να διευκολύνει τους χρήστες να διαικπεραιώσουν συγκεκριμένες εργασίες. Εφαρμογή κράτησης θέσεων Εφαρμοφή ηλεκτρονικής πληρωμής 4
Εφαρμογές Εφαρμογές Google Maps (π.χ., προτειν. διαδρομές) Google maps πλάνο κτιρίου http://maps.google.com/help/maps/floorplans/ Google s Trekker Project Google street view Τρισδιάστατοι χάρτες στη Google Earth http://www.youtube.com/watch?v=u8cmtrs6iuw http://www.youtube.com/watch?v=n6douyfa7l8 5
Εφαρμογές Εφαρμογές παντού! Εφαρμογές στο διαδύκτιο Εφαρμογές ηλεκτρονικού εμπορίου Ασύρματες και κινητές εφαρμογές Εφαρμογές Βάσεων Δεδομένων Εφαρμογές Κοινωνικών Δικτύων 6
Εφαρμογές Εφαρμογές παντού! Ηλεκτρονικά Παιχνίδια Πολυμεσικές εφαρμογές Υπολογιστική Όραση, Γραφικά Εφαρμογές Τεχνητής Νοημοσύνης 7
Προγραμματισμός Εφαρμογών Καινοτομία, δημιουργικότητα, όραμα Απόκτηση των θεμελιωδών δεξιοτήτων προγραμματισμού και υλοποίηση των ιδεών σου! ΙΔΕΑ Δεξιότητες 8
Προγραμματισμός Εφαρμογών 9
Βασικές Πληροφορίες Μαθήματος Υλικό και Πληροφορίες Όλες οι πληροφορίες για το μάθημα θα ανεβαίνουν στο ecourse http://ecourse.uoi.gr/course/view.php?id=489 Για την πρόσβαση στη σελίδα χρειάζεται εγγραφή. 10
Βασικές Πληροφορίες Μαθήματος Συγγράματα Beginning Python: From Novice to Professional, Magnus Lie Hetland, Apress, 2008. To pdf είναι διαθέσιμο για download από τη σελίδα του ecourse. Άλλα συγγράμματα: Υπολογισμοι και Προγραμματισμος με την Python, John V. Guttag, Κλειδάριθμος, 2015 [ΕΥΔΟΞΟΣ] Εισαγωγή στον Προγραμματισμό με Αρωγό την Γλώσσα Python. Γ. Μανής. 2016 Εισαγωγή στους Υπολογιστές με τη γλώσσα Python, Ν. Αβούρης, Μ. Κουκιάς, Β. Παλιούρας, Κ. Σγάρμπας, Παν/μιο Πατρών, 2013 [ΕΥΔΟΞΟΣ] Introduction to Computing Using Python: An Application Development Focus, L. Perkovic, Wiley, 2012 11
Python Βασικές Πληροφορίες Μαθήματος Κατεβάστε τη γλώσσα Python στον υπολογιστή σας! www.python.org Ο προγραμματισμός μαθαίνεται αφιερώνοντας χρόνο στον υπολογιστή, δεν αρκεί το διάβασμα. 12
Εργαστήρια Η παρακολούθηση εργαστηρίων είναι υποχρεωτική Εξαίρεση: φοιτητές παλαιότερων ετών Αίθουσες: ΠΕΠ 1 & 2 κάθε Πέμπτη 2-4 και 4-6 Πρώτο εργαστήριο στις 20 Οκτ. Για τη χρήση εργαστηρίων πρέπει: Να θυμάστε τον κωδικό του λογαριασμού σας! Να θυμάστε τον κωδικό του ecourse λογαριασμού σας Στο ecourse να φαίνεται καθαρά το ονοματεπώνυμό σας στα Ελληνικά Η κατανομή σας στα τμήματα εργαστηρίων θα γίνει από μας και θα ενημερωθείτε σχετικά Τα εργαστήρια μπορείτε να τα χρησιμοποιείτε και μόνοι σας 9π.μ. 9μ.μ. για εξάσκηση εκτός προγ/μένων ωρών 13
Αξιολόγηση Εργαστήρια (30%) Υποχρεωτική παρακολούθηση Ο φοιτητής πρέπει να περάσει το εργαστήριο για να έχει δικαίωμα συμμετοχής στην τελική εξέταση 1-2 Εργασίες Προγραμματισμού στο σπίτι (20%) Σε ομάδες των δύο Τελική Εξέταση (50%) 14
Πολιτική Αξιολόγησης Τυχόν απουσίες σε εργαστήρια δεν δικαιολογούνται Εργασίες προγραμματισμού που υποβάλλονται μετά την προθεσμία δεν θα γίνονται δεκτές Μπορείτε να συζητάτε μεταξύ σας για το πως θα κάνετε τις εργασίες προγραμματισμού, αλλά πρέπει να γράφετε μόνοι σας τα προγράμματα Θα γίνεται χρήση λογισμικού ελέγχου αντιγραφής Περιπτώσεις αντιγραφής θα μηδενίζονται 15
Επικοινωνία Αν έχετε δυσκολίες, επικοινωνείτε μαζί μας Μέσω ecourse Μέσω email Μετά την τάξη Προσωπικά, στο γραφείο, έπειτα από ραντεβού Ανακοινώσεις σχετικά με το μάθημα θα αναρτώνται στο ecourse και οι εγγεγραμμένοι μέσω ecourse θα λαμβάνουν email αυτόματα Συχνές ερωτήσεις και απορίες (και οι απαντήσεις) θα αναρτώνται στο ecourse 16
Μαθησιακοί Στόχοι 1. [Επίλυση Προβλημάτων] Ανάλυση απαιτήσεων απλών προβλημάτων, σχεδιασμός και υλοποίηση προγραμμάτων που τα λύνουν μέσω μιας λογικής ροής απλών εντολών. 2. [Ανάπτυξη Εφαρμογών] Ανάπτυξη προγραμμάτων, μέσω κατάλληλων δομών και συναρτήσεων. 3. [Εκσφαλμάτωση] Έλεγχος, εντοπισμός και διόρθωση των σφαλμάτων ενός προγράμματος. 4. [Έλεγχος Προγράμματος] Έλεγχος της σωστής λειτουργίας ενός προγράμματος με βάση τις προδιαγραφές του. 17
Πρόγραμμα Μαθήματος 1. Εισαγωγή στον προγραμματισμό 2. Εισαγωγή στην Python 3. Λίστες και πλειάδες 4. Αλφαριθμητικά 5. Λεξικά 6. Έλεγχος ροής προγράμματος 7. Διαγράμματα ροής 8. Δόμηση προγράμματος και συναρτήσεις 9. Αναδρομικές συναρτήσεις 10. Ταξινόμηση και αναζήτηση 11. Διαχείρηση αρχείων κειμένου 12. Το περιβάλλον γραφικών της Python 18
Άλλες Πληροφορίες Το μάθημα δεν προαπαιτεί γνώσεις προγραμματισμού. Προαπαιτεί όμως: Βασικές γνώσεις χρήσης υπολογιστή (άνοιγμα/σώσιμο αρχείων, εύρεση/οργάνωση αρχείων στο δίσκο, πληκτρολόγηση) Καλό επίπεδο Αγγλικών Οι βασικές αρχές προγραμματισμού σε Python είναι χρήσιμες/απαραίτητες για την εκμάθηση άλλων γλωσσών (Java, C++) Ο προγραμματισμός μαθαίνεται με την εξάσκηση εργαστήρια, ασκήσεις, προσωπική ενασχόληση 19
Μάθημα Η παρακολούθηση και συμμετοχή βοηθάνε στην κατανόηση. Κάνετε ερωτήσεις. Καμία ερώτηση δεν είναι «χαζή». Κάτι που ξέρει πολύς κόσμος αν δεν το έχετε διδαχτεί δεν είναι απαραίτητο να το ξέρετε. Ρωτήστε να το εξηγήσουμε. Αν κάτι είναι δυσνόητο ζητήστε να το επαναλάβουμε ή να δώσουμε παραδείγματα. Χρησιμοποιείστε τα εργαστήρια για να καταλάβετε καλύτερα.
Συμπεριφορά Σεβαστείτε τους συμφοιτητές σας και τους διδάσκοντες, μην κάνετε φασαρία. Δεν είσαστε στο σχολείο πλέον, είσαστε μεγάλα παιδιά, έρχεστε στα μαθήματα γιατί το επιλέγετε Αν δεν ενδιαφέρεστε να παρακολουθήσετε δεν υπάρχει λόγος να έρχεστε στο μάθημα.
Ας αρχίσουμε! O προγραμματισμός είναι δεξιότητα αλλά είναι και τέχνη και διασκέδαση Ένας καλός προγραμματιστής είναι ικανός να δώσει μια πρακτική και κομψή προγραμματιστική λύση σε ένα πρόβλημα, και απολαμβάνει την δημιουργική διαδικασία του προγραμματισμού. 22