Skip to content

Σημειώσεις για το μάθημα "Προγραμματισμός με τη γλώσσα python"

Notifications You must be signed in to change notification settings

alxndrsPittis/python_lessons

 
 

Repository files navigation

Εισαγωγή στον Προγραμματισμό (BIO102.1)

Επικοινωνία

Σύντομη περιγραφή

Το μάθημα είναι μία εισαγωγή στον προγραμματισμό μέσω της γλώσσας 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.

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

About Data Science

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

Βαθμολογία

Η βαθμολογία του μαθήματος θα αποτελείται από το 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 .
  • Διάλεξη 9η, 5 Δεκεμβρίου 2022 . οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook
  • Διάλεξη 10η, 12 Δεκεμβρίου 2022.
  • Διάλεξη 11η, 19 Δεκεμβρίου 2022.
    • Γραφικές παραστάσεις jupyter
    • οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook. Προσοχή! Επειδή το jupyter notebook είναι πολύ μεγάλο, δεν το δείχνει το gist. Μπορείτε να το κατεβάσετε, πατώντας στο κουμπί "Raw", και επιλέξτε από τον browser σας: "File --> Save as". Αφού το κατεβάσετε μπορείτε να το ανοίξετε με ένα jupyter το οποίο τρέχετε στον υπολογιστή σας.
  • Διάλεξη 12η, 9 Ιανουαρίου 2023
  • Διάλεξη 13η
  • Διάλεξη 14η, 30 Ιανουαρίου 2023
    • Exceptions, Generators, imports: jupyter notebook
    • οι πρόχειρες σημείωσεις του μαθήματος βρίσκονται σε jupyter notebook.

Παλιές διαλέξεις

Πως βαθμολογείται μία άσκηση

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

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

Πως στέλνονται οι ασκήσεις

Οι ασκήσεις μπορούν να παραδοθούν στέλνοντας τις λύσεις με 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(!)

Λίστα με τις ασκήσεις

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

projects

Το jupyter noteboook με τα projects βρίσκεται εδώ

Η ημερομηνία παράδοσης είναι 28 Φεβρουαρίου 2023.

About

Σημειώσεις για το μάθημα "Προγραμματισμός με τη γλώσσα python"

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 51.7%
  • Jupyter Notebook 48.3%