ΜΥΥ105: Εισαγωγή στον Προγραµµατισµό Εισαγωγή Χειµερινό Εξάµηνο 2014
Προγραµµατισµός Προγραµµατισµός ΔΕΝ ΕΙΝΑΙ απλά γράφω κώδικα είναι λύνω πρακτικά προβλήµατα χρησιµοποιώντας τον υπολογιστή 2
Εφαρµογές Τι είναι η Εφαρµογή (Application); Η εφαρµογή είναι το λογισµικό που αναπτύσσεται για να διευκολύνει τους χρήστες να διαικπεραιώσουν συγκεκριµένες εργασίες. Εφαρµογή κράτησης θέσεων Εφαρµοφή ηλεκτρονικής πληρωµής 3
Εφαρµογές Εφαρµογές 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 4
Εφαρµογές Εφαρµογές παντού! Εφαρµογές στο διαδύκτιο Εφαρµογές ηλεκτρονικού εµπορίου Ασύρµατες και κινητές εφαρµογές Εφαρµογές Βάσεων Δεδοµένων Εφαρµογές Κοινωνικών Δικτύων 5
Εφαρµογές Εφαρµογές παντού! Ηλεκτρονικά Παιχνίδια Πολυµεσικές εφαρµογές Υπολογιστική Όραση, Γραφικά Εφαρµογές Τεχνητής Νοηµοσύνης 6
Προγραµµατισµός Εφαρµογών Καινοτοµία, δηµιουργικότητα, όραµα Απόκτηση των θεµελιωδών δεξιοτήτων προγραµµατισµού και υλοποίηση των ιδεών σου! ΙΔΕΑ Δεξιότητες 7
Βασικές Πληροφορίες Μαθήµατος Υλικό και Πληροφορίες Όλες οι πληροφορίες για το µάθηµα θα ανεβαίνουν στο ecourse http://ecourse.uoi.gr/course/view.php?id=489 Για την πρόσβαση στη σελίδα χρειάζεται εγγραφή. 8
Βασικές Πληροφορίες Μαθήµατος Σύγγραµµα Beginning Python: From Novice to Professional, Magnus Lie Hetland, Apress, 2008. To pdf είναι διαθέσιµο για download από τη σελίδα του ecourse. Άλλα συγγράµµατα: Introduction to Computing Using Python: An Application Development Focus, L. Perkovic, Wiley, 2012 Εισαγωγή στους Υπολογιστές µε τη γλώσσα Python, Ν. Αβούρης, Μ. Κουκιάς, Β. Παλιούρας, Κ. Σγάρµπας, Παν/µιο Πατρών, 2013 9
Python Βασικές Πληροφορίες Μαθήµατος Κατεβάστε τη γλώσσα Python στον υπολογιστή σας! www.python.org Ο προγραµµατισµός µαθαίνεται αφιερώνοντας χρόνο στον υπολογιστή, δεν αρκεί το διάβασµα. 10
Εργαστήρια Η παρακολούθηση εργαστηρίων είναι υποχρεωτική Εξαίρεση: φοιτητές παλαιότερων ετών που έχουν περάσει το εργαστήριο (αλλά όχι το µάθηµα) Αίθουσες: ΠΕΠ 1 & 2 κάθε Τετάρτη 3-5 και 5-7 Πρώτο εργαστήριο στις 15 Οκτ. Για τη χρήση εργαστηρίων πρέπει: Να θυµάστε τον κωδικό του λογαριασµού σας! Να εγγραφείτε σε ένα τµήµα εργαστηρίων µέσω του ecourse Στο ecourse να φαίνεται καθαρά το ονοµατεπώνυµό σας στα Ελληνικά Να µπέιτε στο ecourse µέχρι τις 10 Οκτ. και να δηλώσετε επιθυµητή ώρα Τα εργαστήρια µπορείτε να τα χρησιµοποιείτε και µόνοι σας 9π.µ. 9µ.µ. για εξάσκηση εκτός προγ/µένων ωρών 11
Αξιολόγηση Εργαστήρια (30%) Υποχρεωτική παρακολούθηση Ο φοιτητής πρέπει να περάσει το εργαστήριο για να έχει δικαίωµα συµµετοχής στην τελική εξέταση 1-2 Εργασίες Προγραµµατισµού στο σπίτι (10%) Σε οµάδες των δύο Τελική Εξέταση (70%) 12
Πολιτική Αξιολόγησης Τυχόν απουσίες σε εργαστήρια δεν δικαιολογούνται Εργασίες προγραµµατισµού που υποβάλλονται µετά την προθεσµία δεν θα γίνονται δεκτές Μπορείτε να συζητάτε µεταξύ σας για το πως θα κάνετε τις εργασίες προγραµµατισµού, αλλά πρέπει να γράφετε µόνοι σας τα προγράµµατα Θα γίνεται χρήση λογισµικού ελέγχου αντιγραφής Περιπτώσεις αντιγραφής θα µηδενίζονται 13
Επικοινωνία Αν έχετε δυσκολίες, επικοινωνείτε µαζί µας Μέσω ecourse Μέσω email Μετά την τάξη Προσωπικά, στο γραφείο, έπειτα από ραντεβού Ανακοινώσεις σχετικά µε το µάθηµα θα αναρτώνται στο ecourse και οι εγγεγραµµένοι µέσω ecourse θα λαµβάνουν email αυτόµατα Συχνές ερωτήσεις και απορίες (και οι απαντήσεις) θα αναρτώνται στο ecourse 14
Μαθησιακοί Στόχοι 1. [Επίλυση Προβληµάτων] Ανάλυση απαιτήσεων απλών προβληµάτων, σχεδιασµός και υλοποίηση προγραµµάτων που τα λύνουν µέσω µιας λογικής ροής απλών εντολών. 2. [Ανάπτυξη Εφαρµογών] Ανάπτυξη µεγαλύτερων προγραµµάτων, µέσω κατάλληλων δοµών και συναρτήσεων. 3. [Εκσφαλµάτωση] Έλεγχος, εντοπισµός και διόρθωση των σφαλµάτων ενός προγράµµατος. 4. [Έλεγχος Προγράµµατος] Έλεγχος της σωστής λειτουργίας ενός προγράµµατος µε βάση τις προδιαγραφές του. 15
Πρόγραµµα Μαθήµατος 1. Εισαγωγή στον προγραµµατισµό 2. Εισαγωγή στην Python 3. Λίστες και πλειάδες 4. Αλφαριθµητικά 5. Λεξικά 6. Έλεγχος ροής προγράµµατος 7. Διαγράµµατα ροής 8. Δόµηση προγράµµατος και συναρτήσεις 9. Αναδροµικές συναρτήσεις 10. Ταξινόµηση και αναζήτηση 11. Διαχείρηση αρχείων κειµένου 12. Το περιβάλλον γραφικών της Python 16
Άλλες Πληροφορίες Το µάθηµα δεν προαπαιτεί γνώσεις προγραµµατισµού. Προαπαιτεί όµως: Βασικές γνώσεις χρήσης υπολογιστή (άνοιγµα/σώσιµο αρχείων, εύρεση/οργάνωση αρχείων στο δίσκο, πληκτρολόγηση) Καλό επίπεδο Αγγλικών Οι βασικές αρχές προγραµµατισµού σε Python είναι χρήσιµες/απαραίτητες για την εκµάθηση άλλων γλωσσών (Java, C++) Ο προγραµµατισµός µαθαίνεται µε την εξάσκηση εργαστήρια, ασκήσεις, προσωπική ενασχόληση 17
Ας αρχίσουµε! Ένας καλός προγραµµατιστής είναι ικανός να δώσει µια προγραµµατιστική λύση σε ένα πρόβληµα, χρησιµοποιώντας τους διαθέσιµους πόρους. Επίσης έχει την ικανότητα να αναλύει τα δυνατά σηµεία και τις αδυναµίες της λύσης του. 18
Ευχαριστίες Ευχαριστώ τον Chui Chun Kit ( 崔俊傑, http://i.cs.hku.hk/~ckchui/) για υλικό του που χρησιµοποιήθηκε σε αυτές τις διαφάνειες 19