Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τι είναι ο προγραμματισμός
Advertisements

Κληρονομικότητα. Εισαγωγή  Κληρονομικότητα (Inheritance) καλείται ο μηχανισμός με τον οποίο μία νέα κλάση που ονομάζεται παράγωγη (derived class) δημιουργείται.
7.3.8 Μεταφραστές Ελληνογαλλική Σχολή Καλαμαρί - Τίκβα Χριστίνα.
Δαμιανός Χατζηαντωνίου Οικονομικό Πανεπιστήμιο Αθηνών
Τι είναι ο υπολογιστής; Τι είναι ο προγραμματισμός
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΗΥ 252: Αντικειμενοστρεφής Προγραμματισμός csd. uoc
Κεφάλαιο 6 Threads. 2 Στον παραδοσιακό προγραμματισμό όταν ένα πρόγραμμα εκτελείται ονομάζεται process (διεργασία) και οι εντολές του εκτελούνται σειριακά.
Μάθημα : Βασικά Στοιχεία της Γλώσσας Java
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 3: Υλοποίηση μεθόδων.
ΜΑΘ-3122/106 Προγραμματισμός
ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Πίνακες Κλάσεις και Αντικείμενα.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 11: Intro to Applets Εβδομάδα 11: Εισαγωγή στα Applets.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Week 6: Java Collections Εβδομάδα 6: Συλλογές δεδομένων στην Java.
Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java)
Αντικείμενα, Κλάσεις και Μέθοδοι
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Αλγόριθμοι και Προγράμματα.
ΕΙΣΑΓΩΓΗ ΜΑΘΗΜΑ 1.
Ίδιες αρχές λειτουργίας
Κωνσταντίνος Δελησταύρου Ευγενία Παπαδοπούλου
ΣΥΝΑΡΤΗΣΕΙΣ.
Εισαγωγή στον Προγραμματισμό, Αντώνιος Συμβώνης, ΣΕΜΦΕ, ΕΜΠ, Slide 1 Εβδομάδα 11: Εκτέλεση Java χωρίς το BlueJ.
Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής Αντώνιος Συμβώνης, ΕΜΠ, Slide 1 Σχεδίαση-Ανάπτυξη Εφαρμογών Πληροφορικής (Αντικειμενοστρεφής Προγραμματισμός)
Κεφάλαιο 6 -Περιβάλλοντα Ανάπτυξης Εφαρμογών
Κεφάλαιο 6: Εισαγωγή στον προγραμματισμό Φυσικές και τεχνητές γλώσσες.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τρίτη, 31 Μαρτίου 2015Τμ. Πληροφορικής,
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Π. ΚΑΤΣΑΡΟΣ Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τετάρτη, 1 Απριλίου 2015Τμ. Πληροφορικής,
Για τη διεκπεραίωση ενός προβλήματος πρέπει να ακολουθηθεί η εξής διαδικασία:  να γραφεί ο αλγόριθμος να συνταχθεί το πρόγραμμα σε γλώσσα υψηλού επιπέδου.
1 Εισαγωγή στη Java Χρήσιμες Διευθύνσεις Χαρακτηριστικά της Java Εργαλεία της Java Εργαλεία της Java Μεταγλώττιση στοιχειωδών εφαρμογών.
Επικοινωνία Ανθρώπου Μηχανής HTML CGI JAVASCRIPT Κουμπούλης Χρήστος Α.Μ. 921 Χαλαβαζής Βασίλης Α.Μ. 988.
ΑΝΑΚΕΦΑΛΑΙΩΣΗ 26 Οκτωβρίου Αντικειμενοστρεφής Προγραμματισμός Ένα νέο προγραμματιστικό μοντέλο (paradigm) το οποίο στηρίζεται στις κλάσεις και τα.
ΜΑΘΗΜΑ: ΜΕΤΑΓΛΩΤΤΙΣΤΕΣ ΔΙΔΑΣΚΟΝΤΕΣ: Κ. ΛΑΖΟΣ - Π. ΚΑΤΣΑΡΟΣ Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τρίτη, 14 Απριλίου 2015Τμ.
Δρ. Μαρία Ι. Ανδρέου Εισαγωγή στον Αντικειμενόστρεφη Προγραμματισμό (Object-Oriented Programming) Data Types, Variables, and Arithmetic.
ΟΣΣ Δεκεμβρίου 2004 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Τμήμα Πληροφορικής και Τηλεπικοινωνιών
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
Βασικά στοιχεία της Java
Διάλεξη 1 Εισαγωγή Επισκόπηση άσκησης Διάλεξη 1 1 Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού Χειμερινό Εξάμηνο
ΚΑΤΑΝΟΩ ΤΙΣ ΜΕΤΑΒΛΗΤΕΣ ΜΕ ΤΗ ΒΟΗΘΕΙΑ ΤΟΥ SCRATCH Χρήστος Μανώλης, Πληροφορικός ΠΕ 19 ΘΕΣΣΑΛΟΝΙΚΗ / ΑΥΓΟΥΣΤΟΣ 2015 Ομάδα ανάπτυξης 6 ο εσπερινό ΕΠΑΛ Θεσσαλονίκης.
Εισαγωγή στον προγραμματισμό Μέρος 3 ο Προγραμματιστικά περιβάλλοντα § 6.7.
Εισαγωγή στη C# Μαρίνος Θεμιστοκλέους Ανδρούτσου 150 Γραφείο 206 Τηλ Ώρες Γραφείου: Τετάρτη 5-6 μμ.
Κωδικός Θ: ΤΠ4003, Κωδικός Ε: ΤΠ4103 (ΜΕΥ/Υ) Ώρες (Θ - ΑΠ - Ε): Προαπαιτούμενα: ΤΠ2003,2103.
ΟΣΣ2 - 4 Δεκεμβρίου 2005 Σχεδιασμός Λογισμικού Γλώσσες Προγραμματισμού ΙΙ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ.
Γενικά Άνοιξη 2012 Το μάθημα απευθύνεται σε φοιτητές που δεν ανήκουν στο Τμήμα Πληροφορικής (ΕΠΛ) Διαλέξεις: Τρίτη και Παρασκευή, 12:00 – 13:30, ΧΩΔ-02.
Εισαγωγή στην Python.
ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΕΦΑΡΜΟΓΕΣ ΥΠΟΛΟΓΙΣΤΩΝ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Java DataBase Connectivity
ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή Επισκόπηση άσκησης
Εισαγωγή στις Αρχές της Επιστήμης των Η/Υ
Εισαγωγή στη Java Χαρακτηριστικά της Java Εργαλεία της Java
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ Ανάπτυξη Εφαρμογών για Φορητές Συσκευές
Video Game Programming
2ο ΓΥΜΝΑΣΙΟ ΣΗΤΕΙΑΣ - ΤΑΞΗ Γ'
Ειδικά Θέματα στον προγραμματισμό Υπολογιστών
Εβδομάδα 12: Ανασκόπηση.
ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ Η/Υ
Προχωρημένος Προγραμματισμός
ΥΛΟΠΟΙΗΣΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΑ ΠΕΡΙΒΑΛΛΟΝΤΑ
Εφαρμογή Μεθοδολογίας ICONIX
ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ
Εργασία στην JML Μάθημα: Τυπικές Μέθοδοι Ανάλυσης Συστημάτων
ΤΕΧΝΙΚΕΣ Αντικειμενοστραφουσ προγραμματισμου
Εισαγωγή στον Αντικειμενοστρεφή Προγραμματισμό (στη γλώσσα Java)
Μεταγράφημα παρουσίασης:

