Code Monkey home page Code Monkey logo

sw's Introduction

#Software Technology Course

  • Οσο πιο ενεργή (και ουσιαστική) είναι η συμμετοχή σας εδώ τόσο καλύτερος ο βαθμός της τελικής εργασίας. Δεν γίνονται δεκτές αλλαγές για λογαριασμό άλλου.
  • Εργασίες που αποστέλονται με διαφορετικό τρόπο (π.χ., ως επισυναπτόμενα σε email) ή δεν περιέχουν τα στοιχεία που περιγράφονται παρακάτω βαθμολογούνται αρνητικά ή δεν λαμβάνονται καθόλου υπόψιν στον υπολογισμό του τελικού βαθμού.
  • Το κάθε μέλος είναι υπεύθυνο για την σωστή καταγραφή των στοιχείων του (όνομα, φωτογραφία, AM, email, παραδοτέα).
  • Ολα τα έργα λογισμικού είναι καλό να παρουσιάζονται τακτικά (τουλάχιστον δύο φορές τον μήνα) στο εργαστήριο ή ηλεκτρονικά στον βοηθό του μαθήματος, γιατί διαφορετικά μπορεί να πάρουν λάθος κατευθυνση. Εργασίες που εμφανίζονται χωρίς παρουσίαση (τελική/παραδοτέα) ή τον Σεπτέμβριο θα βαθμολογούνται με άριστα το πέντε.
  • Η εγκατάσταση εργαλείων προγραμματισμού θα πρέπει να γίνεται σε καθαρό λειτουργικό σύστημα, χωρίς άλλα προγράμματα. Υπάρχουν δύο λύσεις για αυτόν τον σκοπό: virtual machine σε ένα ισχυρό ΗΥ διαφορετικά θα πρέπει να γίνεται σε εξωτερικό δίσκο.
  • Δεν προβλέπεται ούτε παράταση ούτε αλλαγή της παρουσίασης για κανένα παραδοτέο. Αν κάποιος δεν ενημερώσει την σελίδα του ή δεν μπορεί να βρεθεί σε κάποια ημερομηνία μπορεί να έρθει την αμέσως προηγούμενη.
  • Οι εργασίες της επαναληπτικής εξεταστικής παρουσιάζονται μόνο την ημέρα της γραπτής εξέτασης
  • Η γραπτή εξέταση γίνεται με ανοικτά βιβλία και σημειώσεις, οι οποίες όμως θα πρέπει να είναι δεμένες με βιβλιοδεσία ή σε ντοσιέ.
  • Για την πληρέστερη αξιολόγηση των παραδοτέων θα πρέπει να υπάρχουν στις αναφορές τα παρακάτω στοιχεία: 1) λινκ σε εκτελέσιμο ντέμο σε web page ή ντέμο κατά την παρουσίαση από προσωπικό υπολογιστή και βίντεο, 2) ενδεικτικές οθόνες, όσοι δεν τα έχουν όλα αυτά στις αναφορές τότε ο βαθμός θα είναι πολύ μικρός γιατί δεν μπορούμε να αξιολογήσουμε την πρόοδο

##Projects

Για όλο τον Φεβρουάριο και για τις εβδομάδες των παρουσιάσεων σε όλους τους μήνες ισχύει μόνο ότι: Ημέρες και ώρες συναντήσεων στο εργαστήριο ανάλογα με το τελευταίο νούμερο στον ΑΜ: Πρώτη ώρα (Μονά), Δεύτερη ώρα (Ζυγά)

Η εργασία είναι ατομική ή ομαδική μέχρι 4 άτομα. Ο τελικός βαθμός για μεγάλες ομάδες 3-4 ατόμων είναι ανάλογα με την δυσκολία της εργασίας. Αν για παράδειγμα ομάδα 4 ατόμων παρουσιάσει εργασία που μπορεί να γίνει από 2 άτομα τότε θα βαθμολογηθεί με άριστα το πέντε, αντίστοιχα για όλες τις επιμέρους περιπτώσεις. Μια ομαδική εργασία έχει συνήθως τουλάχιστον δύο διακριτά τμήματα κώδικα, π.χ., client-server. Αν κάποιος έκανε τον προγραμματισμό και κάποιος άλλος τα γραφικά, ο πρώτος θα πάρει μεγαλύτερο βαθμό γιατί ο ρόλος του έχει περισσότερη σχέση με το μάθημα.

