# مشخصات کلی

## برنامه درسی دوره کارشناسی علوم کامپیوتر فردوسی

[علوم کامپیوتر فردوسی](http://cs-um.github.io/)

{% hint style="info" %}
_توجه:_ این صفحات مرتبط با برنامه درسی دوره کارشناسی علوم کامپیوتر فردوسی است. سایت، غیر رسمی و در حال راه‌اندازی است؛ مطالب آن قابلیت استناد ندارند.
{% endhint %}

### الف) مقدمه

روند رو به رشد استفاده از کامپيوتر در زندگي روزانه افراد امری مشهود است. گسترش کسب و کارهایی مثل فروشگاه‌ها و تاکسی‌های آنلاین، تغییر تدریجی کسب و کارهای سنتی به کسب و کارهای مبتنی بر بستر شبکه‌های کامپیوتری را ملموس نموده است. پیشرفت‌های سریع حوزه کامپیوتر و هوش مصنوعی خبر از تحولات عمده در این حوزه در سطح جهان را می‌دهد که نویدبخش چشم‌انداز روشنی برای فعالان و فارغ‌التحصیلان رشته‌های مرتبط با علوم کامپیوتر است. در خلال چند دهه‌ی اخیر تعاریف متعددی برای علوم کامپیوتر داده شده است، می‌توان گفت علم کامپیوتر به مطالعه کامپیوتر نمی‌پردازد، بلکه در حالت کلی عبارت است از حل مسائل توسط یک دستگاه قابل برنامه‌ریزی. از جمله زیرحوزه‌های مطرح در علوم کامپیوتر می‌توان مواردی مانند نظریه‌ی محاسبات، داده ساختارها و الگوریتم‌ها، زبانها و متدولوژی‌های برنامه‌نویسی و هوش مصنوعی را برشمرد که هر یک خود شامل دسته‌های تخصصی‌تر هستند:

1. **نظریه‌ی محاسبات**، شامل نظریه اتوماتا،‌ نظریه‌ی پیچیدگی محاسباتی، زبانهای رسمی، محاسبات کوانتومی، ‌ نظریه مدار منطقی، اتوماتای سلولی و ...
2. **داده ساختارها و الگوریتم‌ها**، ‌شامل آنالیز الگوریتم‌ها، طراحی الگوریتم‌ها، ساختارهای داده، بهینه‌سازی ترکیبیاتی، هندسه محاسباتی و الگوریتم‌های تصادفی
3. **نظریه‌ی زبانهای برنامه‌نویسی و روش‌های صوری**، ‌شامل زبانهای برنامه‌نویسی، طراحی کامپایلر، درستی‌یابی صوری و ...
4. **هوش مصنوعی**، شامل نظریه یادگیری محاسباتی، بینایی ماشین، شبکه‌های عصبی، برنامه‌ریزی و زمانبندی، پردازش زبان طبیعی،‌ نظریه بازی، محاسبات تکاملی، شناسایی الگو، هوش جمعی و ...
5. **پایگاه داده‌ها و داده‌کاوی**
6. **پردازش صوت و تصویر**، ‌شامل آنالیز فوریه،‌ پردازش صوت، پردازش تصویر، فشرده‌سازی داده و ...
7. **محاسبات علمی** شامل، آنالیز عددی، فیزیک محاسباتی، بیوانفورماتیک، انفورماتیک پزشکی،‌ نورو انفورماتیک
8. **نظریه‌ی کدگذاری و اطلاعات**، شامل نظریه‌ی کدگذاری و ...
9. **امنیت و رمزنگاری**
10. **پردازش موازی و سیستم‌های توزیع شده**
11. **گرافیک کامپیوتری و بصری‌سازی**، شامل گرافیک دو بعدی کامپیوتری، پویانمایی،‌ واقعیت مجازی و ...
12. **تعامل انسان و کامپیوتر**
13. **مهندسی نرم‌افزار**
14. **معماری کامپیوتر**،‌ شامل محاسبات فراگیر، سیستم‌های عامل و ...
15. **شبکه‌های کامپیوتری**

به این دلیل که عنوان «علم کامپیوتر» این تلقی اشتباه را باعث می‌شده است که در این حوزه به مطالعه‌ی کامپیوتر پرداخته می‌شود، معادل‌هایی همچون داده‌شناسی یا علم داده‌ها نیز برای این رشته پیشنهاد شده بوده است. در یک برنامه‌ی درسی دوره کارشناسی امکان پوشش همه‌ی حوزه‌های فوق نیست؛ در برنامه درسی حاضر، سعی شده است که نکات چندی رعایت شوند: ۱) دروس اصلی از سه رشته ریاضیات، آمار و کامپیوتر که بنیان‌های نظری حداقلی برای زیرحوزه‌های فوق‌الذکر را برآورده نمایند، پوشش داده شود، ۲) دروس الزامی-تخصصی با رویکرد هوش مصنوعی انتخاب شده‌اند، ۳) خوشه‌های دانشی مرتبط با برخی از زیرحوزه‌های فوق برای راهنمایی دانشجویان در انتخاب دروس اختیاری پیشنهاد شده‌اند و ۴) دانشجویان با انتخاب دروس اختیاری مناسب، توانایی ادامه تحصیل در دوره های تحصیلات تکمیلی در رشته‌های مرتبط را داشته باشند.

