# علوم رایانه

**دانش رایانه** یا **علم کامپیوتر** به مجموعهٔ مطالعاتی گفته می‌شود که به زیربناهای نظری، روش‌های طراحی و ساخت و چگونگی استفاده از رایانه می‌پردازند. علوم رایانه رویکردی علمی و عملی به محاسبات (computation) و کاربردهای آن است. این علم به بررسی سیستماتیک: امکان‌پذیری، ساختار، پیاده‌سازی و مکانیزمِ محاسبه‌های روشمند (یا الگوریتم) می‌پردازد؛ که مبنای آن کسب، نمایش، پردازش، ذخیره‌سازی، ارتباط و دسترسی به **اطلاعات** است.

بنا به نظر پیتر جی. دنینگ، پرسش اساسی در علوم رایانه این است که: *چه چیزی می‌تواند (به نحوی کارآمد) خودکار انجام شود؟*
رشته علوم رایانه را می‌توان به زیررشته‌های نظری و عملی بسیاری تقسیم‌بندی کرد. بعضی از این زیررشته‌ها، نظیر نظریه پیچیدگی محاسباتی (که خواص اساسی مشکلات محاسباتی و قابل حل بودن آن‌ها را بررسی می‌کند) بسیار انتزاعی هستند، این در حالی است که زیررشته‌های دیگر مانند گرافیک کامپیوتری به بررسی کاربردهای قابل لمس‌تر در دنیای واقعی تأکید دارند. اکثر زیررشته‌های علوم رایانه بر چالش‌های موجود در اجرای محاسبات تمرکز دارند.

## تاریخ

و بی‌دلیل نیست که نام الگوریتم از نام الخوارزمی و خوارزمی گرفته شده‌است که اشاره به روش‌ها و راهکارهای متفاوت حل یک مسئله دارد چنان‌که حتی وی برای حل مسائل جبری از هندسه نیز استفاده می‌کرده‌است. برای اولین بار در سال ۱۹۶۰ علوم رایانه به صورت یک رشتهٔ تحصیلی مستقل به وجود آمد و آن را با مدارک معتبر در دانشگاه‌ها ارائه نمودند. از زمانی که رایانه‌ها در دسترس عموم قرار گرفتند، برنامه‌های کاربردی مختلف ارائه شده برای آن‌ها، زمینه‌های جداگانه برای مطالعه گشته‌اند.(محمد عماد ابوترابی یزدی)

## پیشرفت‌های بزرگ

با وجود عمر کم این شاخه از علوم، به عنوان یک رشتهٔ دانشگاهی، علم رایانه کمک‌های اساسی به دانش و اجتماع نموده‌است که شامل موارد زیر است:

**کاربردها در علم رایانه یک تعریف رسمی برای محاسبات و محاسبه ‌پذیری و اثبات اینکه مسائلی غیرقابل حل یا حل آن‌ها طاقت فرساست، ارائه میدهد.
* مفهوم زبان برنامه‌نویسی، به معنی ابزاری برای بیان دقیق اطلاعات تحلیل پذیر در سطوح مختلف انتزاعی، را ارائه داد.

**کاربردها خارج از علم رایانه موجب به وجود آمدن انقلاب دیجیتال شد که به عصر اطلاعات فعلی منجر شد.
* در رمزنگاری شکسته شدن کد انیگما کمکی اساسی برای پیروزی متّفقین در جنگ جهانی دوم شد.
* محاسبات علمی مطالعه پیشرفت ذهن و بررسی ژنوم انسانی در پروژه ژنوم انسانی را ممکن ساخت. پروژه‌های محاسبات توزیعی مانند *Folding@home*، امکان بررسی پروتئین‌ها را فراهم ساخت.

## بخش‌هایی از علم رایانه

|  |  |
| --- | --- |
|  |  |
|  |  |

علوم رایانه (بالا ساعت گرد از چپ به راست):

