دوره برنامه نویسی تابعی در اسکالا ـ کارگاه دوم

شروع رویداد
پنج‌شنبه ۴ شهریور ۹۵ ۰۸:۳۰
پایان رویداد
جمعه ۵ شهریور ۹۵ ۱۳:۳۰
مکان رویدادتهران
موضوع رویدادتکنولوژی / برنامه نویسی
اضافه به تقویم
دوره برنامه نویسی تابعی در اسکالا ـ کارگاه دوم
برگزارکننده‌ی رویداد
تماس با برگزارکننده
۶۱۵۳
گزارش
مهلت ثبت‌نام برای این رویداد به پایان رسیده است.

توضیحات بیشتر

عنوان دوره:

برنامه نویسی تابعی در اسکالا

Functional Programming in Scala

 

کارگاه گذشته:

برنامه نویسی تابعی در اسکالا ـ بخش اول

Functional Programming in Scala - part 1

 

کارگاه این هفته:

برنامه نویسی تابعی در اسکالا ـ بخش دوم

Functional Programming in Scala - part 2


نکات کلی دوره:

  • ظرفیت هر کارگاه ۱۵ نفر است (البته در صورت استقبال بیشتر، احتمال تکرار دوره در آینده وجود دارد).
  • به شرکت‌کنندگان کارگاه‌ها، گواهینامه رسمی بیان (دو زبانه، با هولوگرام شرکت بیان و امضای مدیر عامل) اهدا می‌شود؛ گواهی‌نامه‌ها، پس از پایان یک دوره از کارگاه‌ها صادر و برای افراد ارسال می‌شود و البته در آن، عنوان کارگاه‌هایی ذکر خواهد شد که آن شخص در آنها حضور یافته است.
  • عمده مباحث هفته‌های ابتدایی، پیش‌نیاز کارگاه‌های بعدی (و بلکه برخی دوره‌های آینده) هستند؛ البته قابل ذکر است که برای شرکت کنندگان در یکی از کارگاه‌های هر دوره، کد تخفیف ۳۰ درصدی برای کارگاه‌های بعدی ارائه می‌شود.
  • پس از هر کارگاه، دسترسی به ویدئوی مباحث ارائه شده برای شرکت کنندگان فراهم خواهد شد.
  • می‌توانید برای اطلاعات بیشتر به تارنمای مدرسه فناوری بیان مراجعه نمایید.
  • لطفاً هر پرسش، پیشنهاد و یا انتقادی را با ما مطرح فرمایید: academy@bayan.co.ir

 

«اسکالا» (Scala) یک زبان برنامه‌نویسی شیءگرا و تابعی است. نام اسکالا آمیزه‌ای است از Scalable و Language به معنی زبان مقایس‌پذیر. از اهداف اصلی ایجاد زبان اسکالا، ارائه زبانی است برای تولید نرم‌افزار مقیاس‌پذیر به روشی چابک و سریع، و به دور از مشکلات مرسوم.

اسکالا تلفیق زبان‌های شیء‌گرا همچون روبی و جاوا با زبان‌های تابعی همچون هسکل و ارلنگ است. از دیدگاه چابکی و کارایی، عده‌ای اسکالا را جمع دو دنیای زبان‌های پویا (Dynamic-Type) و ایستا (Static-Type) می‌دانند. یکی از دلایل دیگری که باعث مقبولیت و همچنین کارایی بالای این زبان می‌شود، دستور زبان منعطف آن است.

اسکالا توسط پروفسور مارتین اودرسکی که خالق Genericهای جاوا و از برترین توسعه دهندگان کامپایلر javac است، در سال ۲۰۰۳ طراحی و به مرور توسط ایشان و جامعه اسکالا بهبود و توسعه داده شده است. جیمز استراچن (سازنده زبان برنامه‌نویسی Groovy) در توصیفی اسکالا را ادامه دهنده احتمالی جاوا دانسته است.

منبع: دانش‌نامه آزاد ویکی‌پدیا

 

این دوره برای این افراد مناسب است:

  • دانشجویان یا فارغ التحصیلان رشته‌های زیرمجموعه کامپیوتر، فناوری اطلاعات، ریاضی و... که علاقمند به یادگیری زبان‌های برنامه نویسی سطح بالا هستند.
  • افرادی که با برنامه نویسی شیءگرا آشنا بوده و به دنبال آشنایی با برنامه نویسی تابعی هستند.

 

پیش نیاز دوره:

  • آشنایی با برنامه نویسی (ترجیحاً جاوا)
  • همراه داشتن لپ تاپ  و نصب Intellij Idea (Community Edition) و SBT [Scala Build Tool] (البته ساده‌ترین راه برای رفع مشکل دریافت آن در کشور، استفاده از VPN است)
  • اگر مشکلی در نصب و راه‌اندازی نرم‌افزارهای پیش نیاز داشتید، نیم ساعت قبل از شروع کارگاه حضور پیدا کنید تا از مباحث عقب نیافتید.

 

زمان‌بندی و محتوای دوره:

کارگاه دوم در دو جلسه پنج‌شنبه و جمعه، ۴ و ۵ شهریور ۱۳۹۵، از ساعت ۸:۳۰ تا ۱۳:۳۰ در شرکت بیان برگزار می‌شود.

در مباحث گذشته، به این سرفصل‌ها پرداخته شد:

Week 1

[ Introduction to Scala ]

[ Programming paradigms ]

[ Setup & getting started ]

 [ Basic syntax ]

[ Typing discipline ]

[ Function types ]

[ Type Parameters ]

[ Basic OO ]

[ Introduction to Functional Programming ]

[ Higher order functions ]

[ FP and Type parameters ]

[ Recursion ]

[ Lambda Expressions ]


در کارگاه این هفته سرفصل‌های زیر ارائه می‌شوند:

Week 2

[ Higher order functions ]

[ Introduction to JVM Build system ]

[ Introduction to SBT ]

[ Project structure in SBT ]

[ Introduction to BDD ]

[ Using Scala test ]

[ Pattern matching ]

[ Apply/Unapply ]

[ For Comprehensions ]

[ FP with linkedLists ]

[ Function Composition ]

[ Generators ]

[ Error handling ]


ان شاء الله در هفته‌های آینده نیز ادامه این دوره با همین روال برگزار خواهد شد (البته ممکن است تغییراتی وجود داشته باشد):

Week 3

[ Implicit conversions ]

[ Implicit parameters ]

[ Lazy evaluation ]

[ By name parameters ]

[ Streams ]

[ Basic concurrency and futures ]

 

Week 4

[ Introduction to real-world Scala projects ]

[ Play ]

[ Slick ]

[ Akka ]


معرفی مدرس:

مهندس «سید حسین آیت» بیش از یازده سال سابقه فعالیت برای شرکت‌های مختلف را در کارنامه داشته و در حال حاضر در حوزه سامانه‌های توزیع شده و کلان داده فعالند. ایشان چندین سال است که در «شرکت بیان» با عنوان مهندس ارشد نرم افزار مشغول به کار هستند.


کارگاه گذشته:

آدرس:تهران جنب ایستگاه متروی دانشگاه صنعتی شریف، کوچه زهره، پلاک ۳ (ساختمان بیان)، واحد ۳