Moduł oferowany także w ramach programów studiów:
Informacje ogólne:
Nazwa:
Python in the enterprise
Tok studiów:
2018/2019
Kod:
JFT-2-034-s
Wydział:
Fizyki i Informatyki Stosowanej
Poziom studiów:
Studia II stopnia
Specjalność:
-
Kierunek:
Fizyka Techniczna
Semestr:
0
Profil kształcenia:
Ogólnoakademicki (A)
Język wykładowy:
Angielski
Forma i tryb studiów:
Stacjonarne
Strona www:
 
Osoba odpowiedzialna:
dr hab. inż, prof. AGH Szumlak Tomasz (szumlak@agh.edu.pl)
Osoby prowadzące:
dr hab. inż, prof. AGH Szumlak Tomasz (szumlak@agh.edu.pl)
Krótka charakterystyka modułu

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 kształcenia dla modułu zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Powiązania z EKK Sposób weryfikacji efektów kształcenia (forma zaliczeń)
Wiedza
M_W001 A student gains knowledge on advanced topics related to the Python language FT2A_W01 Aktywność na zajęciach,
Egzamin,
Projekt
Umiejętności
M_U001 A student can write complete applications, use both scripts and classes. FT2A_U01, FT2A_U05, FT2A_U03 Projekt
M_U002 A student can work as a part of a team and can interact properly with his/her co-workers FT2A_U01 Projekt
Kompetencje społeczne
M_K001 A student can communicate his/her results and discuss them FT2A_K01 Projekt
Matryca efektów kształcenia w odniesieniu do form zajęć
Kod EKM Student, który zaliczył moduł zajęć wie/umie/potrafi Forma zajęć
Wykład
Ćwicz. aud
Ćwicz. lab
Ćw. proj.
Konw.
Zaj. sem.
Zaj. prakt
Zaj. terenowe
Zaj. warsztatowe
Inne
E-learning
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 - - - + - - - - - - -
Treść modułu zajęć (program wykładów i pozostałych zajęć)
Wykład:
  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:
  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:
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)

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 wykładach 15 godz
Samodzielne studiowanie tematyki zajęć 40 godz
Udział w ćwiczeniach laboratoryjnych 20 godz
Przygotowanie do zajęć 20 godz
Udział w ćwiczeniach projektowych 10 godz
Dodatkowe godziny kontaktowe z nauczycielem 20 godz
Egzamin lub kolokwium zaliczeniowe 2 godz
Pozostałe informacje
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

Wymagania wstępne i dodatkowe:

- 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:

Absences on lab classes and tutorials will have to be negotiated with the tutor.