مدرس |
---|
مجتبی استواری |
ابوالفضل طاهری |
یکی از چالشهای امروزه، تبدیل داده به اطلاعات، اطلاعات به دانش و دانش به ارزش است. این فرآیند به سرعت در حال پیچیدهتر شدن است. دادهها حجیمتر، متنوعتر و از منابع مختلفی به دست میآید و به نسبت گذشته ناهمگنتر و ساختارناپذیرتر میشود. با این حال همچنان نیاز خواهیم داشت که بتوانیم آنها را با سرعت خوبی پردازش کنیم و الگوریتمهای پیچیدهتری روی آنها اعمال کنیم.
مجموعهی ملزومات و تکنولوژیهای لازم برای این کار را با عنوان دادههای حجیم مطرح میکنند، که انقلابی در کسب و کار ایجاد کرده است، توسعهی محصولات و مدلهای کسبوکار جدید در قالب علم، که به آن علم داده-محور میگوییم.
حجم زیاد دادهی تولید شده، که در محدودهی زتابایت در سال است، باید در دسترس قرار گرفته، پردازش و ذخیره شود و اطلاعات ارزشمند آن به کمک الگوریتمهای یادگیری ماشین مورد استفاده قرار گیرد. بنابراین نیاز به معماریها و رویکردهای جدید برای دسترسی، محاسبات و ذخیرهسازی میباشد و روشهای گذشته پاسخگوی نیاز حال نیست.
مهندسین داده مسئول ایجاد و نگهداری زیرساختهای لازم در این فرآیند هستند، در دسترس قرار دادن داده، در اختیار قرار دادن توانایی پردازش و ابزارهای تحلیل، قابلیت ذخیره و بازیابی اطلاعات، تولید محصولات مقیاسپذیر مجموعه کارهایی است که در این چرخه قرار میگیرد.
در این درس میخواهیم اشارهی کوتاهی به هر کدام از این بخشها داشته باشیم و با چالشهای هر کدام روبرو شویم.
۷ سری تمرین خواهیم داشت، که سری اول آن (در واقع سری صفرم) بیشتر برای بررسی پیش نیازهای درس خواهد بود. پروژه به صورت گروهی، در گروههای ۳ تا ۴ نفره پیش خواهد رفت و زمان تحویل آن نهایتا ۱۵ مرداد خواهد بود.
پیشنیازهای درس به صورت کلی، موارد زیر خواهد بود:
در مورد مراجع درس، مرجعی که تمامی موارد فوق را پوشش دهد موجود نیست، اما مراجع زیر میتواند مفید باشد:
در مورد ابزارها، داکیومنت خود ابزار که بر روی سایت آن موجود است، مرجع کاملی است. در مورد برنامهنویسی اسکالا میتوان از مراجع زیر استفاده کرد:
Programming in Scala: Updated for Scala 2.12
Functional Programming in Scala
در مورد مفاهیمی که در مراجع فوق موجود نیست، در کلاس مقالهی مربوط به آن معرفی خواهد شد.