Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Python in the enterprise
Tok studiów:
2019/2020
Kod:
JMNB-1-036-s
Wydział:
Fizyki i Informatyki Stosowanej
Poziom studiów:
Studia I stopnia
Specjalność:
-
Kierunek:
Mikro- i nanotechnologie w biofizyce
Semestr:
0
Profil:
Ogólnoakademicki (A)
Język wykładowy:
Angielski
Forma studiów:
Stacjonarne
Strona www:
 
Prowadzący moduł:
dr hab. inż, prof. AGH Szumlak Tomasz (szumlak@agh.edu.pl)
Treści programowe zapewniające uzyskanie efektów uczenia się dla modułu zajęć

If you are interested in learning some advanced features of Python and going beyond the
Python standard library this is something for you!

Opis efektów uczenia się dla modułu zajęć
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Powiązania z KEU Sposób weryfikacji i oceny efektów uczenia się osiągniętych przez studenta w ramach poszczególnych form zajęć i dla całego modułu zajęć
Wiedza: zna i rozumie
M_W001 A student gains knowledge on advanced topics related to the Python language MNB1A_W03, MNB1A_W04 Aktywność na zajęciach,
Egzamin,
Projekt
Umiejętności: potrafi
M_U001 A student can write complete applications, use both scripts and classes. MNB1A_U04, MNB1A_U01, MNB1A_U10, MNB1A_U06 Projekt
M_U002 A student can work as a part of a team and can interact properly with his/her co-workers MNB1A_U04, MNB1A_U01, MNB1A_U10 Projekt
Kompetencje społeczne: jest gotów do
M_K001 A student can communicate his/her results and discuss them MNB1A_K04, MNB1A_K03 Projekt
Liczba godzin zajęć w ramach poszczególnych form zajęć:
SUMA (godz.)
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
45 15 0 20 10 0 0 0 0 0 0 0
Matryca kierunkowych efektów uczenia się w odniesieniu do form zajęć i sposobu zaliczenia, które pozwalają na ich uzyskanie
Kod MEU Student, który zaliczył moduł zajęć zna i rozumie/potrafi/jest gotów do Forma zajęć dydaktycznych
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Prace kontr. przejść.
Lektorat
Wiedza
M_W001 A student gains knowledge on advanced topics related to the Python language + - + - - - - - - - -
Umiejętności
M_U001 A student can write complete applications, use both scripts and classes. - - - + - - - - - - -
M_U002 A student can work as a part of a team and can interact properly with his/her co-workers - - + + - - - - - - -
Kompetencje społeczne
M_K001 A student can communicate his/her results and discuss them - - - + - - - - - - -
Nakład pracy studenta (bilans punktów ECTS)
Forma aktywności studenta Obciążenie studenta
Sumaryczne obciążenie pracą studenta 127 godz
Punkty ECTS za moduł 5 ECTS
Udział w zajęciach dydaktycznych/praktyka 45 godz
Przygotowanie do zajęć 35 godz
Samodzielne studiowanie tematyki zajęć 40 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Dodatkowe godziny kontaktowe 5 godz
Szczegółowe treści kształcenia w ramach poszczególnych form zajęć (szczegółowy program wykładów i pozostałych zajęć)
Wykład (15h):
  1. Introduction

    Python is an extremely popular programming language that can be used for solving
    diverse problems ranging from complicated scientific simulations to writing robust
    Web 2.0 MVC applications. The first two lectures focus on providing a condensed overview
    of the language and its specific features. This is not intended as an exhaustive
    description of Python but rather as a hands-on approach to learn what the language is capable of.

  2. Data structures and abstraction in Python

    Whatever it is you are after – a sophisticated statistical analysis or an e-commerce
    application to earn some money – you need to be aware of how to represent, store
    and handle your data. These will be covered in this lecture where some of the most
    sacred concepts of the object oriented programming will be discusses. So, brace yourself
    for the polymorphism, encapsulation and inheritance. An example implementation of the binary
    search algorithm will be detailed here to illustrate the material.

  3. Be lazy – reuse

    No matter what problem you are suppose to solve you can be almost certain somebody else
    has already wrote the appropriate code for you! So, do not hesitate – reuse the existing libraries.
    Python comes with zillion of modules that can be exploited by you – do it! Here we learn how
    to look for and how to use Python modules.

  4. Be ambitious – modify and extend

    Reusing existing code does not mean you cannot be inventive and creative! Python gives you
    unique opportunity to be a part of the development team if you only want. This is much easier
    than you think. Preparing modules that can be used by others is both easy and very rewarding.
    Let’s see how it’s done.

  5. Django

    Django is a web development framework that can significantly facilitate the process of web
    applications. Here we discuss what a framework actually is and why it is worth to invest some
    time to know and use Django.

  6. Effective silicon energy band

    To give this course also some physics twist we take a look at the radiation damage in silicon
    devices that are design to detect charged particles that are produced by crushing protons
    in Large Hadron Collider. One way of doing this can be by measuring reverse bias current
    as a function of temperature. A complete application that is used to process the data
    and perform physics analysis will be presented.

