• A
  • A
  • A
  • ABC
  • ABC
  • ABC
  • А
  • А
  • А
  • А
  • А
Regular version of the site

Programming languages: part A

2020/2021
Academic Year
ENG
Instruction in English
4
ECTS credits

Instructor

Course Syllabus

Abstract

The Python programming language is one of the easiest to learn and most popular programming languages. The aim of the course is to study the basic constructions of the Python language, which will be useful in solving a wide range of problems - from data analysis to the development of new software products. As a result of mastering the course, students will learn how to process and store numbers, texts and their sets, master the standard library of the Python language and will be able to automate tasks for collecting and processing data. The course provides the necessary foundation for mastering more specialized areas of use of the Python language, such as machine learning, statistical data processing, data visualization, and many others. Also, students will get acquainted with the basics of various programming paradigms: procedural, functional and object-oriented programming.
Learning Objectives

Learning Objectives

  • Mastering basic machine learning algorithms that allow you to solve various data analysis problems.
  • Mastering python libraries that implement various machine learning algorithms.
Expected Learning Outcomes

Expected Learning Outcomes

  • Have an understanding of the General concept of the algorithm and existing algorithmic languages.Know the basic constructions of an algorithmic language: algorithm, branching and loop, and the simplest examples of pseudo-code programs.
  • Know controlled learning methods for both classification and regression.
  • Know methods for evaluating and selecting models that can be used to understand and optimize the performance of machine learning models.
Course Contents

Course Contents

  • General concept of the algorithm. Control constructions of an algorithmic language. Concept of a variable.
    The General concept of an algorithm is considered and a brief overview of existing algorithmic languages is given. We introduce an informal algorithmic language-pseudocode, which is as close as possible to the natural language. The basic constructions of an algorithmic language - algorithm, branching, and loop-are considered.the simplest examples of pseudocode programs are given. The concept of a variable is defined.
  • Evaluation
    This module covers evaluation and model selection methods that you can use to help understand and optimize the performance of your machine learning models.
  • Supervised Machine Learning
    This module delves into a broader range of controlled learning methods for both classification and regression, exploring the relationship between model complexity and generalization performance, the importance of proper feature scaling, and how to control model complexity by applying methods such as regularization. Covers linear regression (least squares, comb, lasso, and polynomial regression), logistic regression, support vector machines, using cross validation to evaluate models, and decision trees.
Assessment Elements

Assessment Elements

  • non-blocking домашние задания
  • non-blocking контрольная работа
  • non-blocking экзамен
Interim Assessment

Interim Assessment

  • Interim assessment (2 module)
    0.3 * домашние задания + 0.3 * контрольная работа + 0.4 * экзамен
Bibliography

Bibliography

Recommended Core Bibliography

  • Nelli, F. (2015). Python Data Analytics : Data Analysis and Science Using Pandas, Matplotlib and the Python Programming Language. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1056488
  • Pierce, B. C. (2005). Advanced Topics in Types and Programming Languages. Cambridge, Mass: The MIT Press. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=138471

Recommended Additional Bibliography

  • David Flanagan. (2020). Javascript: The Definitive Guide : Master the World’s Most-Used Programming Language. O’Reilly Media.