Πληροφορίες

  • Για ανακοινώσεις που αφορούν στο μάθημα δείτε στη σελίδα του Helios.
  • Οι διαλέξεις ξεκινούν την Πέμπτη 6 Οκτωβρίου 2022.
  • Τα εργαστήρια ξεκινούν την εβδομάδα 10-14 Οκτωβρίου.
    Κάθε φοιτητής συμμετέχει μόνο σε μία δίωρη εργαστηριακή συνάντηση (Δευτέρα, Τρίτη ή Τετάρτη), ανάλογα με την εργαστηριακή ομάδα που ανήκει.
  • Εργαστηριακές Ομάδες (ΝΕΟ)

Περιγραφή

Η γλώσσα προγραμματισμού Java. Το περιβάλλον BlueJ. Αντικείμενα, κλάσεις και μέθοδοι. Βασικά στοιχεία του συντακτικού της Java ( εντολές if-else, switch, for, while, repeat, διανύσματα, λίστες). Κληρονομικότητα, Πολυμορφισμός. Κλάσεις αφηρημένου τύπου και διαπροσωπείες. Εξαιρέσεις. Η βιβλιοθήκη κλάσεων της Java. Είσοδος-Έξοδος. Κλάσεις συλλογής δεδομένων. Γραφικά περιβάλλοντα επικοινωνίας.

Εργαστήριο. Σειρά εργαστηριακών προγραμματιστικών ασκήσεων σε Java. Γίνεται χρήση του ειδικού για την διδασκαλία πρωτοετών φοιτητών προγραμματιστικού περιβάλλοντος Bluej.

Τμήματα

  • Τμήμα-Α: Φοιτητές το επώνυμο των οποίων αρχίζει από το γράμμα Α έως και το Μ.
  • Τμήμα-B: Φοιτητές το επώνυμο των οποίων αρχίζει από το γράμμα Ν έως και το Ω.

Διδάσκοντες

Συγγράμματα

  • "Αντικειμενοστρεφής προγραμματισμός σε Java. Μια πρακτική εισαγωγή με χρήση Bluej "
    David Barnes, Michael Kolling
    Εκδόσεις Κλειδάριθμος
  • "Εισαγωγή στη Java"
    Γιώργος Λιακέας
    Εκδόσεις Κλειδάριθμος
  • "Java" Savitch Walter
    Εκδόσεις Τζιόλας

Διαλέξεις

Τμήμα Α: Αμφιθέατρο 1
Τμήμα Β: Αίθουσα 103 του Νέου κτιρίου ΣΕΜΦΕ
Πέμπτη 12:30 -- 14:15
Παρασκευή 08:30 -- 10:15

Εργαστήρια

Τα εργαστήρια διεξάγονται στο PC-lab της Σχολής (Κτίριο Β, 1ος όροφος).
2 ώρες / εβδομάδα.
Ικανοποιητική συμμετοχή: το πολύ έως 2 απουσίες.

Υπεύθυνοι Εργαστηρίων

  • Ελένη Κατσάνου ekatsanou@mail.ntua.gr
    Ώρες γραφείου: Τρίτη 3-4μμ, Γραφείο 1.22, κτίριο Ε, Τομέας Μαθηματικών

  • Ναταλία Κωτσάνη nkotsani@corelab.ntua.gr
    Ώρες γραφείου: Τετάρτη 3-4μμ στο εργαστήριο

  • Θεόδωρος Μήτσικας mitsikas@central.ntua.gr
    Ώρες γραφείου: Τρίτη 5-6μμ στο εργαστήριο

Ωρολόγιο Πρόγραμμα Εργαστηρίων

Ομάδα Ώρα Αίθουσα Διδάσκων Φοιτητές
1 Δευτέρα 3-5μμ. Α Ν. Κωτσάνη HUSSEIN MOHAMED,
ΑΓΟΡΙΤΣΑΣ -- ΓΙΑΝΝΑΚΟΠΟΥΛΟΣ
2 Τρίτη 3-5μμ. Β Ν. Κωτσάνη ΓΙΑΝΝΑΚΟΠΟΥΛΟΥ -- ΚΑΤΣΑΝΕΒΑΚΗΣ
3 Τρίτη 3-5μμ. Α Θ. Μήτσικας ΚΑΤΣΙΡΕΑ -- ΜΑΚΡΗ
4 Τετάρτη 2-4μμ. Β Θ. Μήτσικας ΜΑΚΡΙΔΑΚΗ -- ΝΤΑΚΟΒΑΝΟΥ
5 Τετάρτη 2-4μμ. Α Ε. Κατσάνου ΝΤΑΝΟΣ -- ΡΕΜΠΑΣ
6 Τετάρτη 4-6μμ. A Ε. Κατσάνου ΣΑΒΒΑ -- ΤΣΙΡΙΓΩΤΑΚΗ
7 Τετάρτη 4-6μμ. B Ν. Κωτσάνη ΤΣΟΠΕΛΑΣ -- ΨΑΡΟΠΟΥΛΟΥ
8 -- -- -- --