Ćwiczenia laboratoryjne (20h):
  1. Introduction

    Here we learn all about installing and running Python on Win or Linux platforms. Using the Python interpreter for fast checks and prototyping. Putting your scripts into files and executing them.

  2. Creating modules

    Building and importing modules. Inheritance hierarchy – dividing your code – many source files and locations. Providing encapsulated solutions for your fellow students.

  3. Using Django

    Basic introduction to the Django framework. Creating simple application. Where to go from there, i.e., internet resources.

  4. Pattern recognition

    Even more advanced example of real-life application for looking for specific patterns in a data sample. We discuss how to start designing an algorithm. Then implementation and testing follow. Things to remember here are: when writing code mind other users – provide documentation, the code you wrote is not something that is going to last forever – the application will need maintenance and finally remember modularity, i.e, you may reuse your own code – be generic.

Ćwiczenia projektowe (10h):
Physics or e-commerce

A number of projects will be provided for students depending on an individual interest. It is possible to cluster students together to work on a single project (no more than 3 people working the same problem)

Pozostałe informacje
Metody i techniki kształcenia:
  • Wykład: Treści prezentowane na wykładzie są przekazywane w formie prezentacji multimedialnej w połączeniu z klasycznym wykładem tablicowym wzbogaconymi o pokazy odnoszące się do prezentowanych zagadnień.
  • Ćwiczenia laboratoryjne: W trakcie zajęć laboratoryjnych studenci samodzielnie rozwiązują zadany problem praktyczny, dobierając odpowiednie narzędzia. Prowadzący stymuluje grupę do refleksji nad problemem, tak by otrzymane wyniki miały wysoką wartość merytoryczną.
  • Ćwiczenia projektowe: Studenci wykonują zadany projekt samodzielnie, bez większej ingerencji prowadzącego. Ma to wykształcić poczucie odpowiedzialności za pracę w grupie oraz odpowiedzialności za podejmowane decyzje.
Warunki i sposób zaliczenia poszczególnych form zajęć, w tym zasady zaliczeń poprawkowych, a także warunki dopuszczenia do egzaminu:

Students should pass both computer labs and projects to be given pass for taking an exam.

Zasady udziału w zajęciach:
  • Wykład:
    – Obecność obowiązkowa: Nie
    – Zasady udziału w zajęciach: Studenci uczestniczą w zajęciach poznając kolejne treści nauczania zgodnie z syllabusem przedmiotu. Studenci winni na bieżąco zadawać pytania i wyjaśniać wątpliwości. Rejestracja audiowizualna wykładu wymaga zgody prowadzącego.
  • Ćwiczenia laboratoryjne:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują ćwiczenia laboratoryjne zgodnie z materiałami udostępnionymi przez prowadzącego. Student jest zobowiązany do przygotowania się w przedmiocie wykonywanego ćwiczenia, co może zostać zweryfikowane kolokwium w formie ustnej lub pisemnej. Zaliczenie zajęć odbywa się na podstawie zaprezentowania rozwiązania postawionego problemu. Zaliczenie modułu jest możliwe po zaliczeniu wszystkich zajęć laboratoryjnych.
  • Ćwiczenia projektowe:
    – Obecność obowiązkowa: Tak
    – Zasady udziału w zajęciach: Studenci wykonują prace praktyczne mające na celu uzyskanie kompetencji zakładanych przez syllabus. Ocenie podlega sposób wykonania projektu oraz efekt końcowy.
Sposób obliczania oceny końcowej:

The final mark will be determined by observing the general rules set by the AGH University

The final mark (FM) E – exam, L – computer lab, P – project
FM = 0,5 x E + 0,2 x L + 0,3 x P

Sposób i tryb wyrównywania zaległości powstałych wskutek nieobecności studenta na zajęciach:

If there are problems with absence – this should be always discussed with assistants. Depending on how many classes you missed you will be offered options for catching up. Absences on lab classes and tutorials will have to be negotiated with the tutor.

Wymagania wstępne i dodatkowe, z uwzględnieniem sekwencyjności modułów :

- basic knowledge of Python is an asset but not compulsory to take this course

Zalecana literatura i pomoce naukowe:

- web resources: python.org
- books, a bit of a problem since time flies fast and many today’s latest and greatest are obsolete tomorrow, anyhow, check out:
1) Professional Python Frameworks: Web 2.0 Programming with Django and Turbogears
Dana Moore, Raymond Budd, William Wright; ISBN: 978-0-470-13809-0
2) The Definitive Guide to Django: Web Development Done Right
Jacob Kaplan-Moss, Adrian Holovaty; ISBN-10: 1590597257

Publikacje naukowe osób prowadzących zajęcia związane z tematyką modułu:

According to the WoS.

Informacje dodatkowe:

Brak