Υπάρχουν οι παρακάτω διαθέσιμες εργασίες που βαθμολογούνται πάντα ανάλογα με τον βαθμό δυσκολίας όπως φαίνεται δίπλα στο είδος της εργασίας. Είναι συνετό να επιλέξετε είδος εργασίας με βάση τις προηγούμενες γνώσεις, και τον διαθέσιμο χρόνο που έχετε. Αν για παράδειγμα δεν έχετε πολύ χρόνο τότε το πιο λογικό είναι να επιλέξετε μια εργασία που έχει μικρό βαθμό δυσκολίας. Πέρα από τα παρακάτω ενδεικτικά θέματα μπορείτε να διαλέξετε άλλο θέμα με βάση τα ενδιαφέροντα σας και μόνο σε συμφωνία με τον διδάσκοντα.

Η επίβλεψη των εργασίων θα γίνει τόσο από τον διδάσκοντα όσο και από τους βοηθούς του μαθήματος. Τα σχόλια βελτίωσης για μια εργασία μπορούν να γίνουν με εμπιστοσύνη μόνο πάνω σε ένα ντέμο και όχι πάνω σε μια ιδέα.

Η εργασία αποτελείται από τα παρακάτω παραδοτέα τα οποία θα πρέπει να βρίσκονται στην σελίδα σας (readme.md) στις αντίστοιχες προθεσμίες:

1. Δήλωση και δέσμευση θέματος, 22 Φεβρουαρίου

Μικρές αλλαγές στο θέμα στην διάρκεια του εξαμήνου για την αντιμετώπιση τεκμηριωμένων και αναπάντεχων αντικειμενικών προβλημάτων βαθμολογούνται θετικά. Μεγάλες ατεκμηρίωτες αλλαγές για αδικαιολόγητους προσωπικούς λόγους βαθμολογούνται αρνητικά. Η δήλωση θέματος γίνεται στην προσωπική σας σελίδα.

2. Παρουσίαση πρωτοτύπου της εφαρμογής (20%), 15 Μαρτίου

Προδιαγραφές, αρχικός σχεδιασμός εφαρμογής, εγκατάσταση εργαλείων ανάπτυξης και τρέξιμο/αλλαγές σε υπάρχοντα παραδείγματα. Οι εργασίες θα πρέπει να παρουσιάσουν ένα αρχικό δείγμα δουλειάς το οποίο να λειτουργεί σύμφωνα με την τεχνολογία και τον σχεδιασμό που έχει οριστεί στο προηγούμενο παραδοτέο. Η γραπτή αναφορά θα πρέπει να περιέχει σύντομο κείμενο και ενδεικτικές οθόνες που περιγράφουν και τεκμηριώνουν τις παραπάνω ενέργειες. Για την παρουσίαση του παραδοτέου γίνεται προβολή της αντίστοιχης γραπτής αναφοράς καθώς και εκτέλεση αλλαγμένων παραδειγμάτων.

3. Τελική παρουσίαση έργου για σχολιασμό και βελτιώσεις (20%), 26 Απριλίου

Οι φοιτητές πρέπει να παρουσιάσουν το τελικό λογισμικό-αποτελέσματα και ένα τελικό πρόχειρο της αναφοράς, ώστε να πάρουν σχόλια για την βελτίωση και σωστή παράδοση της τελικής αναφοράς. Η παρουσίαση αφορά αυτό που φτιάξατε άρα θα πρέπει να βεβαιωθείτε ότι τρέχει είτε στον υπολογιστή της αίθουσας εξέτασης είτε καλύτερα σε κάποιον φορητό υπολογιστή. Δεν χρειάζεται powerpoint μόνο demo για αυτό που φτιάξατε καθώς και προβολή της αναφοράς στην σελίδα σας.

4. Τελική αναφορά (20%), 17 Μαϊου

Η τελική αναφορά πρέπει να περιλαμβάνει τις παρακάτω ενότητες: τίτλο, σύνοψη, εισαγωγή, επιλογή εργαλείων, διαδικασία ανάπτυξης, διάγραμμα λειτουργίας συστήματος, ενδεικτικές οθόνες, συμπεράσματα. Η τελική αναφορά μπορεί να αποτελείται από τα διορθωμένα προηγούμενα παραδοτέα με όσες αλλαγές έγιναν και την προσθήκη τίτλου, σύνοψης, συμπερασμάτων, και αναφορές σε σχετικές-παρόμοιες εργασίες. Θα πρέπει να περιγράφεται σε ποια σχετική εργασία βασίζεται ο κώδικας και ποιες αλλαγές έγιναν. Συνολικά θα πρέπει να είναι 500-1000 λέξεις.

