Мы используем файлы cookies для улучшения работы сайта НИУ ВШЭ и большего удобства его использования. Более подробную информацию об использовании файлов cookies можно найти здесь, наши правила обработки персональных данных – здесь. Продолжая пользоваться сайтом, вы подтверждаете, что были проинформированы об использовании файлов cookies сайтом НИУ ВШЭ и согласны с нашими правилами обработки персональных данных. Вы можете отключить файлы cookies в настройках Вашего браузера.

  • A
  • A
  • A
  • АБB
  • АБB
  • АБB
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта
Статья
Partitioning vertices of graphs into paths of the same length

Duginov O., Dmitriy Malyshev, Dmitriy Mokeev

Discrete Applied Mathematics. 2025. Т. 373. С. 179-195.

Глава в книге
ALOE: Boosting Large Language Model Fine-Tuning with Aggressive Loss-Based Elimination of Samples

Demidovskij A., Трутнев А. И., Тугарев А. М. et al.

In bk.: Frontiers in Artificial Intelligence and Applications: 27th European Conference on Artificial Intelligence, 19–24 October 2024, Santiago de Compostela, Spain. Vol. 392. IOS Press Ebooks, 2024. P. 3980-3986.

Препринт
The Gamma-Theta Conjecture holds for planar graphs

Taletskii D.

math. arXiv. Cornell University, 2024

Контакты

603093 Н.Новгород, ул. Родионова, д. 136, 406 к.

Тел: (831) 436-13-97
E-mail: kaf_pmi@hse.ru

Multithreaded programming

2020/2021
Учебный год
ENG
Обучение ведется на английском языке
3
Кредиты

Преподаватель

Course Syllabus

Abstract

Parallel Programming in Java https://www.coursera.org/learn/parallel-programming-in-java Аннотация: 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

  • Целями освоения дисциплины является знакомство с основами многопоточного програм-мирования на практических примерах с использованием языка программирования Java. Изучение данной дисциплины основано на следующих курсах: • Основы и методология программирования Для освоения учебной дисциплины, студенты должны владеть следующими знаниями и компетенциями: • Методы программирования • Объектно-ориентированное программирование Знания, полученные при изучении дисциплины могут быть использованы при написании курсовой и дипломной работы.
Expected Learning Outcomes

Expected Learning Outcomes

  • Умеет использовать фреймворки ForkJoin, Stream, Phaser
  • Знает базовые многопоточные примитивы (потоки , мьютексы и др)
Course Contents

Course Contents

  • Parallel Programming in Java
    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.
  • Concurrent Programming in Java.
    This course teaches learners (industry professionals and students) the fundamental concepts of concurrent programming in the context of Java 8. Concurrent programming enables developers to efficiently and correctly mediate the use of shared resources in parallel programs. By the end of this course, you will learn how to use basic concurrency constructs in Java such as threads, locks, critical sections, atomic variables, isolation, actors, optimistic concurrency and concurrent collections, as well as their theoretical foundations (e.g., progress guarantees, deadlock, livelock, starvation, linearizability).
Assessment Elements

Assessment Elements

  • non-blocking контрольная
  • non-blocking экзамен
    Экзамен проводится на платформе Zoom (https://zoom.us). К экзамену необходимо подключиться согласно расписанию ответов, высланному преподавателем на корпоративные почты студентов накануне экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка Zoom. Для участия в экзамене студент обязан: поставить на аватар свою фотографию, явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. Во время экзамена студентам запрещено: выключать камеру, пользоваться конспектами и подсказками. Кратковременным нарушением связи во время экзамена считается нарушение связи до 5 минут. Долговременным нарушением связи во время экзамена считается нарушение 5 минут и более. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи аналогична процедуре сдачи.
  • non-blocking контрольная
  • non-blocking экзамен
    Экзамен проводится на платформе Zoom (https://zoom.us). К экзамену необходимо подключиться согласно расписанию ответов, высланному преподавателем на корпоративные почты студентов накануне экзамена. Компьютер студента должен удовлетворять требованиям: наличие рабочей камеры и микрофона, поддержка Zoom. Для участия в экзамене студент обязан: поставить на аватар свою фотографию, явиться на экзамен согласно точному расписанию, при ответе включить камеру и микрофон. Во время экзамена студентам запрещено: выключать камеру, пользоваться конспектами и подсказками. Кратковременным нарушением связи во время экзамена считается нарушение связи до 5 минут. Долговременным нарушением связи во время экзамена считается нарушение 5 минут и более. При долговременном нарушении связи студент не может продолжить участие в экзамене. Процедура пересдачи аналогична процедуре сдачи.
Interim Assessment

Interim Assessment

  • Interim assessment (4 module)
    0.5 * контрольная + 0.5 * экзамен
Bibliography

Bibliography

Recommended Core Bibliography

  • Коузен К. - Современный Java: рецепты программирования - Издательство "ДМК Пресс" - 2018 - 275с. - ISBN: 978-5-97060-134-1 - Текст электронный // ЭБС ЛАНЬ - URL: https://e.lanbook.com/book/116121

Recommended Additional Bibliography

  • Weston, T. (2018). Scala for Java Developers : A Practical Primer. [Berkeley, CA]: Apress. Retrieved from http://search.ebscohost.com/login.aspx?direct=true&site=eds-live&db=edsebk&AN=1658694