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

Multithreaded programming

2022/2023
Academic Year
ENG
Instruction in English
3
ECTS credits
Delivered at:
Department of Applied Mathematics and Informatics (Faculty of Informatics, Mathematics, and Computer Science (HSE Nizhny Novgorod))
Course type:
Elective course
When:
3 year, 4 module

Instructor


Арсеньева Татьяна Владимировна

Course Syllabus

Abstract

This course teaches learners (industry professionals and students) the fundamental concepts of parallel programming in the context of Java 8. Parallel programming enables developers to use multicore computers to make their applications run faster by using multiple processors at the same time. By the end of this course, you will learn how to use popular parallel Java frameworks (such as ForkJoin, Stream, and Phaser) to write parallel programs for a wide range of multicore platforms including servers, desktops, or mobile devices, while also learning about their theoretical foundations including computation graphs, ideal parallelism, parallel speedup, Amdahl's Law, data races, and determinism.
Learning Objectives

Learning Objectives

  • Introduction to the basics of multi-threaded programming through practical examples using the Java programming language
Expected Learning Outcomes

Expected Learning Outcomes

  • Can use ForkJoin, Stream, Phaser frameworks
  • Knows basic multithreading primitives (threads, mutexes, etc.)
Course Contents

Course Contents

  • Parallel Programming in Java
  • Concurrent Programming in Java.
Assessment Elements

Assessment Elements

  • non-blocking Контрольная работа
  • non-blocking Экзамен
Interim Assessment

Interim Assessment

  • 2022/2023 4th module
    0.5 * Экзамен + 0.5 * Контрольная работа
Bibliography

Bibliography

Recommended Core Bibliography

  • Hoger Khayrolla Omar, & Alaa Khalil Jumaa. (2019). Big Data Analysis Using Apache Spark MLlib and Hadoop HDFS with Scala and Java. https://doi.org/10.24017/science.2019.1.2

Recommended Additional Bibliography

  • Databases reference sheets: Date with Java, SQL, XML, JAXB, JDBC, JPA, JPA Inheritance / Rodrigo García Carmona. (2016). Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsbas&AN=edsbas.991AD36F