دوره «مهارتهای نرمافزاری برای مهندسین هوش مصنوعی» یک برنامه آموزشی پایهای است که هدف آن تجهیز فراگیران به دانش و ابزارهای نرمافزاری ضروری برای موفقیت در مهندسی هوش مصنوعی است. مهندسین هوش مصنوعی که با چالشهای پیچیده در یادگیری ماشین و یادگیری عمیق روبرو هستند، به شدت به مهارتهای نرمافزاری قوی نیاز دارند تا توسعه، پیادهسازی و نگهداری سیستمهای هوشمند را بهینه کنند. این دوره بهعنوان نقطه ورود حیاتی، اصول سیستمهای لینوکس، کنترل ورژن با Git، مروری بر برنامهنویسی پایتون و اصول معماری نرمافزار را پوشش میدهد که همه اینها ستون فقرات گردش کار مدرن هوش مصنوعی هستند.
چرا به یادگیری مهارتهای نرمافزاری برای مهندسین هوش مصنوعی نیاز داریم؟
هدف این دوره، ایجاد پایهای قوی در مهارتهای فنی است که شرکتکنندگان را قادر میسازد تا با اطمینان پروژههای مهندسی هوش مصنوعی را مدیریت کنند. مباحث کاربردی مانند تنظیم سیستم، شبکهسازی، امنیت، کنترل نسخه برای همکاری و برنامهنویسی پیشرفته پایتون برای راهحلهای مدولار، مقیاسپذیر و قابل نگهداری در این دوره آموزش داده میشوند. در پایان، فراگیران نهتنها ابزارهای ضروری را فرا میگیرند، بلکه ذهنیت یک مهندس حرفهای هوش مصنوعی را برای حرکت به سمت موضوعات پیشرفته در نقشه راه هوش مصنوعی توسعه خواهند داد.
محتوای دوره:
مباحث این دوره آموزشی، پیش نیاز اجباری برای ورود به کورسهای مرتبط با مسیر مهندسی هوش مصنوعی می باشد.
۱. لینوکس
معماری و پیکربندی سیستم
- مروری بر معماری سیستم، شناسایی سختافزار و پیکربندی.
- فرآیند راهاندازی سیستم، مقداردهی اولیه و مدیریت سطوح اجرا (Runlevels).
- پروژه عملی: راهاندازی یک سیستم لینوکس، پیکربندی رابطهای شبکه و نصب کتابخانههای ضروری.
مدیریت بستهها و سیستم فایلها
- کار با سیستمهای مدیریت بسته Debian و Red Hat.
- ساختار سیستم فایل، پارتیشنبندی، مانت کردن، از مانت خارج کردن و مدیریت فضای دیسک.
- پروژه عملی: نصب و مدیریت بستههای نرمافزاری، راهاندازی و نگهداری سیستم فایلها و عیبیابی استفاده از فضای دیسک.
خط فرمان و ترمینال
- دستورات پایهای GNU/Linux، استفاده از ترمینال، مدیریت دیسک و مجوزها.
- پروژه عملی: پیمایش پوشهها، ایجاد فایلها و اسکریپتنویسی وظایف ضروری با استفاده از دستورات شل.
شبکه و امنیت
- پیکربندی شبکه، DNS، DHCP، FTP، SSH و پیکربندی دیوار آتش.
- پروژه عملی: پیکربندی رابطهای شبکه، راهاندازی یک DNS ساده و مدیریت قوانین دیوار آتش.
پیکربندی سرور و ابزارهای کلانداده
- نصب و پیکربندی Apache، هدوپ، اسپارک و کافکا.
- پروژه عملی: نصب Apache، راهاندازی سرور FTP و کار با نصبهای اولیه Hadoop و Spark.
۲. کنترل ورژن
مبانی گیت
- معرفی گیت، مدیریت مخزن و دستورات پایهای مانند
git init
،git commit
وgit status
. - پروژه عملی: راهاندازی یک مخزن گیت، انجام کامیتها و همکاری با استفاده از گیتهاب.
مفاهیم پیشرفته گیت
- شاخهسازی (Branching)، ادغام (Merging)، ریبیس کردن (Rebasing)، حل تعارضات و Stashing.
- پروژه عملی: استفاده از استراتژیهای شاخهسازی و ادغام گیت در پروژههای نرمافزاری تیمی.
گیتهاب Github
- کار با مخزنهای راه دور، فرآیند کاری گیتهاب، استفاده از SSH و همکاری از طریق Pull Request.
- پروژه عملی: کار با مخازن گیتهاب، ایجاد Pull Request و حل تعارضات ادغام.
۳. مروری بر پایتون + معماری نرمافزار
مبانی پایتون و شیگرایی
- سینتکس پایتون، انواع دادهها و مفاهیم پایهای شیگرایی: وراثت، چندریختی (Polymorphism) و کپسولهسازی (Encapsulation).
- پروژه عملی: ساخت یک اسکریپت پایتون برای مدیریت لیست کارها با یک راهحل ساده ذخیرهسازی فایل.
مفاهیم پیشرفته پایتون
- دکوریتورها، ترتیب حل روشها (MRO) و الگوهای طراحی مانند ترکیب (Composition).
- پروژه عملی: توسعه یک پروژه چندماژوله در پایتون با ساختارهای داده پیچیده و مدیریت فایل.
میکروسرویسها و APIها
- مقدمهای بر ساخت میکروسرویسهای پایتون، استفاده از gRPC و APIهای RESTful.
- پروژه عملی: ایجاد یک REST API ساده با استفاده از FastAPI و اتصال آن به یک بکاند پایتون.
معماری نرمافزار
- اصول طراحی: ماژولار بودن، مقیاسپذیری، قابلیت نگهداری و معماری میکروسرویس.
- پروژه عملی: طراحی یک معماری میکروسرویس پایه و پیادهسازی آن با استفاده از کانتینرهای Docker.