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

