Skip to content

Εισαγωγή στον Προγραμματισμό, Τμήμα Βιολογίας, Πανεπιστήμιο Κρήτης

Notifications You must be signed in to change notification settings

irtzonevrakis/biol-494

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ΒΙΟΛ-494

Σε αυτό το site θα βρείτε πληροφορίες και διαλέξεις για το μάθημα εαρινού εξαμήνου: ΒΙΟΛ-494. Εισαγωγή στον Προγραμματισμό, του Τμήματος Βιολογίας του Πανεπιστημίου Κρήτης.

Διδάσκοντας

Ώρες Μαθήματος

  • Τετάρτη, 17:00-19:00
  • Αμφ. Α

Slack

Το κύριο μέσο επικοινωνίας με τον διδάσκοντα αλλά και μεταξύ των φοιτητών είναι το περιβάλλον slack: biol-494.slack.com . Σας έχει σταλεί ένα link με το οποίο μπορείτε να μπείτε (invite). Μπορείτε να γραφτείτε με όποιο μέιλ θέλετε (ιδρυματικό ή μη). Μπορείτε επίσης (δεν είναι υποχρεωτικό!) να κατεβάσετε και την εφαρμογή του slack στο κινητό σας.

Περιγραφή

Το μάθημα αποτελεί μια εισαγωγή στις αρχές του προγραμματισμού Η/Υ με έμφαση στην εκμάθηση σε βασικό επίπεδο της γλώσσας προγραμματισμού Python. H διδασκόμενη ύλη ξεκινά με μια θεωρητική εισαγωγή στις έννοιες των αλγορίθμων και θεωρητικών τεχνικών όπως τα διαγράμματα ροής και ο σχεδιασμός προγραμμάτων με ψευδοκώδικα πριν περάσει σε επιμέρους στοιχεία της γλώσσας προγραμματισμού python. Η διδασκαλία γίνεται με τρόπο τέτοιο ώστε οι διδασκόμενες γνώσεις να εφαρμόζονται σε υπαρκτά προβλήματα ανάλυσης βιολογικών/γονιδιωματικών αλληλουχιών. Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής / τρια θα είναι σε θέση να:

  • Σχεδιάσει και να υλοποιήσει απλούς αλγόριθμους ανάλυσης γονιδιωματικών αλληλουχιών αλλά και άλλων βιολογικών δεδομένων.
  • Να χρησιμοποιήσει έτοιμα προγράμματα και βιβλιοθήκες ανάλυσης βιολογικών δεδομένων (biopython, pandas).
  • Nα προσπελάσει βιολογικές βάσεις δεδομένων και να εφαρμόσει απλή στατιστική ανάλυση.
  • Nα αναπαραστήσει γραφικά βιολογικά δεδομένα σε Matplotlib / bokeh / seaborn

Διαλέξεις

Βαθμολόγηση

Ο τελικός βαθμός του μαθήματος θα είναι το 33.3% των βαθμών από τις ασκήσεις, το 33.3% των βαθμών από το project και το υπόλοιπο 33.4% από το τελικό διαγώνισμα στο τέλος του τριμηνου.

Ασκήσεις

Στο τέλος κάθε διάλεξης θα ανεβαίνουν εδώ 10 ασκήσεις σχετικά με την ύλη που παρουσιάστηκε στη διάλεξη.

Οι ασκήσεις βρίσκονται εδώ

Συνολικά θα ανέβουν 100 ασκήσεις. Οι ασκήσεις είναι υποχρεωτικές και μετράνε στο 33.3% του βαθμού. Όλες οι ασκήσεις είναι βαθμολογικά ισοδύναμες. Οι ημερομηνίες παράδοσης των ασκήσεων είναι:

  • Ασκήσεις 1-20 : 3 Μαρτίου 2021
  • Ασκήσεις 21-40 : 19 Μαρτίου 2021
  • Ασκήσεις 41-60 : 4 Απριλίου 2021
  • Ασκήσεις 61-80 : 18 Απριλίου 2021
  • Ασκήσεις 81-90: 2 Μαΐου 2021
  • Ασκήσεις 91-100: 31 Μαΐου 2021

Η ώρα που λήγει η διορία είναι η 23:59 της αντίστοιχης μέρας στο Time Zone Anywhere on Earth.

