علوم رایانه یا علوم کامپیوتر به مجموعهٔ فنون و رشتههایی گفته میشود که به زیربناهای نظری، روشهای طراحی و ساخت و چگونگی استفاده ازرایانه میپردازند. بنا به نظرپیتر جی. دنینگ، پرسش اساسی در علوم رایانه این است که: چه چیزی میتواند (به نحوی کارآمد) خودکار انجام شود؟
عموماً مردم عامی، بین علوم رایانه و سایر امور مرتبط با رایانه که اغلب مایهای برای کسب درآمد هستند، تمایزی قایل نمیشوند و یا فکر میکنند علوم رایانه با تجربیات روزمرهٔ آنها در کار با رایانه، مانند گشتزنی در اینترنت، انجام بازیهای رایانهای و مانند اینها، تفاوتی ندارد. حال آنکه علوم رایانه بیشتر به فهم و بررسی خصوصیاتی میپردازد که برنامهها بر پایه آنها ساخته شدهاند؛ و بر مبنای این فهم و درک، به ایجاد برنامههای جدید و یا بهبودی برنامههای پیشین میپردازند.
پیشینه
اگرچه آغاز ساخت رایانههای رقمی الکترونیک را میشود از اواخر دههٔ ۱۹۳۰ میلادی دانست، ریشهها، مبادی و سرچشمههای دانش رایانه را باید در روشهای محاسباتی کهن با تاریخ و سوابق هزاران ساله نشان گرفت. در بسیاری از روشهای محاسباتی بابلیان، الگوریتمهایی به کار میرفتهاند که هماکنون نیز رایجاند. بطور نمونه کتاب الجبر و مقابلهخوارزمی پر از روشهای محاسباتی الگوریتمی است و بیدلیل نیست که نام الگوریتم از نام الخوارزمی وخوارزمی گرفته شدهاست که اشاره به روشها و راهکارهای متفاوت حل یک مساله دارد چنانکه حتی وی برای حل مسائل جبری از هندسه نیز استفاده می کرده است. برای اولین بار در سال ۱۹۶۰ علوم رایانه بصورت یک رشتهٔ تحصیلی مستقل بوجود آمد و آن را با مدارک معتبر در دانشگاهها ارائه نمودند. از زمانی که رایانهها در دسترس عموم قرار گرفتند، برنامههای کاربردی مختلف ارائه شده برای آنها، زمینههای جداگانه برای مطالعه گشتهاند.
پیشرفتهای بزرگ
با وجود عمر کم این شاخه از علوم، به عنوان یک رشتهٔ دانشگاهی، علم رایانه کمکهای اساسی به دانش و اجتماع نمودهاست که شامل موارد زیر است:
کاربردها در علم رایانه
یک تعریف رسمی برای محاسبات و محاسبه پذیری و اثبات اینکه مسائلی غیرقابل حل و یا حل آنها طاقت فرساست، ارائه داد.
مفهوم زبان برنامه نویسی، به معنی ابزاری برای بیان دقیق اطلاعات تحلیل پذیر در سطوح مختلف انتزاع، را ارائه داد.
کاربردها خارج از علم رایانه
موجب بوجود آمدن انقلاب دیجیتال شد که به عصر اطلاعات فعلی منجر شد.
در رمزنگاری شکسته شدن کد انیگما کمکی اساسی برای پیروزی متّفقین در جنگ جهانی دوم شد.
محاسبات علمی مطالعه پیشرفت ذهن و بررسی ژنوم انسانی در پروژه ژنوم انسانی را ممکن ساخت. پروژههای محاسبات توزیعی مانند Folding@home، امکان بررسی پروتئینها را فراهم ساخت.
بخشهایی از علم رایانه
علم رایانه، موضوعات متنوعی از مطالعات نظری روی الگوریتمها و محدودیت محاسبات گرفته تا مسائل کاربردی از جمله ساخت سختافزار و نرمافزار رایانهها را شامل میشود.
هیأت اعتبارگذاری علم رایانه(The Computer Sciences Accreditation Board) - متشکل از انجمن محاسبات ماشینی (ACM)، جامعه علوم کامپیوتر مؤسسه مهندسین برق و الکترونیک و انجمن سیستمهای اطلاعاتی - چهار عرصه خطیر برای علم رایانه معرفی کردهاست: نظریه محاسبات، الگوریتمها و ساختمان داده،زبانهای برنامه سازی و معماری رایانه. علاوه بر اینها، این هیأت، موضوعاتی نظیر مهندسی نرمافزار، هوش مصنوعی، شبکههای کامپیوتری، سیستمهای پایگاه داده، پردازش موازی، ارتباط انسان و کامپیوتر، گرافیک کامپیوتری، سیستمهای عامل و محاسبات عددی را نیز موضوعاتی مهم در این علم قلمداد کرده است.
علم نظری رایانه
موضوع وسیع علم نظری رایانه، علاوه بر نظریات کلاسیک محاسبات، شامل طیف وسیعی از موضوعات دیگری میشود که بیشتر بر روی جنبههای منطقی و ریاضیاتی پردازش و محاسبه تمرکز دارند.
نظریه محاسبات سعی دارد به این پرسشها پاسخ دهد که اساساً چه چیزی میتواند محاسبه شود و محاسبهٔ آن چقدر توان و منابع نیاز دارد. در تلاشی برای پاسخ گویی به پرسش اول، نظریه محاسبهپذیری (computability theory) بررسی میکند که چه مسائلی قابل حل هستند (از طریق نظریات مدلهای پردازش). پاسخ دومین پرسش به نظریه پیچیدگی محاسباتی مرتبط میشود. این نظریه به زمان و فضای مورد نیاز برای رسیدن به پاسخ مطلوب در روشهای مختلف پاسخگویی، میپرازد.
مسئله مشهور "P=NP?" یکی مسائل حل نشده نظریه محاسبات است.
علیرغم نام آن، علم رایانه بیشتر در زمینههایی غیر از رایانه به بررسی میپردازد. بدین دلیل نامهای جایگزین دیگری برای آن پیشنهاد شدهاست. دانشمند دانمارکی پیتر ناور عبارت دادهشناسی (Datalogy) را پیشنهاد نمود تا این حقیقت را که این رشته علمی بیشتر به دادهها و پردازش آنها توجه دارد نه لزوماً رایانهها، روشن سازد. اولین موسسهٔ علمی که عبارت دادهشناسی را بکار برد DIKU گروه دادهشناسی در دانشگاه کپنهاگ بودهاست که توسط پیتر ناور در سال ۱۹۶۹ به عنوان اولین گروه دادهشناسی بنا گذاشته شد. این عبارت بیشتر در کشور اسکاندیناوی مورد استفاده قرار گرفتهاست. در اولین روزهای این علم در ارتباطات ACM نامهای دیگری نیز برای دانشمندان این زمینه پیشنهاد شده بود مانند Turingineer و Turologist و Flowcharts-Man و Applied-Metamathematition و Applied Epistomologist. سه ماه بعد در این مجله عبارت Comptologist پیشنهاد شد و سال بعد عبارت Hypologist. اخیراً عبارت Computics نیز پیشنهاد شدهاست.
عبارت زیر از دانشمند معروف علم رایانه ادسخر دیکسترا نقل قول شدهاست: "علم رایانه به همان اندازه در مورد رایانه است که نجوم در مورد تلسکوپ." طراحی و بکارگیری رایانه و سیستمهای رایانهای معمولاً در محل بکارگیری رشتههای دیگر است. برای مثال سختافزار رایانه توسط مهندسین رایانه مورد بررسی قرار میگیرد و مطالعهٔ سیستمهای رایانهای تجاری و بکارگیری آنها در رشته فناوری اطلاعات و سیستمهای اطلاعاتی است. گاهی علوم رایانه را به دلیل این که به اندازه کافی علمی نیست مورد انتقاد قرار میدهند که در این عبارت بیان شدهاست: "دانش به علم رایانه مانند هیدرودینامیک است به لولهکشی". این عبارت توسط استن کلی بوتل و دیگران بیان شدهاست. مطالعات در علم رایانه به سایر رشتهها نیز وارد شدهاست مانند هوش مصنوعی.
آموزش علوم رایانه در ایران
در بسیاری از کشورهای پیشرو در زمینهٔ علوم کامپیوتر، مثل ایالات متحده آمریکا و کشورهای اروپایی، رشتهٔ علوم کامپیوتر رشتهٔ اصلی در زمینهٔ علوم و مهندسی کامپیوتر و سیستمهای اطلاعاتی است. در کنار این رشته، رشتههایی مانند مهندسی کامپیوتر — که بسیار مرتبط با مهندسی برق است — و سیستمهای اطلاعاتی برای علاقهمندان وجود دارد.
در این کشورها، معمولاً مهندسی نرمافزار زمینهای در علوم کامپیوتر است؛ حال آنکه مهندسی کامپیوتر، که راجع بهسختافزار و معماری کامپیوتر است بهصورت مستقل و معمولاً در دانشکدههایی در کنار مهندسی برق ارائه میشوند.
اما در ایران، رشتهٔ اصلی کامپیوتر، رشتهٔ مهندسی کامپیوتر است که شامل رشتههای مهندسی نرمافزار، مهندسی سختافزار و فناوری اطلاعات است. در کنار آن علوم کامپیوتر که متأسفانه آشنایی کمی با آن وجود دارد، بیشتر روی مسائل نظری متمرکز است و در واقع چیزی شبیه علوم کامپیوتر نظری در کشورهایی نظیر ایالات متحده است.