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