Εισαγωγή στον Προγραμματισμό (στη γλώσσα Java) Αντώνιος Συμβώνης www.math.ntua.gr/~symvonis Γραφείο: Ε.3.18 things to say at the beginning: - 2 hr lecture, 2 hr tute - have to enrol in tutes (allocate+) - which countries do they come from? - what programming experience?

Στόχοι Γνώση βασικών στοιχείων προγραμματισμού Γνώση αρχών αντικειμενοστρεφή προγραμματισμού Ικανότητα ανάπτυξης μικρών προγραμμάτων σε Java

Αξιολόγηση Εργασίες(3)*: 10% Διαγώνισμα: 90% Προσοχή: Εργασίες(3)*: 10% Διαγώνισμα: 90% ** Απαραίτητη η ικανοποιητική συμμετοχή στο εργαστήριο Προσοχή: Η παρακολούθηση των εργαστηρίων και η ολοκλήρωση των ασκήσεων είναι η καλύτερη προετοιμασία για το διαγώνισμα

Συγγράμματα Σύγγραμματα που διανέμονται David Barnes, Michael Kolling "Αντικειμενοστρεφής προγραμματισμός σε Java. Μια πρακτική εισαγωγή με χρήση Bluej " Εκδόσεις Κλειδάριθμος Γιώργος Λιακέας, "Εισαγωγή στη Java 2" Εκδόσεις Κλειδάριθμος Προαιρετικά «The Java Tutorial» http://docs.oracle.com/javase/tutorial/

Σελίδα στο internet Όλες οι πληροφορίες σχετικά με το μάθημα είναι διαθέσιμες στις διευθύνσεις: www.math.ntua.gr/~symvonis (ακολουθώντας το σύνδεσμο «Εισαγωγή στον Προγραμματισμό») mycourses.ntua.gr (απαιτείται η «εγγραφή» σας)

Χρόνος ενασχόλησης 2 ώρες διαλέξεων 2 ώρες εργαστήριο Τουλάχιστον 3 ώρες μελέτη την εβδομάδα!!