* نظریه پیچیدگی محاسباتی
* نظریه زبان‌های برنامه‌نویسی
* معماری رایانه
* هوش مصنوعی

علم رایانه، موضوعات متنوعی از مطالعات نظری روی الگوریتم‌ها و محدودیت محاسبات گرفته تا مسائل کاربردی از جمله ساخت سخت‌افزار و نرم‌افزار رایانه‌ها را شامل می‌شود.

هیئت اعتبار گذاری علم رایانه(The Computer Sciences Accreditation Board) - متشکل از انجمن محاسبات ماشینی (انجمن ماشین‌های محاسب)، جامعه علوم رایانه مؤسسه مهندسین برق و الکترونیک و انجمن سیستم‌های اطلاعاتی - چهار عرصه خطیر برای علم رایانه معرفی کرده‌است: نظریه محاسبات، الگوریتم‌ها و ساختمان داده، زبان‌های برنامه سازی و معماری رایانه. علاوه بر این‌ها، این هیئت، موضوعاتی نظیر مهندسی نرم‌افزار، هوش مصنوعی، شبکه‌های کامپیوتری، سیستم‌های پایگاه داده، پردازش موازی، ارتباط انسان و کامپیوتر، گرافیک کامپیوتری، سیستم‌های عامل و محاسبات عددی را نیز موضوعاتی مهم در این علم قلمداد کرده‌است.

### علم نظری رایانه

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

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
|  |  | **P = NP** ? | **GNITIRW-TERCES** |  |
| نظریه اتوماتا | نظریه رایانش پذیری | نظریه پیچیدگی محاسباتی | رمزنگاری | نظریه رایانش کوانتومی |

### نظریه محاسبات

"نظریه محاسبات سعی دارد به این پرسش‌ها پاسخ دهد "که اساساً چه چیزی می‌تواند محاسبه شود و محاسبهٔ آن چقدر توان و منابع نیاز دارد. در تلاشی برای پاسخ گویی به پرسش اول، نظریه محاسبه‌پذیری ([computability theory]) بررسی می‌کند که چه مسائلی قابل حل هستند (از طریق نظریات مدل‌های پردازش). پاسخ دومین پرسش به نظریه پیچیدگی محاسباتی مرتبط می‌شود. این نظریه به زمان و فضای مورد نیاز برای رسیدن به پاسخ مطلوب در روش‌های مختلف پاسخگویی، می‌پردازد.

مسئله مشهور [[*"P=NP?"*]]یکی مسائل حل نشده نظریه محاسبات است.

### الگوریتم‌ها و ساختمان‌های داده

|  |  |  |
| --- | --- | --- |
|  WIKINIUM\_MATH\_PH\_0  |  |  |
| آنالیز الگوریتم‌ها | الگوریتم | ساختمان داده |

### زبان‌های برنامه سازی

|  |  |
| --- | --- |
|  |  |
| کامپایلرها | زبان‌های برنامه‌نویسی |

### معماری رایانه

|  |  |  |
| --- | --- | --- |
|  |  |  |
| منطق دیجیتال | ریزمعماری | چند پردازی |

### محاسبات عددی

|  |  |  |  |  |  |  |
| --- | --- | --- | --- | --- | --- | --- |
|  |  |  |  |  |  |  WIKINIUM\_MATH\_PH\_2  |
| بیوانفورماتیک | علوم شناختی | شیمی محاسباتی | عصب‌شناسی محاسباتی | فیزیک محاسباتی | آنالیز عددی | محاسبات نمادین |

### برنامه‌ها

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

|  |  |  |  |  |
| --- | --- | --- | --- | --- |
|  |  |  |  |  |
| سیستم‌عامل | شبکه‌های رایانه‌ای | گرافیک رایانه | بینایی کامپیوتری | پایگاه داده |
|  |  |  |  |  |
| امنیت رایانه‌ای | هوش مصنوعی | رباتیک | رابط انسان و رایانه | رایانش فراگیر |

