Difference between revisions of "LU-pysem"

From DiLab
Jump to: navigation, search
(Vērtēšana)
(Final project presentations)
(22 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{TocRight}}
{{TocRight}}
= Seminar: Getting things done with Python =
= Specseminārs: Python un citi zvēri =


In this seminar you will learn about the Python programming language, its libraries and frameworks.
Specseminārā tiks iepazīti Python programmēšanas valoda kā arī tās bibliotēkas un ietvari. Semināra mērķis ir dot ieskatu gan valodā, tās iespējās, gan plašajā pielietojumu lokā. Seminārā Python tiks lietots dažādu datu apstrādei un vizualizācijai.


The goal of the seminar is to give participants an insight into Python programming language and what can be done with it (including how it is used in practice). You will also learn how to use Python for data analysis and visualization.
===Kāpēc Python?===
* Ērti lietojams un efektīvs. Izstrādāts labi lasāmam un ātri rakstāmam pirmkodam.
* Elastīgs. Gan iesācējiem, gan profesionāļiem. Var atbalstīt dažādas programmēšanas paradigmas.
* Populārs, labi un aktīvi atbalstīts.
* Lieto gan lielās gan mazās kompānijās un organizācijās pasaulē.
* Vairākos kursos jau lieto, un ne tikai DF


Specseminārā tiks iepazīta Python programmēšanas valoda kā arī tās bibliotēkas un ietvari. Semināra mērķis ir dot ieskatu gan valodā, tās iespējās, gan plašajā pielietojumu lokā. Seminārā Python tiks lietots dažādu datu apstrādei un vizualizācijai.


 
=== Saturs ===
Pamatā divas daļas:
* Ievads Python programmēšanas valodā (kas ir Python)
** Pieņemot ka programmēšanas principi un vēlams kāda cita valoda jau ir zināmi
* Praktisks apskats ar piemēriem (kā un kur lieto Python)
** Rīki, bibliotēkas, ietvari, piemēram: IPython, Jupyter notebook, PyCharm, NumPy, SciPy, Pandas, Matplotlib, Flask, ...


'''Presentation topic''' signup form (fill it out by 28-Oct-2019):
=== Organizē ===
* https://forms.gle/eboGVK8HWVTUKgTJ9
Semināru vada Leo Seļāvo, (pārsvarā attālināti)
Semināru atbalsta ar (iespējamām) lekcijām klātienē:
* Uldis Bojārs (LU DF)
* Jānis Zuters (LU DF, par mašīnmācīšanos)
* Normunds Gruzītis (LUMII, par NLP)
* Valdis Saulespurēns (Riga Coding School)
* un citi…


 
=== Vērtēšana ===


