طرح کلی علوم رایانه
علوم رایانه (همچنین علم محاسبات نامیده میشود) مطالعه پایههای نظری اطلاعات و محاسبات و اجرای و کاربرد آنها در سیستمهای کامپیوتری است. یک سیستم طبقهبندی موضوعی شناخته شده برای علوم رایانه، سیستم محاسبه طبقهبندی ACM است که توسط انجمن ماشینهای رایانه طراحی شدهاست.
علوم کامپیوتر چه نوع چیزی است؟
علم کامپیوتر را میتوان به عنوان همه موارد زیر توصیف کرد:
- رشته تحصیلی
- علوم پایه
زیر موضوعها
پایههای ریاضی
- نظریه کدگزاری - مفید در شبکه و دیگر زمینهها که در آن کامپیوترها با یکدیگر ارتباط برقرار میکنند.
- تئوری بازی - مفید در هوش مصنوعی و سایبرنتیک.
- نظریه گراف - مبانی ساختار دادهها و الگوریتمهای جستجو.
- منطق ریاضی - منطق بولی و سایر روشهای مدلسازی پرس و جو منطقی؛ استفاده و محدودیتهای روشهای اثبات رسمی
- نظریه شماره - نظریه اعداد صحیح. استفاده شده در رمزنگاری و همچنین حوزه آزمون در هوش مصنوعی.
الگوریتمها و ساختارهای داده
- الگوریتم - روشهای محاسباتی متوالی و موازی برای حل طیف وسیعی از مشکلات.
- ساختار دادهها - سازماندهی و دستکاری دادهها.
هوش مصنوعی
طرح کلی هوش مصنوعی
- هوش مصنوعی - پیادهسازی و مطالعه سیستمهایی که هوش خودمختار یا رفتار خود را نشان میدهند.
- استدلال خودکار - موتورهای حل کننده مانند آنچه در پرولگ استفاده شده، که گامهایی تا پاسخ را با استفاده از دادهها بر اساس یک پایگاه داده قانون و نتیجه و نتایج پیشبینی کنندههای قضیه اتوماتیک ایجاد میکند که هدف آنها ثابت کردن برخی از قواعد ریاضی با کمک یک برنامهنویس است.
- دیدگاه کامپیوتر - الگوریتم برای شناسایی اشیاء سه بعدی از یک تصویر دو بعدی.
- محاسبات نرم، استفاده از راه حلهای غیر دقیق برای مشکلات بسیار دشوار:
- یادگیری ماشین - ایجاد خودکار مجموعه ای از قواعد و اصطلاحات مبتنی بر ورودی.
- محاسبات تکاملی - الگوریتمهای الهام گرفته از زیستشناسی.
- پردازش زبان طبیعی - تولید سیستمهای ساختمان و الگوریتمهایی که زبانهای طبیعی (انسان) را تجزیه و تحلیل و درک میکنند.
- رباتیک - الگوریتمهای کنترل رفتار روباتها.
ارتباطات و امنیت
- شبکه سازی - الگوریتمها و پروتکلها برای برقراری ارتباط قابل اطمینان میان رسانههای مختلف اشتراک گذاری شده و اختصاص داده شده برای انتقال داده، اغلب شامل اصلاح خطا.
- امنیت کامپیوتر - جنبههای عملی امن کردن سیستمهای کامپیوتری و شبکههای کامپیوتری.
- رمزنگاری - اعمال نتیجههایی از پیچیدگی، احتمال، جبر و نظریه اعداد برای اختراع و شکستن کدهای، و تجزیه و تحلیل امنیت پروتکل رمزنگاری.
معماری کامپیوتر
- معماری کامپیوتر - طراحی، سازماندهی، بهینهسازی و تأیید یک سیستم کامپیوتری، بیشتر در مورد پردازندهها و زیر سیستم حافظه (و اتوبوس متصل می کننده آنها).
- سیستم عامل - سیستمهایی برای مدیریت برنامههای کامپیوتری و ارائه پایه ای از یک سیستم قابل استفاده.
گرافیک کامپیوتری
- گرافیک کامپیوتری - الگوریتمهای هم برای تولید تصاویر بصری مصنوعی و همچنین برای ادغام یا تغییر اطلاعات بصری و فضایی بر اساس نمونههایی از دنیای واقعی.
- پردازش تصویر - تعیین اطلاعات از یک تصویر از طریق محاسبات.
- تجسم اطلاعات - روشهای ارائه و نمایش دادههای انتزاعی برای تسهیل تعامل انسان برای اکتشاف و درک.
سیستمهای همزمان، موازی و توزیع شده
- محاسبات موازی - نظریه و عمل محاسبات همزمان؛ ایمنی دادهها در هر محیط چند وظیفه یا چند مرحله ای.
- همبستگی (علوم کامپیوتر) - محاسبه با استفاده از چند رشته اجرای همزمان، ایجاد الگوریتم برای حل مسائل در چند پردازنده برای رسیدن به حداکثر سرعت در مقایسه با اجرای ترتیبی.
- محاسبات توزیع شده - محاسبه با استفاده از دستگاههای کامپیوتری متعدد بر روی یک شبکه برای انجام یک هدف یا وظیفه مشترک و در نتیجه کاهش زمان تأخیر در مشارکت تک پردازنده برای هر کار.
پایگاههای داده
- پایگاه دادههای ارتباطی - پایه نظری مجموعه ای و الگوریتمی پایگاههای داده.
- ذخیرهسازی سازمانی - پایگاههای دادههای غیر مرتبط مانند پایگاههای داده NoSQL.
- داده کاوی - مطالعه الگوریتمها برای جستجو و پردازش اطلاعات در اسناد و پایگاههای داده؛ نزدیک به بازیابی اطلاعات است.
- تئوری کامپایلر - تئوری طراحی کامپایلر، بر اساس نظریه Automata.
- پراگماتیک زبان برنامهنویسی - طبقهبندی زبانهای برنامهنویسی، قدرت و ضعف آنها. پارادایمهای مختلف برنامهنویسی، مانند برنامهنویسی شی گرا.
- نظریه زبان برنامهنویسی
- معانی رسمی - مطالعه دقیق ریاضی معنی برنامهها.
- تئوری نوع - تجزیه و تحلیل رسمی انواع دادهها و استفاده از این انواع برای درک خواص برنامهها - به ویژه امنیت برنامه.
محاسبات علمی
- علم محاسباتی – ساخت مدلهای ریاضی و تکنیکهای تجزیه و تحلیل کمی و استفاده از کامپیوتر برای تجزیه و تحلیل و حل مشکلات علمی.
- تجزیه و تحلیل عددی - راه حل عددی تقریبی از مشکلات ریاضی مانند ریشهابی، ادغام، حل معادلات دیفرانسیل معمولی؛ تقریبی از توابع خاص.
- محاسبات نمادین - دستکاری و حل عبارات در شکل نمادین، همچنین به عنوان جبر کامپیوتر شناخته شدهاست.
- فیزیک محاسباتی - شبیهسازی عددی از سیستمهای غیر تحلیلی بزرگ
- شیمی محاسباتی - مدلسازی محاسباتی از شیمی تئوری برای تعیین ساختار و خواص شیمیایی
- بیوانفورماتیک و زیستشناسی محاسباتی - استفاده از علوم رایانه برای حفظ، تجزیه و تحلیل، ذخیره دادههای بیولوژیکی و کمک به حل مشکلات بیولوژیکی مانند پوشیدگی پروتئین، پیشبینی عملکرد و فیلوژنی.
- علوم اعصاب محاسباتی - مدلسازی محاسباتی نوروفیزیولوژی.
مهندسی نرمافزار
- روشهای رسمی - رویکردهای ریاضی برای توصیف و استدلال در مورد طراحی نرمافزار.
- مهندسی نرمافزار - اصول و عمل طراحی، توسعه و تست برنامهها، و همچنین شیوههای مهندسی مناسب.
- طراحی الگوریتم - استفاده از ایدههایی از نظریه الگوریتم برای طراحی راه حلهای خلاقانه برای وظایف واقعی.
- برنامهنویسی کامپیوتر - استفاده از یک زبان برنامهنویسی برای پیادهسازی الگوریتمها.
- تعامل انسان و کامپیوتر - مطالعه و طراحی رابطهای کامپیوتری که مردم استفاده میکنند.
- مهندسی معکوس - کاربرد روش علمی در درک نرمافزارهای موجود دلخواه.
نظریه محاسبات
- نظریه خودکار - ساختارهای منطقی مختلف برای حل مشکلات.
- تئوری محاسبه پذیری - آنچه با مدلهای فعلی رایانه قابل محاسبه است. اثباتهایی که توسط آلن تورینگ و دیگران ایجاد شدهاست، بینش را آنچه که ممکن است محاسبه شود و آنچه که ممکن نیست.
- فهرست مشکلات حل نشده در علم کامپیوتر
- نظریه پیچیدگی محاسباتی - محدودههای اساسی (به ویژه زمان و فضای ذخیرهسازی) بر طبقههای محاسبات.
- تئوری محاسبات کوانتومی - مدلهای محاسباتی را که حاوی ابررسانای کوانتومی بیت هستند را بررسی میکند.
تاریخ
- تاریخ علوم رایانه
- فهرست پیشگامان علوم رایانه
حرفهها
دادهها و ساختارهای داده
پارادایمهای برنامهنویسی
جستارهای وابسته
پیوند به بیرون
- طرح کلی علوم رایانه در کرلی
- [۱] ACM گزارش یک برنامه درسی علوم رایانه توصیه شده (2008)
- فهرست سخنرانیهای دانشگاه آزاد در علوم کامپیوتر
- مجموعه کتابشناسی علوم رایانه
- عکسهای دانشمندان کامپیوتر (گالری برتری میر)