Οι φοιτητές που θα ολοκληρώσουν αυτό το μάθημα:
Θα χρησιμοποιηθεί η γλώσσα προγραμματισμού Java. Η συγκεκριμένη γλώσσα λειτουργεί ως όχημα για την κατανόηση των αρχών, εννοιών, τεχνικών και μεθόδων που περιγράφονται στο μάθημα. Ωστόσο, οι φοιτητές θα αποκτήσουν τη δυνατότητα να εφαρμόζουν όλα αυτά σε διάφορα περιβάλλοντα ανάπτυξης και γλώσσες.
Οι διαλέξεις του μαθήματος (θεωρία) γίνονται στην αίθουσα Παναγούλη του Πνευματικού Κέντρου κάθε Δευτέρα 18.00-21.00. Διδάσκει ο Γιάννης Γαβιώτης.
Τα εργαστήρια του μαθήματος γίνονται στα εργαστήρια υπολογιστών κάθε Τετάρτη 16.00-18.00. Υπεύθυνοι των εργαστηρίων είναι ο Παναγιώτης Κουτσαμπάσης και ο Γιάννης Γαβιώτης.
Οι φοιτητές αξιολογούνται με βάση τις εργασίες που θα παραδώσουν κατά τη διάρκεια του εξαμήνου (50%) και την τελική γραπτή εξέταση (50%). Οι εργασίες βαθμολογούνται, εφόσον παραδοθούν εμπρόθεσμα. Οι ασκήσεις εξετάζονται κατά τη διεξαγωγή του εργαστηρίου. Οι βαθμοί των εργασιών δεν μεταφέρονται σε επόμενα εξάμηνα.
Στην τελική γραπτή εξέταση κάθε φοιτητής μπορεί να έχει μαζί του τις διαφάνειες, τις σημειώσεις και το βιβλίο του μαθήματος. Δεν επιτρέπεται να δανειστεί υλικό από συνάδελφό του κατά τη διάρκεια της εξέτασης. Στη βιβλιοθήκη του τμήματος θα βρείτε τα θέματα όλων των περασμένων ετών - προσπαθήστε να τα απαντήσετε και θα διαπιστώσετε πόσο καλά προετοιμασμένοι είστε για τη γραπτή εξέταση.
Οι φοιτητές πρέπει να έχουν τις βασικές γνώσεις για υπολογιστές, το Διαδίκτυο και προγραμματισμό. Τα σχετικά μαθήματα είναι «Πληροφορική Ι» (1151), «Πληροφορική ΙΙ» (2152) και «Τεχνολογίες Μεθοδολογίες Προγραμματισμού Ι» (3150). Ειδικότερα, θα πρέπει να γνωρίζουν τις έννοιες μεταβλητών, σταθερών και τύπων δεδομένων, τη σημασιολογία των τυπικών δομών ελέγχου (if-then-else, for, while, select) και τις αρχές του δομημένου προγραμματισμού (ορισμός & κλήση υποπρογραμμάτων, πέρασμα παραμέτρων).
Θα σας βοηθήσει ιδιαίτερα αν κάνετε μια επανάληψη στο συντακτικό και τη σημασιολογία
των βασικών εντολών ελέγχου της C που διδαχθήκατε περυσι στο ΤΜΠ 1, διότι είναι
πανομοιότυπες στη Java!
Στους φοιτητές διανέμεται τα βιβλία [1], [4]. Ωστόσο, οι φοιτητές ενθαρρύνονται
να ανατρέχουν κατά περίπτωση και στις άλλες αναφορές που παρατίθενται.
1. David Barnes, Michael Koelling, Αντικειμενοστρεφής Προγραμματισμός
σε Java, 3η αμερ. έκδοση, Κλειδάριθμος, 2008, ISBN 9789604611966.
Ακολουθεί την εκπαιδευτική προσέγγιση Objects-First
και ακολουθείται σε μεγάλο μέρος των παραδόσεων του μαθήματος. Δείτεπχhttp://www.papasotiriou.gr/product.gbook.asp?pfid=1845299&prid=1099532&deid=0
Η πιο πρόσφατη έκδοση είναι David Barnes, Michael Koelling, Objects First with Java - A practical introduction using BlueJ, 4th ed., Prentice Hall / Pearson Education, 2008, ISBN-10: 0-13-606086-2, ISBN-13: 978-0-13-606086-4. Διαθέσιμο από τη βιβλιοθήκη (σε προηγούμενη έκδοση), συνιστάται ισχυρά να το δείτε άμεσα. Εκπαιδευτικό υλικό στο http://www.bluej.org
2. Deitel, Harvey M, Java προγραμματισμός, 6η έκδοση, Μ. Γκιούρδας,
09/2005, ISBN 9789605123796.
Καλυπτει το πολυ μεγαλο μερος της Java με παραδειγματα και ασκησεις.
Συνισταται ως εγχειριδιο αναφορας. Δείτε πχ
http://www.books.gr/ViewShopProduct.aspx?Id=3964828
3. Bruce Eckel, Thinking in Java, 4th ed., 2003. Τα επτά πρώτα κεφάλαια είναι διαθέσιμα για κατέβασμα από http://mindview.net/Books/TIJ4
4. David Harel, Algorithmics: the spirit of computing,
2nd ed., Addison Wesley, 1992, 0-201-50401-4
5 . Douglas Bell, Ian Morey, John Pugh, The essence of program design,
Prentice Hall, 1997, 0-13-367806-7
6. Ellis Horowitz, Βασικές αρχές γλωσσών προγραμματισμού, 2η έκδοση,
Κλειδάριθμος, 1993, 960-209-190-6
7. J. Glenn Brookshear, Computer Science, an overview, 6th ed., Addison
Wesley, 2000, 0-201-35747-X
8. Kernigham, Plauger, The elements of programming style, McGraw-Hill,
2nd ed, 1978
9. M. Bohl, M. Rynn, Tools for structured design: an introduction to programming
logic, 5th ed., Prentice-Hall, 2001, 0-13-020037-9
10. Maureen Sprankle, Problem solving and programming concepts, 5th
ed., Prentice Hall, 2001, 0-13-022967-9
11. P. H. Winston, S. Narasimhan, On to Java 1.2, 2nd ed., Addison
Wesley, 1998, 0-201-38598-8
12. Ravi Sethi, Programming languages, 2nd ed., Addison Wesley, 1996,
0-201-59065-4
13. Ravi Sethi, Programming Languages: Concepts and Constructs, 2nd
ed., Addison Wesley, 1996, 0-201-59065-4
14. Robert W. Sebesta, Concepts of Programming Languages, 5th ed.,
Addison Wesley, 2001, 0-201-75295-6
15. Roger Graham, The synergy of hardware and software, Prentice Hall,
1998, 0-13-145617-2
16. Stefano Ceri, Dino Mandrioli, Licia Sbattella, The art and craft of
computing, Addison Wesley, 1998, 0-201-87698-1
17. Terry Winograd, Bringing design to software, ACM Press, 2000, 0-201-85491-0
18. Γιώργος Λιακέας, Εισαγωγή στη Java 2, Κλειδάριθμος, 2003,
960-209-625-X
19. John Hubbard, Schaum's Java Θεωρία και προβλήματα, Κλειδάριθμος,
2005, 960-209-737-Χ
20. Ι. Ανδρεάδης, Μια σύντομη αναδρομή στην τεχνολογία των ηλεκτρονικών
υπολογιστών, Δελτίο ΠΣΔΜ-Η, σελ. 48-52, Ιούλιος - Αύγουστος 2001
21. Ι. Κάβουρα, Δομημένος προγραμματισμός με Pascal, Κλειδάριθμος,
1997, 960-209-308-0
22. ΥΠΕΠΘ, Ανάπτυξη εφαρμογών σε προγραμματιστικό περιβάλλον, 1999,
960-7251-23-7
23. Sartaj Sahni, Data Structures, algorithms and applications in Java,
McGraw-Hill, 2000, 0-07-109217-X
24. John Lewis, William Loftus, Java software solutions: Foundations of
program design, Addison-Wesley, 1998, 0-201-57164-1
25. John Hunt, Java and object-orientation, Springer-Verlag, 1997,
3-540-76201-9
26. Steven Haines, Οδηγός της Java2, Β. Γκιούρδας, 960-387-041-2
27. Greg Perry, Εισαγωγή στον προγραμματισμό, Μ. Γκιούρδας, 960-512-33-9
28. John Satzinger, Tore Orvik, The object-oriented approach, 2nd ed.,
Course Technology, 2001, 0-619-03390-8
1. http://www.it.uom.gr/project/java/tutorial.htm Διδακτικό βοήθημα στα ελληνικά
(Πανεπιστήμιο Μακεδονίας)
2. http://chortle.ccsu.ctstateu.edu/CS151/cs151java.html Άφθονο διδακτικό υλικό,
κουίζ και ασκήσεις. Ευρύτητα κά-λυψης.
3. http://www.faqs.org/docs/javap/index.html Ηλεκτρονικό βιβλίο για προγραμματισμό
σε Java με κουιζ και ασκήσεις.
4. http://www.tipsmart.com/javacert/ptp/basics.htm Κουιζ για τα βασικά της Java
5. http://alpha.physics.uoi.gr/web_kokkas_java/java_lang.htm Εκπαιδευτικό υλικό
για Java (Πανεπιστήμιο Ιωαννίνων)
6. http://users.ntua.gr/ge04060/java.htm Ιστοσελίδα μαθήματος από το Μετσόβιο
Πολυτεχνείο που χρησιμοποιεί το BlueJ
7. http://www.cs.teilar.gr/gkakaron/java/Index.html Μαθήματα Java από το ΤΕΙ
Λάρισας
8. http://www.idevelopment.info/data/Programming/java/PROGRAMMING_Java_Programming.shtml
Παραδείγματα προγραμμάτων ομαδοποιημένα ανά δραστηριότητα