'''Important links:'''
Semināra vērtējums:
* this page: http://selavo.lv/pysem
* 80% = studentu iesniegtā projekta vērtējums
* [https://docs.google.com/presentation/d/1yxaR_ZL3K6Z0QtOQM2dkQKXFEKGXldfy_4xsHkHWP3w/edit?usp=sharing Introduction slides (English)]
* 20% = par prezentācijām nodarbību laikā
* Slack channel (discussion space): https://pythonludf.slack.com


 
Lai izliktu atzīmi, ir jābūt aizpildītai kursa novērtējuma anketai.

==Information and Resources==


 
 


'''Seminar takes place on Fridays @ 14:30'''
==Studentu darbi==
* location: room 336 (LU, Raiņa bulv. 19)


 
Kursā studentiem ir jāuztaisa projekts, kurā ar Python līdzekļiem tiek paveikts netriviāls programmēšanas / datu apstrādes uzdevums.


=== Seminar materials ===
Iespējamās projektu tēmas:


''Seminar materials (slides, ...) will be placed on Github and links will be added here.''
* Jāapstrādā kāda datu kopa, jāveic tās analīze, un vizualizācija. Datu kopas var nākt no dažādiem avotiem, piemēram, [https://www.kaggle.com/datasets kaggle.com], [https://data.gov.lv/lv data.gov.lv] vai pasniedzējiem. Visa apstrāde un vizualizācija būs jāveic Python programmēšanas valodā ar attiecīgajām bibliotēkām, kas tiks apskatītas kursā.


GitHub repository:
* Var izvēlēties arī cita veida tēmas, tās iepriekš saskaņojot ar pasniedzējiem.
* https://github.com/ValRCS/LU_PySem_2019


----
Projekta tēmu pieteikšana:
* https://goo.gl/forms/MGfW5cUtZ5tQwpaY2


 
Projektus var veikt 2 cilvēku komandās.


==Course Requirements and Grading==
==Komunikācija==


* '''Group Project (2-3 students preferable)'''
Slack kanāls: https://pythonludf.slack.com
** 70% of course grade (mandatory)
* lai pierakstītos Slack kanālā, rakstiet Leo Seļavo vai Uldim Bojāram.


Project should be a Python program or notebook
== Kalendārs ==


Scope: see examples shown in Sep. 20 lecture for awesome final projects
'''[https://calendar.google.com/calendar/embed?src=9mkh6ja5ceutv9c1dvoc3cq290%40group.calendar.google.com&ctz=Europe%2FRiga Saite uz kalendāru]'''


* '''Presentation on a cool Python library or project (10 minutes)'''
Nodarbības notiek: ceturtdienās @ 14:30 – vieta: Raiņa 19, 312. auditorija.
** 20% of course grade (optional)


Will need to sign up ahead of time
=== Projektu atrādīšana ===


* '''Participation in class'''
Projektu atrādīšana notiek:
** 10% of course grade (optional)
* ceturtdien 17.01 @ 14:30 (312. auditorijā)


... or/and Python exercises solved on Project Euler, www.codewars.com, other exercise sites
'''Projektu atrādīšana = 5 min. prezentācija''', kas sastāv no:
# Ievada (par ko ir darbs)
# Projekta realizācijas (par to kas tika uzprogrammēts, kāda programmatūra lietota)
# Rezultātu demonstrācijas


* '''Submitted course evaluation'''
Katrai grupai uz uldis.bojars(at)lu.lv '''ir jāatsūta e-pasts''', kurš satur:
** mandatory
* Īsu darba aprakstu (t.sk. grupas dalībnieku sarakstu)
* Izstrādāto pirmkodu (vai tā URL)
* Darba rezultātus (piem., Jupyter notebook)


 
= Nodarbību materiāli =

==Course Project==

During the course, students are required to complete a project that accomplishes a non-trivial programming / data processing task using Python tools.
* projects can be developed in teams of 2-3 people.


Possible project topics:
* process, analyze, and/or visualize one or more datasets
* develop a simple game
* web or desktop application
* ... other ideas ...

Data sets can come from a variety of sources, such as kaggle.com, data.gov.lv, or faculty.

All processing and visualization will have to be done in the Python programming language with the appropriate Pyhon libraries.
* you can use libraries covered in the course or/and from outside the course.

Other topics may also be selected with prior agreement with the faculty.

Submit the project:
* ''... submission link will be added here ...''

=== Final project presentations ===

Project presentation 08.01.2020 @ 10:00 (location to be determined)
* You can also present during the last class (22.12.2019)

Project presentation = 5-10 min. presentation consisting of:

* Introduction (what the work is about)
* Project realization (what was programmed, what software was used)
* Demonstrations of results

You have to show what the project has done in practice = show code and results.

Each group should send an email to uldis.bojars (at) lu.lv containing:

* project description (including list of group members)
* developed source code (or its URL at Github, Gitlab etc)
* work results (e.g. Jupyter notebook)

==Why Python?==
* Python is easy to use and effective.
* Its code is easy to read and write.
* Python is a flexible language that can support many programming paradigms.
* Suitable for beginners and professionals alike.
* Popular and well-supported.
* Used by large and small companies and organizations worldwide.
* Used in many courses and workshops.

== Contents ==
The seminar consists of two parts:
* Introduction to the Python programming language (What is Python)
** Assumption: participants know the basics of programming and, preferably, already know other programming languages
* Practical applications of Python, with examples (Getting things done with Python)
** Tools, libraries, frameworks ("batteries included")
*** [https://jupyter-notebook.readthedocs.io/en/stable/notebook.html Jupyter notebook], IPython environment
*** [https://www.anaconda.com/download/ Anaconda Python distribution]
*** Libraries: NumPy, SciPy, Pandas, Matplotlib, Flask, ...

== Organizers ==

This seminar is lead by Uldis Bojārs and Valdis Saulespurēns.

Experts who might present guest lectures at the seminar:

* [[User:Leo | Leo Seļāvo]] (LU DF)
* Jānis Zuters (LU DF, par mašīnmācīšanos)
* Normunds Gruzītis (LU MII, par NLP)
* Pēteris Paikens (LU MII)
* ...


== Grading ==
* [https://github.com/ValRCS/LU-pysem Github: LU-pysem]
* [https://github.com/ValRCS/LU-pysem/blob/master/Week%203%20Overview.md 3. nodarbības materiāli]
* 5. nodarbība:
** [https://github.com/CaptSolo/LU-pysem/blob/patch-3/Week%205%20Overview.md materiāli]
** [[LU-pysem/CodeWars]] (izvēlaties trīs CodeWars uzdevumus un izpildiet tos)
** [https://github.com/CaptSolo/LU-pysem/blob/patch-2/presentation_ideas.md prezentāciju idejas] (papildinātas)


Grading will be based on your participation in the seminar (and its discussions) and your group project work.
= Resursi =
* Participants will do a practical project using Python. Projects can be done in groups of two.


At the end of the course participants must fill out the course evaluation questionnaire in LUIS (this is a formal requirement for all courses).
* [https://www.anaconda.com/download/ Anaconda lejuplāde]

Revision as of 23:28, 8 November 2019

Seminar: Getting things done with Python

In this seminar you will learn about the Python programming language, its libraries and frameworks.

The goal of the seminar is to give participants an insight into Python programming language and what can be done with it (including how it is used in practice). You will also learn how to use Python for data analysis and visualization.

Specseminārā tiks iepazīta Python programmēšanas valoda kā arī tās bibliotēkas un ietvari. Semināra mērķis ir dot ieskatu gan valodā, tās iespējās, gan plašajā pielietojumu lokā. Seminārā Python tiks lietots dažādu datu apstrādei un vizualizācijai.

 

Presentation topic signup form (fill it out by 28-Oct-2019):

 

Important links:

 

Information and Resources

 

Seminar takes place on Fridays @ 14:30

  • location: room 336 (LU, Raiņa bulv. 19)

 

Seminar materials

Seminar materials (slides, ...) will be placed on Github and links will be added here.

GitHub repository:


 

Course Requirements and Grading

  • Group Project (2-3 students preferable)
    • 70% of course grade (mandatory)

Project should be a Python program or notebook

Scope: see examples shown in Sep. 20 lecture for awesome final projects

  • Presentation on a cool Python library or project (10 minutes)
    • 20% of course grade (optional)

Will need to sign up ahead of time

  • Participation in class
    • 10% of course grade (optional)

... or/and Python exercises solved on Project Euler, www.codewars.com, other exercise sites

  • Submitted course evaluation
    • mandatory

 

Course Project

During the course, students are required to complete a project that accomplishes a non-trivial programming / data processing task using Python tools.

  • projects can be developed in teams of 2-3 people.


Possible project topics:

  • process, analyze, and/or visualize one or more datasets
  • develop a simple game
  • web or desktop application
  • ... other ideas ...

Data sets can come from a variety of sources, such as kaggle.com, data.gov.lv, or faculty.

All processing and visualization will have to be done in the Python programming language with the appropriate Pyhon libraries.

  • you can use libraries covered in the course or/and from outside the course.

Other topics may also be selected with prior agreement with the faculty.

Submit the project:

  • ... submission link will be added here ...

Final project presentations

Project presentation 08.01.2020 @ 10:00 (location to be determined)

  • You can also present during the last class (22.12.2019)

Project presentation = 5-10 min. presentation consisting of:

  • Introduction (what the work is about)
  • Project realization (what was programmed, what software was used)
  • Demonstrations of results

You have to show what the project has done in practice = show code and results.

Each group should send an email to uldis.bojars (at) lu.lv containing:

  • project description (including list of group members)
  • developed source code (or its URL at Github, Gitlab etc)
  • work results (e.g. Jupyter notebook)

Why Python?

  • Python is easy to use and effective.
  • Its code is easy to read and write.
  • Python is a flexible language that can support many programming paradigms.
  • Suitable for beginners and professionals alike.
  • Popular and well-supported.
  • Used by large and small companies and organizations worldwide.
  • Used in many courses and workshops.

Contents

The seminar consists of two parts:

  • Introduction to the Python programming language (What is Python)
    • Assumption: participants know the basics of programming and, preferably, already know other programming languages
  • Practical applications of Python, with examples (Getting things done with Python)

Organizers

This seminar is lead by Uldis Bojārs and Valdis Saulespurēns.

Experts who might present guest lectures at the seminar:

  • Leo Seļāvo (LU DF)
  • Jānis Zuters (LU DF, par mašīnmācīšanos)
  • Normunds Gruzītis (LU MII, par NLP)
  • Pēteris Paikens (LU MII)
  • ...

Grading

Grading will be based on your participation in the seminar (and its discussions) and your group project work.

 * Participants will do a practical project using Python. Projects can be done in groups of two.

At the end of the course participants must fill out the course evaluation questionnaire in LUIS (this is a formal requirement for all courses).