### ب) مشخصات کلی، تعریف و اهداف

هدف این برنامه تربیت کارشناسانی است که علاوه بر آشنایی با بنیان‌های نظری علوم کامپیوتر،‌ توانایی بکار بستن دانش خود در مسائل دنیای واقعی را نیز داشته باشند. برنامه ریزی درسی به شکلی است که دانشجویان رشته علوم کامپیوتر با انتخاب دروس اختیاری مناسب در سال های بالاتر توانایی ادامه تحصیل در دوره های تحصیلات تکمیلی در گرایش‌های متنوع علوم کامپیوتر و سایر رشته های بین رشته­ای مرتبط را خواهند داشت. برخی از نکاتی که در این برنامه مد نظر قرار گرفته اند عبارتند از:

* تدوین ساختار کلی برنامه به گونه ای که همه دانشجویان دروس اصلی ریاضی، آمار و کامپیوتر مرتبط با رشته را در دروس پایه و تخصصی بگذرانند. برخی از دروس تخصصی تحت عنوان «دروس اختیاری» در اختیار گروه­های آموزشی و دانشجویان گرفته است تا با توجه به توانمندی اعضای هیات علمی، ارائه شوند و دانش نظری یا کاربردی دانشجویان علاقه مند به ادامه تحصیل یا اشتغال تقویت شود.
* آموزش و تربیت نیروی موثر در بازار کار حوزه تحلیل داده، هوشمندسازی، تحقیق و توسعه
* تامین بستری مناسب برای آینده شغلی بهتر دانش آموختگان.
* توجه به توانایی ها و علایق متفاوت دانشجویان و پتانسیل موجود در دانشکده‌های علوم ریاضی در کشور.
* ایجاد شرایط مناسب برای ادامه تحصیل دانشجویان در رشته‌ی علوم کامپیوتر و یا در برخی از رشته های علوم ریاضی و بین رشته ای.
* ایجاد دروس اختیاری متنوع و هدفمند برای افزایش توانایی های علمی و مهارتی دانشجویان.
* امکان تعریف و ارائه دروس جدید، مطابق معیارهای روز بین المللی در زمینه های جدید کاربردی و نظری.
* ایجاد بستری مناسب برای آشنایی دانشجویان با مفاهیم ریاضی لازمه و توانایی به کارگیری ریاضیات محاسباتی.
* ایجاد بستری مناسب برای آشنایی دانشجویان با مفاهیم مورد نیاز آماری برای تجزیه و تحلیل داده‌ها
* ایجاد بستری مناسب برای توانمندسازی دانشجویان برای برنامه‌نویسی
* افزایش هوش اجتماعی دانشجویان با دروس حوزه اقتصاد و کارآفرینی

