اصول برنامه‌سازی مقیاس‌پذیر

Principles of Scalable Programming

مقطع: تحصیلات تکمیلی گرایش: علم داده
نوع درس: نظری تعداد واحد: ۳
پیش‌نیاز: – هم‌نیاز: –

هدف کلی

هدف این درس، آشنا کردن دانشجویان کارشناسی ارشد و دکترا با الگوها و پارادایم‌های برنامه‌نویسی مقیاس‌پذیر و با کارایی بالا برای ساخت سیستم‌های مقیاس بالا است. این الگوها باید به صورت عملی در یک یا چند زبان برنامه‌نویسی به دانشجویان تدریس شود که زبان پیشنهادی اسکالا است.

سرفصل‌ها

  1. بحثی بر مقیاس‌پذیری در زبان‌های برنامه‌سازی (جمع‌اوری زباله، نوع دسترسی به حافظه، استثنائات، و …)
  2. پشتیبانی از انواع تجرید‌ها (ماژول، شی‌گرایی، برنامه‌نویسی تابعی و ….)
  3. برنامه‌نویسی و طراحی تابعی
  4. برنامه‌نویسی همزمان و جمع‌اوری دیتا موازی
  5. برنا‌مه‌نویسی واکنشی
  6. برنامه‌نویسی توزیع‌شده
  7. مدل اکتور و سکوی akka
  8. پردازش جریانی داده

ارزیابی پیشنهادی

منابع پیشنهادی

  1. M. Odersky, L. Spoon, and B. Venners. Programming in Scala: Updated for Scala 2.12.. Third Edition, Artima Incorporation, 2016.
  2. A. Prokopec. Learning Concurrent Programming in Scala. Packt Publishing Ltd, 2017.
  3. P. Chiusano and R. Bjarnason. Functional programming in Scala. Simon and Schuster, 2014.