Giter Club home page Giter Club logo

biol-494's Introduction

ΒΙΟΛ-494

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

Διδάσκοντας

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

  • Τετάρτη, 12:00-14:00
  • Αμφ. B

Slack

Το κύριο μέσο επικοινωνίας με τον διδάσκοντα αλλά και μεταξύ των φοιτητών είναι το περιβάλλον slack. Για να συνδεθείτε στο slack θα πρέπει να πατήσετε ένα invitation link το οποία θα σας σταλεί. Στο πρώτο μάθημα θα ζητήσω τα ιδρυματικά σας μέιλ σε μία κόλλα. Σε αυτά τα μέιλ θα στείλω ένα invitation link με το οποίο θα μπορείτε να συνδεθείτε στο slack του μαθήματος. Μπορείτε επίσης να στείλετε ένα μείλ σε εμένα από το ιδρυματικό σας μέιλ στο οποίο να φαίνεται το ΑΜ σας και σε αυτό θα στείλω το invitation link. Όταν συνδεθείτε με το slack μπορείτε να χρησιμοποιήσετε όποιο μέιλ θέλετε (ιδρυματικό ή μη). Θα πρέπει όμως στο slack να φαίνεται το όνομα ή/και το ΑΜ σας (στo profile). Μπορείτε επίσης (δεν είναι υποχρεωτικό!) να κατεβάσετε και την εφαρμογή του slack στο κινητό σας.

Περιγραφή

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

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

Η παρακολούθηση δεν είναι υποχρεωτική

Προηγούμενες χρονιές

Ποια python να βάλω (και πως);

Η ελάχιστη έκδοση της python που απαιτείται για τα μαθήματα είναι η 3.6 . Προφανώς προτείνεται να εγκαταστήσετε τη πιο πρόσφατη έκδοση. Ο προτεινόμενος τρόπος εγκατάστασης είναι μέσω του conda. Υπάρχουν 2 τρόποι για να εγκαταστήσετε τη python μέσω του συστήματος διαχείρησης πακέτων, conda. Είτε μέσω της Anaconda είτε μέσω της miniconda. Για μία σχετική συζήτησε για τα πλεονεκτήματα/μειονεκτήματα της κάθε επιλογής δείτε εδώ. Η Anaconda είναι ίσως η πιο "εύκολη" επιλογή η οποία απαιτεί λιγότερο εξειδικευμένες γνώσης και περιλαμβάνει ένα τεράστιο πλήθος από χρήσιμες βιβλιοθήκες. Το μειονέκτημά της είναι ότι έχει αρκετές υπολογιστικές απαιτήσεις. Η miniconda, όπως λέει και το όνομά της, περιέχει μόνο τα ελάχιστα προγράμματα που απαιτούνται για να εγκαταστήσετε conda αλλά και τη τελευταία python. Παρόλα αυτά η miniconda σου επιτρέπει (μέσω του conda) να στήσεις το προγραμματιστικό περιβάλλον του υπολογιστή σου με ό,τι πακέτα θέλεις. Πολλοί που εγκαθιστούν τη python σε υπερυπολογιστικά συστήματα προτιμούν τη miniconda.

Αν έχετε μπερδευτεί διαβάστε αυτό τον απόλυτο οδηγό των conda, anaconda, miniconda

Διαλέξεις / Σημείωσεις

Βαθμολόγηση

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

Ασκήσεις

Το αρχείο με τις ασκήσεις βρίσκεται εδώ

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

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

  • Οι ασκήσεις 1-20 έχουν διορία μέχρι 15 Μαρτίου 2023.
  • Οι ασκήσεις 21-40 έχουν διορία μέχρι 5 Απριλίου 2023.
  • Οι ασκήσεις 41-60 έχουν διορία μέχρι 23 Απριλίου 2023.
  • Οι ασκήσεις 61-80 έχουν διoρία μέχρι 17 Μαΐου 2023.
  • Οι ασκήσεις 81-100 έχουν διορία μέχρι 17 Ιουνίου 2023 24 Ιουνίου 2023

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

Πως παραδίνουμε τις ασκήσεις: Πριν το τέλος της διορίας παράδοσης στέλνουμε ένα μέιλ στο [email protected] με τις λύσεις των ασκήσεων μας. Στέλνουμε από το ιδρυματικό μας (@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, Microdoft word, LibreOffice, Google Docs (είναι για κείμενα, όχι για κώδικα)
  • Συμπιεσμένα αρχεία
  • Screenshots

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

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

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

Projects

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

  • Τα projects θα παραδοθούν με τον ίδιο τρόπο όπως οι ασκήσεις,
  • Τα projects μετράνε για το 33.3% του τελικού βαθμού.
  • Η ημερομηνία παράδοσης των projects είναι μέχρι τις 17 Ιουνίου 2023 24 Ιουνίου 2023 (μέρα που θα δοθεί και η τελική εξέταση του μαθήματος) 23:59, Anywhere on Earth.

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

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

Εξεταστική Σεπτεμβρίου

Η διαδιακασία εξέτασης στην εξεταστική του Σεπτεμβρίου θα είναι η ίδια με αυτή του Ιουνίου. Δηλαδή στην αίθουσα υπολογιστών. Οι ασκήσεις και τα projects μετράνε και για τον Σεπτέμβρη. Δηλαδή ο βαθμός του Σεπτέμβρη θα μετρήσει για το 34% του τελικού.

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

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.