### پ) ضرورت و اهمیت

نقل قول اندرو اینگ‌ با عنوان «هوش مصنوعی الکتریسیته‌ی قرن حاضر است»، جایگاه حوزه هوش مصنوعی به عنوان یکی از زیر مجموعه‌های علوم کامپیوتر را مشخص می‌کند. بر همین اساس و در جهت سرآمدی در حوزه‌ی هوش مصنوعی و یادگیری ماشین، ضرورت دایر نمودن دوره علوم کامپیوتر با نگرش هوش مصنوعی که در این برنامه درسی مدنظر است، واضح و مبرهن است.

###

### ت) تعداد و نوع واحدهای درسی

برنامه دوره کارشناسی علوم کامپیوتر شامل ۱۳۸ واحد درسی است. دانشجو پس از گذراندن این تعداد واحد به شرح جدول ذیل فارغ التحصیل کارشناسی علوم کامپیوتر خواهد شد.

**جدول (1)- توزیع واحدهای درسی**

| **تعداد کل واحدها** | **نحوه اخذ درس**                               | **نوع درس**  |
| ------------------- | ---------------------------------------------- | ------------ |
| ۲۲                  | طبق مصوبات وزارت عتف                           | عمومی        |
| ۲۰                  | اجباری (جدول شماره2)                           | پایه         |
| ۷۸                  | الزامی (دروس هسته علوم کامپیوتر- جدول3)        | الزامی تخصصی |
| ۱۸                  | در اختیار دانشجو ( انتخاب از دروس جدول شماره۴) | اختیاری      |
| ۱۳۸                 | جمع                                            |              |

#### جداول دروس پایه، الزامی و اختیاری

فهرست درس‌های هر یک از جدول‌های فوق‌الذکر را در صفحه [جداول دروس](tables) ملاحظه فرمایید.

### ث) مهارت، توانمندی و شایستگی دانش آموختگان

این برنامه با توجه به برنامه های درسی به روز گروه­ های علوم کامپیوتر دانشگاه های معتبر دنیا و با توجه به امکانات دانشگاه های کشور و شرایط بومی تدوین شده است. در این برنامه بر توانمندسازی دانشجویان در سه زمینه کامپیوتر، ریاضیات و آمار و همچنین مباحث کارآفرینی تاکید شده است.

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

### ج) خوشه‌های دانشی

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