Πως παραδίνουμε τις ασκήσεις: Πριν το τέλος της διορίας παράδοσης στέλνουμε ένα μέιλ στο kantale@ics.forth.gr με τις λύσεις των ασκήσεων μας. Στέλνουμε από το ιδρυματικό μας (@edu.biology.uoc.gr) μέιλ, εκτός αν δεν έχετε (έχετε πάρει το μάθημα από άλλα ιδρύματα μετά από συνενόηση με μένα). Αν δεν έχετε ιδρυματικό μέιλ, καλό θα είναι να το αναφέρετε στο μέιλ σας. Κάτι σαν "Δεν έχω ιδρυματικό μέιλ και ΑΜ". Στο subject του μέιλ γράφουμε το ΑΜ, το όνομά μας και τον αριθμό των ασκήσεων που έχουμε λύσει. Για παράδειγμα: ΑΜ 1234, Κατερίνα Στανίση, Ασκήσεις 41-60. Στο μέιλ βάζουμε τις λύσεις των ασκήσεων. Κάθε λύση πρέπει να έχει ένα σχόλιο σε python με τον αριθμό της άσκησης που λύνουμε σε αυτή τη μορφή: # Askhsh <Noumero>. Για παράδειγμα:

# Askhsh 54
print ("Hello!")

# Askhsh 55
print ("This is the solution for ex. 55")

Αν και αυτός είναι ο ενδεδειγμένος τρόπος, μπορείτε αν θέλετε να στείλετε και attachments με .py αρχεία ή .ipynb αρχεία.

  • Αν στείλετε .py αρχεία πρέπει να υπάρχει σε σχόλιο ο αριθμός της κάθε άσκησης (όπως και πριν)
  • Αν στείλετε .ipynb αρχεία πρέπει να υπάρχει σε σχόλιο ο αριθμός της κάθε άσκησης μέσα στο κελί που έχει τη λύση και όχι σε κελί με markdown.

Για να αποθηκεύσετε μία σειρά ασκήσεων σε .ipynb ή σε .py φορμάτ, πηγαίντε στο Jupyter , File --> Download as -> Python (ή Notebook) και στείλτε μου το σαν συνημμένο: img

Αυτά γίνονται γιατί υπάρχει σκριπτάκι που αναλύει αυτόματα τις ασκήσεις σας. Ο βαθμός σας θα σας αποσταλεί με μέιλ περίπου 2 εβδομάδες μετά που στείλετε τις ασκήσεις.

ΠΡΟΣΟΧΗ! Δεν στέλνουμε:

  • Αρχεία σε pdf, doc (είναι για κείμενα, όχι για κώδικα)
  • Συμπιεσμένα αρχεία
  • Screenshots

Πως βαθμολογούνται οι ασκήσεις

Για κάθε άσκηση παίρνετε βαθμό: από 1 μέχρι 10. Όλες οι ερωτήσεις/ασκήσεις θεωρούνται ισοδύναμες.

  1. Η άσκηση βγάζει λάθος αποτέλεσμα και κάποια ψήγματα υλοποίησης έχουν γίνει.
  2. Η άσκηση βγάζει λάθος αποτέλεσμα αλλά έχει υλοποιηθεί ένα μικρό κομμάτι της λύσης.
  3. Η άσκηση βγάζει λάθος αποτέλεσμα αλλά έχει υλοποιηθεί ένα σημαντικό κομμάτι της λύσης.
  4. Η άσκηση βγάζει λάθος αποτελέσματα λόγω πολύ σημαντικών λαθών στη λογική.
  5. Η άσκηση βγάζει λάθος αποτέλεσμα λογω λαθών στη λογική
  6. Η άσκηση βγάζει λάθος αποτέλεσμα λόγω μικρών λαθών στη λογική.
  7. H άσκηση βγάζει σωστό αποτέλεσμα, αλλά όχι για όλα τα πιθανά σενάρια/inputs.
  8. Η άσκηση βγάζει σωστό αποτέλεσμα, αλλά η λογική σας έχει κάποιο λάθος (συμβαίνει πολλές φορές..).
  9. Η άσκηση βγάζει σωστό αποτέλεσμα, αλλά υπάρχει μία προφανής πιο γρήγορη/σύντομη λύση.
  10. Η άσκηση είναι αλάνθαστη. Μπράβο!

Projects

Πάλι σε αυτό το site μέχρι το τέλος του Απριλίου θα ανέβουν 10 projects. To projects θα περιέχουν υπαρκτά προβλήματα στη περιοχή της βιολογίας στα οποία καλείστε να απαντήσετε (ή να.. προσεγγίσετε) με python. Τα projects μπορείτε να τα πάρετε είτε σε ομάδες των 2 ατόμων είτε ατομικά. Δεν θα βαθμολογηθούν ηπιότερα οι υλοποιήσεις των projects που έχουν γίνει ατομικά. Δηλαδή όποιος πάρει ένα project ατομικά θα περιμένω να έχει δουλέψει για 2 άτομα! Σε καμία περίπτωση δεν θα δοθεί ένα project σε ομάδα των τριών (ή περισσότερων) ατόμων. Για τη διευκόλυνσή σας το κάθε project θα έχει χωριστεί σε 2 μέρη. Συνίσταται κάθε άτομο να κάνει από ένα μέρος (αν και δεν είναι υποχρεωτικό αυτό).