## ارتباط با سایر رشته‌ها

علی‌رغم نام آن، علم رایانه بیشتر در زمینه‌هایی غیر از رایانه به بررسی می‌پردازد. بدین دلیل نام‌های جایگزین دیگری برای آن پیشنهاد شده‌است. دانشمند دانمارکی پیتر ناور عبارت داده‌شناسی (Datalogy) را پیشنهاد نمود تا این حقیقت را که این رشته علمی بیشتر به داده‌ها و پردازش آن‌ها توجه دارد نه لزوماً رایانه‌ها، روشن سازد. نخستین مؤسسهٔ علمی که عبارت داده‌شناسی را به کار برد DIKU گروه داده‌شناسی در دانشگاه کپنهاگ است که توسط پیتر ناور در سال ۱۹۶۹ به عنوان اولین گروه داده‌شناسی بنا گذاشته شد. این عبارت بیشتر در کشور اسکاندیناوی مورد استفاده قرار گرفته‌است. در اولین روزهای این علم در ارتباطات ACM نام‌های دیگری نیز برای دانشمندان این زمینه پیشنهاد شده بود، مانند ((Turingineer و Turologist و Flowcharts-Man و Applied-Metamathematition و Applied Epistomologist)). سه ماه بعد در این مجله عبارت "Comptologist "پیشنهاد شد و سال بعد عبارت" Hypologist". اخیراً عبارت Computics نیز پیشنهاد شده‌است.

عبارت زیر از دانشمند معروف علم رایانه ادسخر دیکسترا نقل قول شده‌است: «علم رایانه به همان اندازه در مورد رایانه است که نجوم در مورد تلسکوپ‌ است».
طراحی و به‌کارگیری رایانه و سیستم‌های رایانه‌ای معمولاً در محل به‌کارگیری رشته‌های دیگر است. برای مثال سخت‌افزار رایانه؛ توسط مهندسین رایانه مورد بررسی قرار می‌گیرد، و مطالعهٔ سیستم‌های رایانه‌ای تجاری و به‌کارگیری آن‌ها در رشته فناوری اطلاعات و سیستم‌های اطلاعاتی است. گاهی علوم رایانه را به دلیل این که به اندازه کافی علمی نیست مورد انتقاد قرار می‌دهند که در این عبارت بیان شده‌است: «دانش به علم رایانه مانند هیدرودینامیک است به لوله‌کشی». این عبارت توسط استن کلی بوتل و دیگران بیان شده‌است. مطالعات در علم رایانه به سایر رشته‌ها نیز وارد شده‌است؛ مانند هوش مصنوعی.

## زبان انگلیسی

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

## آموزش علوم رایانه در ایران

در بسیاری از کشورهای پیشرو در زمینهٔ علوم رایانه، مثل ایالات متحده آمریکا و کشورهای اروپایی، رشتهٔ علوم رایانه رشتهٔ اصلی در زمینهٔ علوم و مهندسی کامپیوتر و سیستم‌های اطلاعاتی است. در کنار این رشته، رشته‌هایی مانند مهندسی کامپیوتر — که بسیار مرتبط با مهندسی برق است — و سیستم‌های اطلاعاتی برای علاقه‌مندان وجود دارد.

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

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

در رتبه‌بندی شانگهای، دانشگاه‌های تهران، صنعتی امیرکبیر و شریف هر کدام برای مدّت یک سال در بین ۲۰۰ دانشگاه برتر جهان در زمینهٔ علوم رایانه بوده‌اند که این رده‌بندی بیشتر بر اساس میزان مقاله‌های منتشر شده در این زمینه است.

## جستارهای وابسته

* طرح کلی علوم رایانه
* فلسفه علوم رایانه
* علوم رایانه در ورزش
* علوم نظری رایانه
* منطق در علوم رایانه
* فهرست مسئله‌های حل‌نشده در علوم رایانه

## منابع