| **خوشه‌های دانشی کارشناسی علوم کامپیوتر به ترتیب الفبایی**                                                                                                                                                                                                                                                                                   |                                                                                                                                                                                                                                                                                                                                                                  |                                                                                                                                                                                                                                                                                                                                                                     |                                                                                                                                                                                                                                                                                                                                                                     |
| -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **الگوریتم‌ها و نظریه محاسبه**                                                                                                                                                                                                                                                                                                               | **بیوانفورماتیک**                                                                                                                                                                                                                                                                                                                                                | **محاسبات علمی**                                                                                                                                                                                                                                                                                                                                                    | **رایانش امن**                                                                                                                                                                                                                                                                                                                                                      |
| <p><strong>طراحی و تحلیل الگوریتم‌ها</strong></p><p><strong>مبانی ترکیبیات</strong></p><p><strong>بهینه‌سازی گسسته</strong></p><p><strong>مبانی نظریه محاسبه</strong></p><p>نظریه محاسبه</p><p>الگوریتم‌های تصادفی</p><p>هندسه محاسباتی</p><p>منطق برای علوم کامپیوتر</p><p>معناشناسی عملیاتی برنامه‌نویسی</p><p>آشنایی با نظریه بازی‌ها</p> | <p><strong>پایگاه داده‌ها</strong></p><p><strong>یادگیری ماشین مقدماتی</strong></p><p><strong>داده‌کاوی مقدماتی</strong></p><p><strong>آشنایی با یادگیری عمیق</strong> نظریه گراف و کاربردهای آن</p><p>تحلیل شبکه‌های اجتماعی</p><p>زیست‌شناسی سلولی و مولکولی (خارج رشته)</p><p>مبانی بیوانفورماتیک</p>                                                         | <p><strong>مبانی محاسبات علمی</strong></p><p><strong>مبانی آنالیز عددی</strong></p><p>جبر خطی</p><p>سیستم‌های عامل</p><p>رایانش چندهسته‌ای</p><p>آشنایی با کلان داده‌ها</p><p>شبکه‌های کامپیوتری</p><p>مبانی رایانش ابری</p>                                                                                                                                        | <p>مبانی جبر</p><p>رمزنگاری</p><p>نظریه مقدماتی کدگذاری</p><p>برنامه‌نویسی امن</p><p>سیستم‌های عامل</p><p>شبکه‌های کامپیوتری</p><p>مبانی رایانش ابری</p><p>امنیت داده و شبکه (خارج رشته)</p><p>مبانی امنیت اطلاعات (خارج رشته)</p>                                                                                                                                  |
| **فناوری اطلاعات**                                                                                                                                                                                                                                                                                                                           | **علم داده‌ها**                                                                                                                                                                                                                                                                                                                                                  | **هوش مصنوعی**                                                                                                                                                                                                                                                                                                                                                      | **یادگیری ماشین**                                                                                                                                                                                                                                                                                                                                                   |
| <p><strong>پایگاه داده‌ها</strong></p><p>تجارت الکترونیک</p><p>اصول طراحی نرم‌افزار</p><p>مدیریت پروژه‌های فناوری اطلاعات</p><p>سیستم‌های عامل</p><p>شبکه‌های کامپیوتری</p><p>برنامه‌نویسی وب</p><p>برنامه‌نویسی موبایل</p><p>مبانی رایانش ابری</p>                                                                                          | <p><strong>تحلیل آماری داده‌ها</strong></p><p><strong>یادگیری ماشین مقدماتی</strong></p><p><strong>داده‌کاوی مقدماتی</strong></p><p><strong>آشنایی با یادگیری عمیق</strong></p><p><strong>سری‌های زمانی کاربردی</strong></p><p>تجارت الکترونیک</p><p>نظریه گراف و کاربردهای آن</p><p>تحلیل شبکه‌های اجتماعی</p><p>آشنایی با کلان داده‌ها</p><p>روش‌های آماری</p> | <p><strong>هوش مصنوعی</strong></p><p><strong>تحلیل آماری داده‌ها</strong></p><p><strong>یادگیری ماشین مقدماتی</strong></p><p><strong>داده‌کاوی مقدماتی</strong></p><p><strong>آشنایی با یادگیری عمیق</strong></p><p>پردازش تصویر مقدماتی</p><p>آشنایی با پردازش زبان طبیعی</p><p>منطق برای علوم کامپیوتر</p><p>آشنایی با نظریه بازی‌ها</p><p>مبانی هوش محاسباتی</p> | <p><strong>بهینه‌سازی غیرخطی</strong></p><p><strong>یادگیری ماشین مقدماتی</strong></p><p><strong>داده‌کاوی مقدماتی</strong></p><p><strong>آشنایی با یادگیری عمیق</strong></p><p><strong>سری‌های زمانی کاربردی</strong></p><p>آشنایی با پردازش زبان طبیعی</p><p>آنالیز فوریه و موجک‌ها</p><p>سیگنالها و سیستم‌ها</p><p>شبکه‌های عصبی (خارج رشته)</p><p>رگرسیون ۱</p> |

توضیحات: - - - این خوشه‌ها به منظور راهنمایی دانشجویان ارائه شده و اجباری در اخذ دروس بر اساس آنها وجود ندارد. - - لزوما تمامی دروس خوشه‌ها به صورت منظم توسط دانشکده ارائه نمی‌شوند.
