Students
Tuition Fee
Not Available
Start Date
Not Available
Medium of studying
Fully Online
Duration
Not Available
Details
Program Details
Degree
Courses
Major
Computer Programming | Data Analysis | Software Development
Area of study
Information and Communication Technologies
Education type
Fully Online
Course Language
English
About Program

Program Overview


Program Overview

The online professional development program is implemented by the International Scientific and Methodological Center of the National Research Nuclear University MEPhI as part of the Priority 2030 program.


Program Goals

The main goals of the educational program are to use the Python language and development environments, as well as Python scientific libraries for data processing and visualization. Students will study:


  • The basics of the Python programming language
  • The main capabilities of the NumPy library for matrix calculations
  • The basics of scientific computing in Python using the pandas, scipy, and scikit-learn libraries

Program Benefits

The program offers the following benefits:


  • Free training for scientific and pedagogical workers, masters, postgraduates, and administrative staff
  • All listeners who have completed the training will receive a certificate of advanced training from MEPhI
  • All training is conducted online in the format of webinars by MEPhI specialists

Course Author

The course author is Alexander G. Trofimov, Associate Professor of the Institute of Intelligent Cybernetic Systems at MEPhI, Candidate of Technical Sciences.


Program Structure

The program is implemented in the format of four webinars from June 14 to June 20 (program volume: 20 academic hours).


Lesson 1: Basics of the Python Programming Language

  • Features of the Python language
  • Areas of application of Python
  • Philosophy of Python ("The Zen of Python")
  • Python execution environment
  • Starting work with Python
  • Physical lines, logical lines, and code blocks in Python
  • Command flow control

Lesson 2: Data Types and Object-Oriented Programming in Python

  • Typing in Python
  • Basic data types: NoneType, boolean, numeric, string types, collections
  • Initialization of variables
  • Mutable and immutable types
  • Type conversion
  • Strings and byte sequences
  • String formatting
  • Slices (slices)
  • String interning
  • Functions in Python
  • Anonymous functions and lambda expressions
  • Global, non-local, and local variables
  • Overriding global variables
  • Modules, connecting modules, packages, creating packages
  • Importing functions and modules from packages
  • Lists (lists), creating lists and accessing list elements, slices (slices), list functions and methods
  • Aliases (aliases) in Python
  • Shallow and deep copying
  • Lists and strings
  • Ranges (ranges)
  • Iterable classes and iterator classes
  • Function decorators
  • Passing parameters to a function
  • Call by sharing
  • Functions with a variable number of arguments
  • Packing and unpacking sequences
  • Function zip
  • Operator *
  • Operator **
  • Function map
  • Input data from the standard input stream
  • Working with files
  • Iterating over file lines
  • Exception handling
  • Try-except-else-finally construct
  • Creating custom exceptions
  • Context manager
  • With-as construct
  • Classes and objects
  • Class constructor and destructor
  • Default values
  • Class variables and object variables
  • Class methods and object methods
  • Static methods
  • Getters and setters for properties
  • Using property decorators
  • Class inheritance
  • Overriding (overriding) and overloading (overloading) methods
  • Operator overloading
  • Abstract classes

Lesson 3: Scientific Computing in Python

  • NumPy library
  • NumPy array (ndarray)
  • Array representations
  • Creating arrays and representations
  • Copying arrays
  • Structured arrays
  • Array element types
  • Array shape
  • Array storage strategies in memory
  • Iterating over arrays
  • Array strides
  • Changing array shape and strides
  • Indexing and slicing (slices) of arrays
  • Fancy indexing
  • Where function
  • Operations on arrays
  • Concatenation, splitting, and duplicating arrays
  • Arithmetic operations with arrays
  • Broadcasting
  • Universal functions (ufunc)
  • Vector-matrix operations
  • Mathematical and statistical methods of arrays
  • Linear algebra methods
  • Linalg module
  • NumPy matrix classes and ndarray
  • Generating random arrays
  • Random module
  • Loading and saving arrays to file
  • Pandas library capabilities for working with data
  • Scipy and scikit-learn library capabilities for scientific computing

Lesson 4: Data Visualization in Python

  • Stages of data visualization
  • Data exploration analysis
  • Primary data processing
  • Importance of visualization in data analysis
  • Data visualization tools
  • Python language libraries for visualization
  • Matplotlib library
  • Matplotlib architecture
  • Backend layer
  • Artist class
  • Using Artist class objects for visualization
  • Figures, subfigures, and axes
  • Containers of graphical objects
  • Figure lifecycle
  • Main types of graphs in matplotlib
  • Visualization at the script level
See More