Ολα τα παραδοτέα θα πρέπει να γράφονται στην ίδια σελίδα στον φάκελο σας με όνομα φακέλου τον ΑΜ σας π.χ., P2010xxx.md και όνομα αρχείου README.md, με κείμενο και εικόνες σε μορφή github markdown και όχι με επισυναπτόμενα αρχεία άλλου τύπου. Οι τελικές αναφορές που δεν βρίσκονται στην σωστή θέση πριν την προθεσμία δεν βαθμολογούνται. Ο πηγαίος κώδικας θα πρέπει να είναι διαθέσιμος με λινκ όχι στον φάκελο του μαθήματος, αλλά στον λογαριασμό σας στο github ή εξωτερικά

Syllabus

Περιγραφή: Βασικές αρχές τεχνολογίας λογισμικού, η ανάπτυξη λογισμικού ως συνεργατική διαδικασία. Σχεδιασμός συστήματος: αρχιτεκτονικός σχεδιασμός, σχεδιασμός με επαναχρησιμοποίηση, σχεδιασμός διεπαφής χρήστη. Eλεγχος συστήματος. Διαδικασία παράδοσης, τεκμηρίωσης, και συντήρησης συστημάτων λογισμικού.

Προαπαιτούμενα: Εισαγωγή στον προγραμματισμό, δομές δεδομένων, βάσεις δεδομένων, δίκτυα, αντικειμενοστραφής προγραμματισμός.

Στόχος: Ο σκοπός του μαθήματος είναι η μελέτη της θεωρίας και η πρακτική εξάσκηση στην σχεδίαση και ανάπτυξη λογισμικού. Η θεωρία και το project καλύπτουν πολλές διαφορετικές περιοχές εφαρμογών με έμφαση σε επίκαιρες εφαρμογές όπως οι εκπαιδευτικές εφαρμογές, ο κινητός υπολογισμός, οι ψηφιακές (εκπαιδευτικές, πολιτισμικές) συλλογές, και οι ψυχαγωγικές εφαρμογές.

Μέθοδος διδασκαλίας: Διαλέξεις, demos, project.

Ηλεκτρονικά φροντιστήρια / Απορίες: Αν η απορία που έχετε δεν έχει ήδη απαντηθεί στα issues του github (δεξιά το κουμπάκι issues με το θαυμαστικό), τότε μπορείτε να δημιουργήσετε ένα νέο issue στο οποίο θα θέτετε το ερώτημά σας. Αν η ερώτησή σας δεν αφορά την εργασία σας, τότε μπορείτε να στείλετε ένα email στον βοηθό e-learning του μαθήματος. Ερωτήσεις που απαντώνται ήδη στο Github θα αγνοούνται. Σε κάθε περίπτωση, ο καλύτερος χώρος για να πάρετε σαφή απάντηση σε ερώτημά σας είναι μέσα στην τάξη.

Βοηθοί μαθήματος: Διογένης Αλεξανδράκης (e-learning): [email protected], Βαρβάρα Γαρνέλη: [email protected], Αλεξανδρος Μερκούρης (e-learning): [email protected]

Βιβλίο μαθήματος: 1) Ανάγνωση κώδικα, 2) Πρακτικός προγραμματιστής, 3) Ο Προγραμματισμός της Διάδρασης

Διαλέξεις σε βίντεο: Λογισμικό ως υπηρεσία, Διαδικασία ανάπτυξης λογισμικού, Programming Paradigms, Basics of Scrum, Agile and Project Delivery

Βαθμολογία: 60% project, 40% Τελική εξέταση

Σχετικές σελίδες για την διδακτική και την ανάπτυξη έργων λογισμικού:

GitHub Guides

How to Use Git and GitHub

Git Best Practices

Teaching Real-World Programming

Teaching Programming To A Highly Motivated Beginner

A Successful Git Branching Model

Code Academy

Software Studies

Situated Software

sw's People

Contributors

achillesnikolaou avatar anestiskons avatar annakv avatar catalinab7 avatar epidrome avatar gkakav2 avatar gpasxalis avatar gsvic avatar ilektra5 avatar kcholevas avatar kitsopappas avatar kostasrim avatar lefteriskr avatar maaggeld avatar midmandy avatar nicktepe avatar nikonisyre avatar p11pisl avatar p11zbit avatar p13sidi avatar panos3h avatar pantelisioannou avatar parasmem avatar rasred14 avatar skid648 avatar spiross avatar stpapajim avatar thanasis2 avatar vpant avatar zafosk avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.