- ΣΧΟΛΗ: ΙΑΤΡΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟΥ ΚΡΗΤΗΣ
- ΤΜΗΜΑ: ΙΑΤΡΙΚΗΣ – ΠΜΣ ΒΙΟΠΛΗΡΟΦΟΡΙΚΗ
- ΕΠΙΠΕΔΟ ΣΠΟΥΔΩΝ: ΜΕΤΑΠΤΥΧΙΑΚΟ
- Περισσότερες πληροφορίες για το μεταπτυχιακό
Το μάθημα είναι μία εισαγωγή στον προγραμματισμό μέσω της γλώσσας python. Επικεντρώνεται στη διδασκαλία της γλώσσας, στην υιοθέτηση σωστών προγραμματιστικών πρακτικών και εισάγει στη ανάλυση μεγάλων δεδομένων.
Με την επιτυχή ολοκλήρωση του μαθήματος ο φοιτητής θα μπορεί:
- Να σχεδιάζει και να υλοποιεί αλγόριθμους που επιλύουν κοινά υπολογιστικά προβλήματα.
- Να χρησιμοποιεί κατάλληλες δομές δεδομένες για τη βέλτιστη χρήση των πόρων του συστήματος.
- Να χρησιμοποιεί βέλτιστες και κοινές πρακτικές για την αναγνωσιμότητα του κώδικα και τον συνεργατικό προγραμματισμό.
- Να διεκπεραιώνει απαιτητικές αναλύσεις με μεγάλα δεδομένα που περιλαμβάνουν οπτικοποίηση και στατιστική ανάλυση.
- Να εφαρμόζει τεχνικές προγραμματισμού σε δεδομένα από τη περιοχή της βιοπληροφορικής και βιοϊατρικής.
- Week 1: Εισαγωγή στη python, γιατί python; anaconda installation, περιβάλλον ανάπτυξης jupyter, markdown, social coding, primitive data types and operations, strings, boolean logic, slicing
- Week 2: Lists, tuples, for, while, if_then_else, continue, break. Whitespaces for indentation
- Week 3: List comprehensions
- Week 4: functions, variable scope, map/reduce, functional programming, recursive functions
- Week 5: Dictionaries, complex data types, dictionary comprehensions, sets, set comprehensions
- Week 6: Sorting, Counting, Filtering, lambda functions, generators, generator comprehensions
- Week 7: Working with files, JSON, data serialization
- Week 8: Regular expressions, Exceptions
- Week 9: Import, unpacking variables, the “is” operator, ternary operator, default dictionaries
- Week 10: numpy
- Week 11: Data visualization, interactive plots, matplotlib, bokeh, seaborn
- Week 12: pandas with real data examples from GWAS catalogue
- Week 13: Object Oriented Programming: Classes, Inheritance, Initializers, member functions, static/class functions.
- Το μάθημα "μοιράζεται" υλικό με το αντίστοιχο μάθημα του τμήματος Βιολογίας του Πανεπιστημίου Κρήτης.
- Practical Python Programming from David Beazley
- Beginner's Python Cheat Sheets
- A collection of python cheatsheets
- Non-beginner's python cheat sheet
- NumPy
- The official Python Tutorial
- Automate the Boring Stuff with Python Practical programming for total beginners. Written by Al Sweigart. Free to read under a Creative Commons license.
- A beginner's python tutorial
- EbookFoundation free-programming-books on python
- Jupyter notebooks for teaching/learning Python 3
- A Python course that takes beginners seriously
- Python Computing for Data Science
- Γιατί jupyter; https://www.nature.com/articles/d41586-018-07196-1
- pythoncheatsheet . Πολύ καλό και "συμπαγές" σημείο αναφοράς. Χρήσιμο όταν έχεις ξεχάσει πως γίνεται κάτι.
- 28 Jupyter Notebook tips, tricks and shortcuts - Dataquest. From Thimo. Thanks!
- Scipy
- Paper στο Nature για το scipy published: 3 February 2020
- scipy lectures
- Challenges: https://www.hackerrank.com/dashboard
- Scientific Python Cheatsheet
- Matplotlib Cheatsheet
- Pandas:
Η βαθμολογία του μαθήματος θα αποτελείται από το 50% των ασκήσεων και το 50% των projects
- Θα δωθούν 5 σειρές ασκήσεων, μία κάθε 2 εβδομάδες περίπου. Θα δοδούν δηλαδή συνολικά 100 ασκήσεις.
- Θα δωθούν 10 projects στο μέσο του εξαμήνου περίπου. Κάθε φοιτητής θα πρέπει να υλοποιήσει και τα 10.
- Διάλεξη 1η. 10 Οκτωβρίου 2022. Σημειώσεις σε jupyter notebook, html, pdf. Επίσης οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
- Διάλεξη 2η. 17 Οκτωβρίου 2022 . Σημειώσεις σε jupyter notebook, html, pdf. Επίσης οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook
- Διάλεξη 3η. 24 Οκτωβρίου 2022 . Σημειώσεις σε jupyter notebook, html, pdf. Επίσης οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook
- Διάλεξη 4η. 31 Οκτωβρίου 2022. Οι Σημειώσεις είναι ίδιες με του προηγούμενου μαθήματος. Οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook
- Διάλεξη 5η. 7 Νοεμβρίου 2022. Σημειώσεις σε jupyter notebook, html, pdf. Επίσης οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook
- Διάλεξη 6η. 14 Νοεμβρίου 2022 . Σημειώσεις σε jupyter notebook, html, pdf. Επίσης οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook
- Διάλεξη 7η. 21 Νοεμβρίου 2022 . Σημειώσεις σε jupyter notebook, html, pdf. Επίσης οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook
- Διάλεξη 8η. 28 Νοεμβρίου 2022 .
- Άνοιγμα, διαβασμα και σώσιμο αρχείων: jupyter notebook, html, pdf
- Import & Regular Expressions : jupyter notebook, html, pdf
- οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook
- Διάλεξη 9η, 5 Δεκεμβρίου 2022 . οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook
- Διάλεξη 10η, 12 Δεκεμβρίου 2022.
- Numpy jupyter notebook, html, pdf
- οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook
- Διάλεξη 11η, 19 Δεκεμβρίου 2022.
- Γραφικές παραστάσεις jupyter
- οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook. Προσοχή! Επειδή το jupyter notebook είναι πολύ μεγάλο, δεν το δείχνει το gist. Μπορείτε να το κατεβάσετε, πατώντας στο κουμπί "Raw", και επιλέξτε από τον browser σας: "File --> Save as". Αφού το κατεβάσετε μπορείτε να το ανοίξετε με ένα jupyter το οποίο τρέχετε στον υπολογιστή σας.
- Διάλεξη 12η, 9 Ιανουαρίου 2023
- οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook.
- Pandas jupyter notebook, html, pdf
- Διάλεξη 13η
- Classes : jupyter notebook
- Διάλεξη 14η, 30 Ιανουαρίου 2023
- Exceptions, Generators, imports: jupyter notebook
- οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook.
- 12 Οκτωβρίου 2020 . Σημειώσεις σε jupyter notebook, html, pdf. Επίσης οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
- 20 Οκτωβρίου 2020 . Σημειώσεις σε jupyter notebook, html, pdf. Επίσης οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
- 26 Οκτωβρίου 2020 . Σημειώσεις σε jupyter notebook, html, pdf. Επίσης οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
- 2 Νοεμβρίου 2020 . Οι Σημειώσεις είναι ίδιες με του προηγούμενου μαθήματος. Οι πρόχειρες σημειώσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
- 9 Νοεμβρίου 2020 . Σημειώσεις σε jupyter notebook, html, pdf. Επίσης οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
- 16 Νοεμβρίου 2020. Σημειώσεις σε jupyter notebook, html, pdf. Επίσης οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
- 23 Νοεμβρίου 2020. Σε αυτό το μάθημα λύσαμε κάποιες από τις ασκήσεις της 2ης σειράς τους 2019. Οι λύσεις βρίσκονται εδώ σε jupyter notebook, html, pdf
- 30 Νοεμβρίου 2020. Διαβάζουμε:
- Άνοιγμα, διαβασμα και σώσιμο αρχείων: jupyter notebook, html, pdf
- Import & Regular Expressions : jupyter notebook, html, pdf
- οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
- 7 Δεκεμβρίου 2020. Διαβάζουμε:
- Exceptions jupyter notebook, html, pdf
- Generators jupyter notebook, html, pdf
- Προσοχή! Δεν είπαμε τα generator comprehensions! Θα τα πούμε την επόμενη φορά
- Numpy jupyter notebook, html, pdf
- οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
- 14 Δεκεμβρίου 2020/. Διαβάζουμε:
- Γραφικές παραστάσεις jupyter notebook, html, pdf
- pandas jupyter notebook, html, pdf
- οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
- 11 Ιανουαρίου 2021 . Διαβάζουμε:
- Classes : jupyter notebook, html, pdf
- Serialization (JSON): jupyter notebook, html, pdf
- API : jupyter notebook, html, pdf
- οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
- 18 Ιανουαρίου 2021. Διαβάζουμε:
- Hypothesis Testing: jupyter notebook, html, pdf
- BioPython: jupyter notebook, html, pdf
- Decorators : https://realpython.com/primer-on-python-decorators/ (+ παράδειγμα στις πρόχειρες σημειώσεις)
- Interactive Plots with:
- οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook, html, pdf
Κάθε σειρά ασκήσεων έχει 20 ερωτήσεις/ασκήσεις. Για κάθε μία παίρνετε βαθμό: από 1 μέχρι 10. Όλες οι ερωτήσεις/ασκήσεις θεωρούνται ισοδύναμες.
- Η άσκηση βγάζει λάθος αποτέλεσμα και κάποια ψήγματα υλοποίησης έχουν γίνει.
- Η άσκηση βγάζει λάθος αποτέλεσμα αλλά έχει υλοποιηθεί ένα μικρό κομμάτι της λύσης.
- Η άσκηση βγάζει λάθος αποτέλεσμα αλλά έχει υλοποιηθεί ένα σημαντικό κομμάτι της λύσης.
- Η άσκηση βγάζει λάθος αποτελέσματα λόγω πολύ σημαντικών λαθών στη λογική.
- Η άσκηση βγάζει λάθος αποτέλεσμα λογω λαθών στη λογική
- Η άσκηση βγάζει λάθος αποτέλεσμα λόγω μικρών λαθών στη λογική.
- H άσκηση βγάζει σωστό αποτέλεσμα, αλλά όχι για όλα τα πιθανά σενάρια/inputs.
- Η άσκηση βγάζει σωστό αποτέλεσμα, αλλά η λογική σας έχει κάποιο λάθος (συμβαίνει πολλές φορές..).
- Η άσκηση βγάζει σωστό αποτέλεσμα, αλλά υπάρχει μία προφανής πιο γρήγορη/σύντομη λύση.
- Η άσκηση είναι αλάνθαστη. Μπράβο!
Οι ασκήσεις μπορούν να παραδοθούν στέλνοντας τις λύσεις με email στο kantale@ics.forth.gr με έναν από τους παρακάτω τρόπους:
- Στείλτε ένα .ipynb (jupyter notebook) αρχείο ως attachment με τις λύσεις.
- Στείλτε ένα .py (python) αρχείο ως attachment με τις λύσεις.
- Στείλτε ένα link στο gist με το jupyter notebook με τις λύσεις.
- Στείλτε ένα link στο gist με τον python κώδικα με τις λύσεις.
Σε κάθε περίπτωση βάζετε σε σχόλια τον αριθμό της άσκησης που λύνετε. Αν στείλετε σε jupyter, βάλτε ένα σχόλιο στο ίδιο κελί όπου βρίσκεται και η υλοποίησή σας. Ιδανικά θα πρέπει να είναι κάτι σαν:
# άσκηση 5
def f():
return "hello"
Μη στείλετε ασκήσεις σε φορμάτ: pdf / word / google docs / screenshots(!)
-
ΠΡΟΣΟΧΗ! Πριν κάνετε κάποια άσκηση (και πριν τη παραδόσετε), διαβάστε λίγο αυτή τη λίστα με κοινά λάθη που κάνουν οι νέοι προγραμματιστές κυρίως στη python.
-
Επίσης καλό θα ήταν να ρίξετε μια ματιά στις λύσεις των ασκήσεων 2018, σειρά 1η, 2η, 3η και 4η και στις λύσεις των ασκήσεων 2019
-
H ημερομηνία παράδοσης των ασκήσεων 1-20 είναι: 14 Νοεμβρίου 2022, 23:59 Anywhere on Earth
-
H ημερομηνία παράδοσης των ασκήσεων 21-40 είναι: 28 Νοεμβρίου 2022, 23:59 Anywhere on Earth
-
H ημερομηνία παράδοσης των ασκήσεων 41-60 είναι: 12 Δεκεμβρίου 2022, 23:59 Anywhere on Earth
-
H ημερομηνία παράδοσης των ασκήσεων 61-80 είναι: 26 Δεκεμβρίου 2022, 23:59 Anywhere on Earth
-
H ημερομηνία παράδοσης των ασκήσεων 81-100 είναι: 31 Ιανουαρίου 2023, 23:59 Anywhere on Earth
Το jupyter noteboook με τα projects βρίσκεται εδώ
Η ημερομηνία παράδοσης είναι 28 Φεβρουαρίου 2023.