Αξιολόγηση

Προγραμματιστικές Ασκήσεις: 15%(Απαραίτητη η ικανοποιητική συμμετοχή στα εργαστήρια)
Τελικό γραπτό διαγώνισμα: 85%

Διαλέξεις - Σημειώσεις

Εβδομάδα Διάλεξη Τίτλος
1 1 Java, Αντικείμενα και BlueJ pdf pptx
2 Αντικείμενα, Κλάσεις και Μέθοδοι
Κώδικας: Κλάση Counter (μετρητής)
pdf pptx
2 3 Υλοποίηση μεθόδων pdf pptx
4 Τύποι δεδομένων και τελεστές, εντολές επιλογής
Κώδικας: Κλάση SixChances (Παιγνίδι 6-ευκαιριών)
pdf pptx
3 5 Δομές ροής προγράμματος pdf pptx
6 Η βιβλιοθήκη κλάσεων της Java pdf pptx
4 7 Συμβολοσειρές (Κλάση String) pdf pptx
8 Διανύσματα (μονοδιάστατοι πίνακες) pdf pptx
5 9 Δισδιάστατοι πίνακες pdf pptx
Φ-1 Φροντιστηριακή άσκηση #1: Αναπαράσταση αριθμών σε διάφορα συστήματα βάσης (δυαδικό, οκταδικό, δεκαδικό, δεκαεξαδικό).
Κώδικας: Κλάση NumberConverter
pdf
6 10 Εκτέλεση Java χωρίς το BlueJ pdf pptx
11 Εισαγωγή στην κληρονομικότητα pdf pptx
7 12 Πολυμορφισμός pdf pptx
13 Κλάσεις αφηρημένου τύπου και διαπροσωπείες pdf pptx
8 14 Εξαιρέσεις pdf pptx
15 Ομαδοποίηση αντικειμένων: Συλλογές, Γενικές κλάσεις (generic classes), Iterators pdf pptx
9 Φ-2 Φροντιστηριακή άσκηση #2-A: Συνδεδεμένες δομές. Απλή συνδεδεμένη λίστα.
Κώδικας: Project Int_List
pdf
Φροντιστηριακή άσκηση #2-B: Γενικές κλάσεις (generic classes), εσωτερικές κλάσεις (inner classes) και κλάσεις διαπροσπελαστές (Iterators).
Κώδικας: Project inner_generic_class_iterator_demo
pdf
16 Είσοδος - Έξοδος pdf pptx
10 Φ-3 Φροντιστηριακή άσκηση #3: Αποθήκευση-ανάκτηση δεδομένων (Serialization).
Κώδικας: Project MySerializableContactDatabase
pdf
17 Εισαγωγή στα Γραφικά Περιβάλλοντα Επικοινωνίας [Graphical User Interfaces] pdf pptx
11 18 Γραφικά Περιβάλλοντα Επικοινωνίας (συνέχεια...) pdf pptx
Φ-4 Φροντιστηριακή άσκηση #4: Γραφικά περιβάλλοντα επικοινωνίας (GUIs).
Κώδικας: Projects GUI_Examples_1.zip GUI_Examples_2.zip GUI_Examples_3_Layuts.zip GUI_Examples_4.zip
pdf
12 19 Ανασκόπηση
-

Εργαστηριακές Ασκήσεις

Εβδομάδα Θέμα
1 Java, Αντικείμενα και BlueJ. Έργο shapes  pdf
2 Εξοικείωση με την υλοποίηση κλάσεων. 'Εργο cuboid pdf
3 Χρήση εντολών επιλογής (if…then…else…)
Χρήση πακέτου βιβλιοθήκης για δημιουργία ψευτο-τυχαίων αριθμών.
pdf
4 Εντολές επανάληψης ("for", "while").
Δημιουργία στατικών μεθόδων.
Γεννήτρια ψευτο-τυχαίων αριθμών.
pdf
5 Χρήση διανυσμάτων και εντολών επανάληψης pdf
6 Ανάπτυξη προγραμμάτων ταξινόμησης. pdf
7 Χρήση δισδιάστατων πινάκων pdf
8 Κληρονομικότητα pdf
9 Πολυμορφισμός και kληρονομικότητα pdf
10 Διαπροσωπείες(interfaces) και αφηρημένες κλάσεις pdf
11 Είσοδος-Έξοδος δεδομένων pdf
12 Γραφικά περιβάλλοντα επικοινωνίας (GUIs) pdf

Κώδικας

Documentation

Java

Προγραμματιστικές Ασκήσεις

Οι προγραμματιστικές ασκήσεις ειναι διαθέσιμες μέσω της σελίδας του μαθήματος στο Helios.