Η παράδοση του κάθε project θα πρέπει να περιέχει και μία αναφορά με 1000 - 1500 λέξεις με:

  • Μία εισαγωγική παράγραφο με τη βιολογική πλευρά και σημασία του προβλήματος.
  • Τη γενικότερη φιλοσοφία της λύσης / προσέγγισής σας. Πως δομήσατε τον κώδικα;
  • Τα αποτελέσματά σας.
  • Μία συζήτηση η οποία να περιέχει: Τι σας δυσκόλεψε; Πως κρίνετε τα αποτελέσματα; Τι θα μπορούσατε να κάνετε καλύτερα; Η βιβλιογραφία πως έχει αντιμετωπίσει αυτό το θέμα; Ποιες άλλες επεκτάσεις υπάρχουν για αυτό το πρόβλημα;
  • Η αναφορά θα πρέπει επίσης να έχει 1-2 προτάσεις που να αναφέρουν ποιο μέρος του project ανέλαβε το κάθε μέλος.

Η υλοποίηση θα εξεταστεί με βάση:

  • Καθαρός / ευανάγνωστος κώδικας (10%). Θα δοθούν σχετικές οδηγίες αργότερα.
  • Λύνει το πρόβλημα, ή δίνει μια καλή προσέγγιση (80%)
  • Ποιότητα γραφικών παραστάσεων (5%)
  • Αναφορά (5%)

Τα projects θα δοθούν με τη λογική "first come first serve" έτσι ώστε να μην πάρουν όλες οι ομάδες τα ίδια projects! Δηλαδή:

  • ΠΡΩΤΑ θα στείλετε ένα μέιλ με τη σύσταση της ομάδας σας (ή ότι θέλετε να πάρετε ένα project ατομικά)
  • ΜΕΤΑ θα δημοσιεύσω τα projects μαζί με τον μέγιστο αριθμό από ομάδες που μπορούν να τα πάρουν.
  • ΜΕΤΑ θα στείλετε ένα μέιλ που να δηλώνετε ποιο project επιθυμείτε. Σε περίπτωση που το project που επιθυμείτε έχει.. καλυφθεί θα πρέπει να δηλώσετε κάποιο άλλο.

Ημερομηνία παράδοσης των projects είναι 31 Μαΐου 2021. Δηλαδή θα έχετε ένα μήνα (Μάιο) για να το υλοποιήσετε.

Τελικό διαγώνισμα.

Το τελικό διαγώνισμα μετράει στο 33.4% του βαθμού. Υπάρχει μία πολύ μικρή περίπτωση να επιτραπεί η δια ζώσης εξέταση για αυτό έχω φτιάξει το εξής.. διάγραμμα ροής για τη τελική εξέταση:

  • Αν επιτραπεί η δια ζώσης εξέταση (πολύ μικρή πιθανότητα..). Θα έχετε δύο επιλογές (ο καθένας δηλαδή μπορεί να διαλέξει).
    • Ή να έρθετε με τα laptop σας και να λύσετε δύσκολα θέματα με ανοικτές σημειώσεις + Internet. Αν έρθετε με τα laptop σας φροντίστε η μπαταρία να μπορεί να διαρκέσει 3 ώρες! Δεν θα δεχτώ δικαιολογία του στυλ: "μου τελείωσε η μπαταρία".
    • Ή να λύσετε πιο εύκολα θέματα με κλειστές σημειώσεις σε μία κόλλα χαρτί.
  • Αν δεν επιτραπεί η δια ζώσης εξέταση (πιο πιθανό), τότε η εξέταση θα γίνει από το.. σπίτι σας με τον εξής τρόπο: Μία μέρα πριν την εξέταση θα σας δοθεί μία συνάρτηση σε python στην οποία βάζετε τον αριθμό μητρώου σας και επιστρέφει 10 τυχαίους αριθμούς χωρίς επανάληψη από το 1 μέχρι το 100. Την ώρα της εξέτασης θα σας δοθούν.. 100 θέματα! Εσείς Θα πρέπει να λύσετε τα 10 τα οποία έβγαλε η συνάρτηση μέσα σε 3 ώρες. Δεν θα πρέπει να έχετε ανοικτές κάμερες ή κάτι τέτοιο, επιτρέπεται το Internet, ανοικτές σημειώσεις κτλ.. Φυσικά δεν επιτρέπεται η.. αντιγραφή.

Επιπλέον υλικό:

About

Εισαγωγή στον Προγραμματισμό, Τμήμα Βιολογίας, Πανεπιστήμιο Κρήτης

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 87.2%
  • Jupyter Notebook 12.7%
  • Python 0.1%