? Περιεχόμενα 1 Java, αντικείμενα (objects), BlueJ 2 Αντικείμενα και κλάσεις (classes) 3 Υλοποίηση μεθόδων (methods) 4 Τύποι δεδομένων (data types) και τελεστές (operations) 5 Εντολές επιλογής / έλεγχος ορθότητας (testing) και εύρεση λαθών (debugging) 6 Εντολές επανάληψης 7 Βιβλιοθήκες κλάσεων

Περιεχόμενα (συνέχεια) ! 8 Συμβολοσειρές (Strings και String buffers) 9 Σχεδιασμός κλάσεων 10 Βιβλιοθήκες λογισμικού Java 11 Διανύσματα (Arrays) 12 Εκτέλεση Java χωρίς το BlueJ 13 Επανάληψη

Java, Αντικείμενα και BlueJ Εβδομάδα 1: Java, Αντικείμενα και BlueJ

Επίδειξη Live demo: show “shapes” project create squares, circles, etc. create picture; modify picture

Τι είδαμε; Ένα περιβάλλον Ένα πρόγραμμα Μια γλώσσα

Διαφορετικά συστήματα... Το “BlueJ” είναι ένα περιβάλλον ανάπτυξης προγραμμάτων Η “Java” είναι μια γλώσσα προγραμματισμού “shapes” είναι ένα πρόγραμμα (εφαρμογή) με την οποία δουλεύουμε “Square”, “Circle”, “Canvas”, κ.λπ. είναι κλάσεις της εφαρμογής Το BlueJ αναφέρεται σε μια «υπό ανάπτυξη» εφαρμογή σαν το «έργο» (project)

Java Σχετικά νέα γλώσσα προγραμματισμού (διατίθεται από το 1995) Αρχικά από την Sun Microsystems Τώρα από την Oracle Δωρεάν διάθεση (δείτε σελίδα μαθήματος στο internet)

BlueJ Το BlueJ είναι ένα προγραμματιστικό περιβάλλον σε Java που αναπτύχθηκε ειδικά για την διδασκαλία του αντικειμενοστρεφή προγραμματισμού σε αρχάριους Αναπτύχθηκε στο School of Network Computing, Monash University Δωρεάν διάθεση (δείτε σελίδα μαθήματος στο internet)

Κλάσεις και αντικείμενα Μια εφαρμογή Java είναι ένα σύνολο από συνεργαζόμενες κλάσεις Ο προγραμματιστής σχεδιάζει τις κλάσεις (πιο συγκεκριμένα: τον κώδικα για τις κλάσεις) Αντικείμενα δημιουργούνται με βάση τις κλάσεις [είναι στιγμιότυπα (instances) των κλάσεων] Πολλά αντικείμενα μπορεί να δημιουργηθούν βασιζόμενα στην ίδια κλάση

Κλάσεις και αντικείμενα(2) Οι κλάσεις είναι ένα είδος «βιομηχανίας» αντικειμένων Τα αντικείμενα έχουν «λειτουργίες» (operations) οι οποίες μπορεί να εκτελεστούν Στην Java οι λειτουργίες αυτές αναφέρονται σαν «μέθοδοι» (methods) Τα αντικείμενα περιέχουν γνωρίσματα δεδομένων (data attributes) τα οποία ονομάζονται «πεδία» (fields) ή «μεταβλητές στιγμιότυπου» (instance variables)

Κλάσεις και αντικείμενα (3) Τα γνωρίσματα (πεδία και μέθοδοι) ορίζονται μέσα σε μια κλάση αλλά, τα πεδία αποθηκεύονται (και οι μέθοδοι επιδρούν) σε ένα αντικείμενο Οι κλάσεις προσδιορίζουν την μορφή των αντικειμένων Όταν σχεδιάζουμε μια εφαρμογή σχεδιάζουμε κλάσεις; όταν εκτελούμε μια εφαρμογή χειριζόμαστε αντικείμενα.

Ένα ακόμα παράδειγμα Επίδειξη: Person

Τι άλλο είδαμε μέχρι τώρα; Ο κώδικας Java που ορίζει μια κλάση ονομάζεται ο πηγαίος κώδικας της κλάσης (source code) Ο πηγαίος κώδικας μπορεί να διορθωθεί η να μεταβληθεί με ένα συντάκτη κειμένου (editor) Μετά από κάθε αλλαγή του πηγαίου κώδικα, αυτός πρέπει να μεταγλωττιστεί (compiled) ξανά πριν την εκτέλεση του Ο μεταγλωττιστής (compiler) ελέγχει τον πηγαίο κώδικα για συντακτικά λάθη

Χρήση παραμέτρων Όταν καλείται μια μέθοδος μπορούμε να δώσουμε τιμές στις παραμέτρους της (εάν η μέθοδος χρησιμοποιεί παραμέτρους) Κάθε παράμετρος έχει συγκεκριμένο τύπο δεδομένων; πρέπει να δώσουμε τιμές του κατάλληλου τύπου σε κάθε παράμετρο Είδαμε παραμέτρους τύπου “String” (συμβολοσειρά, κείμενο) και “int” (ακέραιοι αριθμοί)