| 
        Lecturer(s)
     | 
    
        
            
                - 
                    Březina Jan, doc. Mgr. Ph.D.
                
 
            
         
     | 
    | 
        Course content
     | 
    
        Lectures:   1) IPython - basic calculation, combining with text and equations   2) Python - basic syntax, data types   3) matplotlib - 2D graphs   4) Sympy - symbolic calculation, Numpy - multi-dimensional arrays, vectorization   5) SciPy - overview, linear algebra, interpolation, quadrature, ODE   6) SciPy - algebraic equations, optimization, statistics    7) Parallel programming, threads   8) Parallel programming, MPI   9) Paraview (basics, example of embeded Python)   10) MayaVi (3D vizualiztion)   Tutorials:   1) Python, IPython - work with basic data types, files   2) Introduction of project topics, modules   3) Matplotlib   4) SymPy, NumPy   5) SciPy   6) Metacentrum/Hydra - get access, job execution   7) Parallel programming, threads.   8) Distributed computing, MPI, PBS   9) Presentation of selected works: Matplotlib   10) Presentation of selected works: SymPy, SciPy 
         
         
     | 
    | 
        Learning activities and teaching methods
     | 
    
        
        Monological explanation (lecture, presentation,briefing), Self-study (text study, reading, problematic tasks, practical tasks, experiments,  research, written assignments), Laboratory work
        
            
                    
                
                    
                    - Class attendance
                        - 40 hours per semester
                    
 
                
                    
                    - Preparation for laboratory testing; outcome analysis
                        - 26 hours per semester
                    
 
                
                    
                    - Preparation for formative assessments
                        - 18 hours per semester
                    
 
                
                    
                    - Preparation for credit
                        - 25 hours per semester
                    
 
                
                    
                    - Home preparation for classes
                        - 20 hours per semester
                    
 
                
                    
                    - Presentation preparation (report)
                        - 20 hours per semester
                    
 
                
             
        
        
     | 
    
    
        
        
            | 
                Learning outcomes
             | 
        
        
            
                
                The course provides an introduction into the Python language emphesizing its usage in the scientific computing as a glue tool and scripting language for the specialized numerical software. The closing part of the course is an introduction to the paralell programing and high-performance computing.
                 
                After the course the student should be able to program its own specialized scripts, apply basic paralellization techniques, and executing jobs on  paralellel computers.
                 
                
             | 
        
        
            | 
                Prerequisites
             | 
        
        
            
                
                
                Basic knowledge of any programming language.
                
                
                    
                        
                    
                    
                
                
  
             | 
        
        
            | 
                Assessment methods and criteria
             | 
        
        
            
                
                    
                        Oral presentation of self-study
                        
                        
                         
                        
                    
                    
                
                 The graded credit is granted according to the activity at the tutorials and the quality of the seminal work.
                 
             | 
        
    
    | 
        Recommended literature
     | 
    
        
            
                
                - 
                    Jupyter and the future of IPython ? IPython [online]. [cit. 2016-01-08]. Dostupné z: http://ipython.org/. 
                
 
            
                
                - 
                    ParaView/Python Scripting - KitwarePublic [online]. [cit. 2016-01-08]. Dostupné z: http://www.paraview.org/Wiki/ParaView/Python_Scripting. 
                
 
            
                
                - 
                    Ponořme se do Pythonu 3 [online]. [cit. 2016-01-08]. Dostupné z: http://diveintopython3.py.cz/index.html. 
                
 
            
                
                - 
                    Cyrille Rossant. IPython Interactive Computing and Visualization Cookbook. 
                
 
            
                
                - 
                    J. Elkner, A. B. Downey, Ch. Meyers. Učíme se programovat v jazyce Python 3 [online]. 2008, 2015 [cit. 2016-01-08]. Dostupné z: http://howto.py.cz/. 
                
 
            
                
                - 
                    Mark Pilgrim. Ponořme se do Pythonu 3 [online]. [cit. 2016-01-08]. Dostupné z: http://diveintopython3.py.cz/index.html. 
                
 
            
                
                - 
                    Švec. Seriál Létající cirkus [online]. Root.cz, 2015 [cit. 2016-01-08]. Dostupné z: http://www.root.cz/serialy/letajici-cirkus/. 
                
 
            
         
         
         
     |