علوم کامپیوتر

از ویکیپدیا، دانشنامه آزاد
پرش به ناوبری پرش به جستجو

بیان اعداد کلیسا در حساب لامبدا طرح یک الگوریتم مرتب سازی سریع
نمونه ای از انیمیشن کامپیوتری تولید شده با استفاده از تصویربرداری حرکتی مدار نیم جمع کننده

زمینه های اساسی علوم کامپیوتر شامل مطالعه زبان های برنامه نویسی کامپیوتر (بالا سمت چپ)، طراحی و تجزیه و تحلیل الگوریتم ها (بالا سمت راست)، ساخت سیستم های هوشمند (پایین سمت چپ)، و سخت افزار الکتریکی (پایین سمت راست) است.

علوم کامپیوتر شامل مطالعه یا تمرین محاسبات ، اتوماسیون و اطلاعات است. [1] علوم کامپیوتر از رشته های نظری (مانند الگوریتم ها، نظریه محاسبات و نظریه اطلاعات ) تا رشته های عملی (از جمله طراحی و اجرای سخت افزار و نرم افزار ) را در بر می گیرد. [2] [3] علوم کامپیوتر به طور کلی به عنوان یک حوزه تحقیقات دانشگاهی در نظر گرفته می شود و از برنامه نویسی کامپیوتر متمایز است . [ نیازمند منبع ]

الگوریتم ها و ساختارهای داده محوری در علوم کامپیوتر هستند. [4] [5] نظریه محاسبات مربوط به مدل های انتزاعی محاسبات و کلاس های کلی از مسائل است که می توان با استفاده از آنها حل کرد. زمینه های رمزنگاری و امنیت رایانه شامل مطالعه ابزارهای ارتباط امن و جلوگیری از آسیب پذیری های امنیتی است. گرافیک کامپیوتری و هندسه محاسباتی به تولید تصاویر می پردازد. نظریه زبان برنامه نویسی رویکردهایی را برای توصیف فرآیندهای محاسباتی در نظر می گیرد ونظریه پایگاه داده مربوط به مدیریت مخازن داده است. تعامل انسان و رایانه به بررسی رابط هایی می پردازد که از طریق آن انسان و رایانه با هم تعامل دارند و مهندسی نرم افزار بر طراحی و اصول پشت نرم افزار توسعه تمرکز می کند. حوزه هایی مانند سیستم عامل ها ، شبکه ها و سیستم های تعبیه شده اصول و طراحی پشت سیستم های پیچیده را بررسی می کنند. معماری کامپیوتر ساخت اجزای کامپیوتر و تجهیزات کامپیوتری را توصیف می کند. هوش مصنوعی و یادگیری ماشینیهدف سنتز فرآیندهای هدف گرا مانند حل مسئله، تصمیم گیری، سازگاری با محیط، برنامه ریزی و یادگیری موجود در انسان و حیوانات است. در هوش مصنوعی، هدف بینایی رایانه درک و پردازش داده‌های تصویری و ویدیویی است، در حالی که پردازش زبان طبیعی به منظور درک و پردازش داده‌های متنی و زبانی است.

دغدغه اساسی علم کامپیوتر این است که تعیین کند چه چیزی می تواند خودکار شود و چه چیزی نمی تواند. [6] [ نیاز به نقل قول برای تأیید ] جایزه تورینگ به طور کلی به عنوان بالاترین امتیاز در علوم کامپیوتر شناخته می شود.

تاریخچه [ ویرایش ]

چارلز بابیج ، که گاهی اوقات به عنوان "پدر محاسبات" شناخته می شود. [7]
آدا لاولیس اولین الگوریتم در نظر گرفته شده برای پردازش در رایانه را منتشر کرد. [8]

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

ویلهلم شیکارد اولین ماشین حساب مکانیکی فعال را در سال 1623 طراحی و ساخت . [10] لایب‌نیتس را می‌توان اولین دانشمند کامپیوتر و نظریه‌پرداز اطلاعات دانست، از جمله دلایل دیگر، مستندسازی سیستم اعداد باینری. در سال 1820، توماس د کولمار صنعت ماشین‌حساب مکانیکی را راه‌اندازی کرد [یادداشت 1] زمانی که حساب‌سنج ساده‌شده‌اش را اختراع کرد ، اولین ماشین محاسبه‌ای که به اندازه کافی قوی و قابل اعتماد برای استفاده روزانه در یک محیط اداری بود.چارلز بابیج در سال 1822 طراحی اولین ماشین حساب مکانیکی خودکار ، موتور دیفرانسیل خود را آغاز کرد ، که در نهایت ایده اولین ماشین حساب مکانیکی قابل برنامه ریزی ، موتور تحلیلی خود را به او داد . [11] او توسعه این دستگاه را در سال 1834 آغاز کرد و "در کمتر از دو سال، بسیاری از ویژگی های برجسته کامپیوتر مدرن را ترسیم کرد". [12] "یک گام مهم اتخاذ یک سیستم کارت پانچ مشتق شده از ماشین بافندگی ژاکارد " [12] بود که آن را بی نهایت قابل برنامه ریزی کرد. [یادداشت 2]در سال 1843، آدا لاولیس در حین ترجمه یک مقاله فرانسوی در مورد موتور تحلیلی ، در یکی از یادداشت‌های متعددی که آورده بود، الگوریتمی برای محاسبه اعداد برنولی نوشت که اولین الگوریتم منتشر شده است که به طور خاص برای پیاده‌سازی طراحی شده است. روی یک کامپیوتر [13] در حدود سال 1885، هرمان هولریث جدول‌ساز را اختراع کرد که از کارت‌های پانچ برای پردازش اطلاعات آماری استفاده می‌کرد. در نهایت شرکت او بخشی از IBM شد. پرسی لودگیت پس از بابیج، اگرچه از کارهای قبلی او بی خبر بود، در سال 1909 منتشر کرد [14]دومین مورد از تنها دو طرح برای موتورهای تحلیلی مکانیکی در تاریخ. در سال 1937، صد سال پس از رویای غیرممکن بابیج، هاوارد آیکن آی‌بی‌ام را متقاعد کرد که انواع تجهیزات کارت پانچ را تولید می‌کرد و همچنین در تجارت ماشین حساب [15] مشغول بود تا ماشین‌حساب قابل برنامه‌ریزی غول‌پیکر خود، ASCC/Harvard Mark I را توسعه دهد . در موتور تحلیلی بابیج که خود از کارت ها و یک واحد محاسباتی مرکزی استفاده می کرد. وقتی دستگاه به پایان رسید، برخی از آن به عنوان "رویای بابیج به حقیقت پیوست" استقبال کردند. [16]

در طول دهه 1940، با توسعه ماشین‌های محاسباتی جدید و قدرتمندتر مانند کامپیوتر Atanasoff-Berry و ENIAC ، اصطلاح کامپیوتر به ماشین‌ها اشاره کرد تا پیشینیان انسان. [17] همانطور که مشخص شد که رایانه‌ها را می‌توان برای بیش از محاسبات ریاضی استفاده کرد، حوزه علوم رایانه به مطالعه محاسبات به طور کلی گسترش یافت. در سال 1945، IBM آزمایشگاه محاسبات علمی واتسون را در دانشگاه کلمبیا در شهر نیویورک تأسیس کرد.. خانه برادری بازسازی شده در غرب منهتن، اولین آزمایشگاه IBM بود که به علم ناب اختصاص داشت. این آزمایشگاه پیشرو بخش تحقیقات IBM است که امروزه تأسیسات تحقیقاتی را در سراسر جهان اداره می کند. [18] در نهایت، رابطه نزدیک بین IBM و دانشگاه در ظهور یک رشته علمی جدید، با ارائه یکی از اولین دوره‌های دانشگاهی با اعتبار دانشگاهی در کلمبیا در سال 1946 ، بسیار مهم بود. [19] علوم کامپیوتر شروع به تأسیس کرد. به عنوان یک رشته دانشگاهی متمایز در دهه 1950 و اوایل دهه 1960. [20] [21] اولین برنامه درجه علوم کامپیوتر در جهان، دیپلم کمبریج در علوم کامپیوتر ، در دانشگاه کمبریج آغاز شد. آزمایشگاه کامپیوتر در سال 1953. اولین بخش علوم کامپیوتر در ایالات متحده در دانشگاه پردو در سال 1962 تشکیل شد.

ریشه شناسی [ ویرایش ]

اگرچه برای اولین بار در سال 1956 [23] پیشنهاد شد، [23] اصطلاح "علوم کامپیوتر" در مقاله ای در سال 1959 در Communications of ACM ظاهر شد، [24] که در آن لوئیس فین برای ایجاد یک مدرسه تحصیلات تکمیلی در علوم کامپیوتر مشابه با ایجاد هاروارد استدلال می کند. مدرسه بازرگانی در سال 1921، [25] نام را با این استدلال توجیه کرد که، مانند علم مدیریت ، این موضوع ماهیت کاربردی و بین رشته ای دارد، در حالی که دارای ویژگی های معمول یک رشته دانشگاهی است. [24] تلاش های او و تلاش های دیگران مانند تحلیلگر عددی جورج فورسایتدر سال 1962 ، دانشگاه‌ها به ایجاد چنین بخش‌هایی ادامه دادند. به همین دلیل، چندین نام جایگزین پیشنهاد شده است. [27] بخش‌های خاصی از دانشگاه‌های بزرگ، اصطلاح علم محاسبات را ترجیح می‌دهند تا دقیقاً بر این تفاوت تأکید کنند. دانشمند دانمارکی پیتر ناور اصطلاح داده شناسی را پیشنهاد کرد ، [28]منعکس کننده این واقعیت است که رشته علمی حول محور داده ها و پردازش داده ها می چرخد، در حالی که لزوماً شامل رایانه نمی شود. اولین مؤسسه علمی که از این واژه استفاده کرد، دپارتمان داده شناسی در دانشگاه کپنهاگ بود که در سال 1969 تأسیس شد و پیتر ناور اولین استاد دیتالوژی بود. این اصطلاح عمدتاً در کشورهای اسکاندیناوی استفاده می شود. یک اصطلاح جایگزین، که توسط Naur نیز پیشنهاد شده است، علم داده است . این در حال حاضر برای یک زمینه چند رشته ای از تجزیه و تحلیل داده ها، از جمله آمار و پایگاه های داده استفاده می شود.

در روزهای اولیه محاسبات، تعدادی از اصطلاحات برای دست اندرکاران حوزه محاسبات در ارتباطات ACM پیشنهاد شد - تورینگن ، تورشناس ، فلوچارت -مرد ، متا ریاضیدان کاربردی ، و معرفت شناس کاربردی . [29] سه ماه بعد در همان مجله، Comptologist پیشنهاد شد و سال بعد توسط Hypologist . [30] اصطلاح محاسبات نیز پیشنهاد شده است. [31] در اروپا، اصطلاحات مشتق شده از ترجمه قراردادی عبارت "اطلاعات خودکار" (به عنوان مثال "informazione automatica" در ایتالیایی) یا "اطلاعات و ریاضیات" اغلب استفاده می شود، به عنوان مثال informatique (فرانسوی)، Informatik (آلمانی)، informatica (ایتالیایی، هلندی). )، informática (اسپانیایی، پرتغالی)، informatika ( زبان های اسلاوی و مجارستانی ) یا pliroforiki ( πληροφορική ، که به معنای انفورماتیک) در یونانی است. کلمات مشابهی نیز در بریتانیا (مانند دانشکده انفورماتیک، دانشگاه ادینبورگ ) پذیرفته شده است. [32]با این حال، در ایالات متحده، انفورماتیک با محاسبات کاربردی یا محاسبات در زمینه یک حوزه دیگر مرتبط است. [33]

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

برخی معتقدند علوم کامپیوتر نسبت به بسیاری از رشته های علمی ارتباط نزدیک تری با ریاضیات دارد و برخی ناظران می گویند که محاسبات یک علم ریاضی است. [20] علوم کامپیوتر اولیه به شدت تحت تاثیر کار ریاضیدانانی مانند کورت گودل ، آلن تورینگ ، جان فون نویمان ، رزسا پیتر و آلونزو چرچ قرار گرفت و همچنان تبادل نظر مفیدی بین این دو زمینه در زمینه‌هایی مانند ریاضی وجود دارد. منطق ، نظریه مقوله ، نظریه حوزه ، و جبر . [23]

رابطه بین علوم کامپیوتر و مهندسی نرم‌افزار یک موضوع بحث‌برانگیز است که با اختلافات در مورد معنای اصطلاح "مهندسی نرم‌افزار" و چگونگی تعریف علم کامپیوتر، این موضوع بیشتر تیره شده است. [34] دیوید پارناس ، با استفاده از رابطه بین سایر رشته‌های مهندسی و علوم، ادعا کرده است که تمرکز اصلی علوم کامپیوتر مطالعه خواص محاسبات به طور کلی است، در حالی که تمرکز اصلی مهندسی نرم‌افزار طراحی محاسبات خاص است. برای دستیابی به اهداف عملی، ایجاد دو رشته مجزا اما مکمل. [35]

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

فلسفه [ ویرایش ]

معرفت شناسی علوم کامپیوتر [ ویرایش ]

با وجود کلمه "علم" در نام آن، بحث بر سر این است که آیا علوم کامپیوتر رشته ای از علوم، ریاضیات یا مهندسی است یا خیر. [36] آلن نیول و هربرت آ. سیمون در سال 1975 بحث کردند،

علوم کامپیوتر یک رشته تجربی است. ما آن را یک علم تجربی می نامیم، اما مانند نجوم، اقتصاد، و زمین شناسی، برخی از اشکال منحصر به فرد مشاهده و تجربه آن با کلیشه محدود روش تجربی مطابقت ندارد. با این حال، آنها آزمایش هستند. هر ماشین جدیدی که ساخته می شود یک آزمایش است. در واقع ساخت ماشین یک سوال برای طبیعت ایجاد می کند. و با مشاهده ماشین در حال کار و تجزیه و تحلیل آن با تمام ابزارهای تحلیلی و اندازه گیری موجود، پاسخ را گوش می دهیم. [36]

از آن زمان تاکنون این بحث مطرح شده است که علم کامپیوتر را می توان به عنوان یک علم تجربی طبقه بندی کرد زیرا از آزمایش تجربی برای ارزیابی درستی برنامه ها استفاده می کند، اما مشکل در تعریف قوانین و قضایای علوم کامپیوتر (در صورت وجود) و تعریف آن باقی می ماند. ماهیت آزمایشات در علوم کامپیوتر [36] طرفداران طبقه بندی علوم کامپیوتر به عنوان یک رشته مهندسی استدلال می کنند که قابلیت اطمینان سیستم های محاسباتی به همان روشی که پل ها در مهندسی عمران و هواپیماها در مهندسی هوافضا بررسی می شوند. [36]آنها همچنین استدلال می کنند که در حالی که علوم تجربی آنچه را که در حال حاضر وجود دارد مشاهده می کند، علوم کامپیوتر آنچه را که ممکن است وجود داشته باشد مشاهده می کند و در حالی که دانشمندان قوانین را از مشاهده کشف می کنند، هیچ قانون مناسبی در علم کامپیوتر یافت نشده است و در عوض به ایجاد پدیده ها می پردازد. [36]

طرفداران طبقه بندی علوم کامپیوتر به عنوان یک رشته ریاضی استدلال می کنند که برنامه های کامپیوتری تحقق فیزیکی موجودیت های ریاضی هستند و برنامه ها را می توان به صورت قیاسی از طریق روش های رسمی ریاضی استدلال کرد . [36] دانشمندان علوم کامپیوتر Edsger W. Dijkstra و Tony Hoare دستورالعمل‌های برنامه‌های کامپیوتری را به عنوان جملات ریاضی در نظر می‌گیرند و معناشناسی رسمی برای زبان‌های برنامه‌نویسی را به عنوان سیستم‌های بدیهی ریاضی تفسیر می‌کنند. [36]

پارادایم های علوم کامپیوتر [ ویرایش ]

تعدادی از دانشمندان کامپیوتر برای تمایز سه پارادایم جداگانه در علوم کامپیوتر استدلال کرده اند. پیتر وگنر استدلال کرد که این پارادایم ها علم، فناوری و ریاضیات هستند. [37] گروه کاری پیتر دنینگ استدلال کرد که آنها نظریه، انتزاع (مدل سازی)، و طراحی هستند. [38] Amnon H. Eden آنها را به عنوان "پارادایم عقل گرایانه" توصیف کرد (که علم کامپیوتر را به عنوان شاخه ای از ریاضیات، که در علوم کامپیوتر نظری رایج است و عمدتاً از استدلال قیاسی استفاده می کند، در نظر می گیرد."پارادایم تکنوکراتیک" (که ممکن است در رویکردهای مهندسی، به ویژه در مهندسی نرم افزار یافت می شود)، و "پارادایم علمی" (که به مصنوعات مرتبط با کامپیوتر از دیدگاه تجربی علوم طبیعی نزدیک می شود، که در برخی از شاخه های مصنوعی قابل شناسایی است. هوش ). [39] علم کامپیوتر بر روش‌های درگیر در طراحی، مشخصات، برنامه‌نویسی، تأیید، پیاده‌سازی و آزمایش سیستم‌های محاسباتی ساخت بشر تمرکز دارد. [40]

فیلدها [ ویرایش ]

علم کامپیوتر بیشتر از اینکه علم نجوم در مورد تلسکوپ است، در مورد کامپیوتر نیست.

به عنوان یک رشته، علوم کامپیوتر طیف وسیعی از موضوعات را از مطالعات نظری الگوریتم‌ها و محدودیت‌های محاسباتی تا مسائل عملی پیاده‌سازی سیستم‌های محاسباتی در سخت‌افزار و نرم‌افزار را در بر می‌گیرد. [41] [42] CSAB ، که قبلاً هیئت تأیید صلاحیت علوم محاسباتی نامیده می‌شد - که از نمایندگان انجمن ماشین‌های محاسباتی (ACM) و انجمن رایانه‌ای IEEE (IEEE CS) تشکیل شده است [43] - چهار حوزه را مشخص می‌کند که در نظر می‌گیرد. برای رشته علوم کامپیوتر بسیار مهم است: نظریه محاسبات ، الگوریتم‌ها و ساختارهای داده ، روش‌شناسی برنامه‌نویسی و زبان‌ها ، وعناصر و معماری کامپیوتر علاوه بر این چهار حوزه، CSAB همچنین زمینه هایی مانند مهندسی نرم افزار، هوش مصنوعی، شبکه های کامپیوتری و ارتباطات، سیستم های پایگاه داده، محاسبات موازی، محاسبات توزیع شده، تعامل انسان و کامپیوتر، گرافیک کامپیوتری، سیستم عامل ها و محاسبات عددی و نمادین را شناسایی می کند. حوزه های مهم علوم کامپیوتر است. [41]

علوم کامپیوتر نظری [ ویرایش ]

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

نظریه محاسبات [ ویرایش ]

به گفته پیتر دنینگ ، سوال اساسی زیربنای علم کامپیوتر این است که "چه چیزی می تواند خودکار شود؟" [20] نظریه محاسبات بر پاسخ دادن به سؤالات اساسی در مورد آنچه که می توان محاسبه کرد و چه مقدار منابع برای انجام آن محاسبات مورد نیاز است، متمرکز است. در تلاش برای پاسخ به سوال اول، نظریه محاسباتی بررسی می کند که کدام مسائل محاسباتی در مدل های نظری محاسبات مختلف قابل حل هستند . سوال دوم توسط نظریه پیچیدگی محاسباتی مطرح می شود که هزینه های زمانی و مکانی مرتبط با رویکردهای مختلف برای حل بسیاری از مسائل محاسباتی را مطالعه می کند.

P = NP معروف ؟ مسئله، یکی از مسائل جایزه هزاره ، [44] یک مسئله باز در تئوری محاسبات است.

DFAexample.svg syntax tree.svg Complexity classes.svg
تئوری خودکار زبان های رسمی تئوری محاسبه پذیری نظریه پیچیدگی محاسباتی
شبکه تعاملی به عنوان Configuration.png Blochsphere.svg XNOR ANSI Labelled.svg Kellerautomat.svg
مدل های محاسباتی نظریه محاسبات کوانتومی نظریه مدار منطقی اتوماتای ​​سلولی

تئوری اطلاعات و کدگذاری [ ویرایش ]

نظریه اطلاعات، که ارتباط نزدیکی با احتمالات و آمار دارد، با کمی سازی اطلاعات مرتبط است. این توسط کلود شانون برای یافتن محدودیت‌های اساسی در عملیات پردازش سیگنال مانند فشرده‌سازی داده‌ها و ذخیره‌سازی و انتقال قابل اعتماد داده‌ها ایجاد شد. [45] نظریه کدگذاری مطالعه خواص کدها (سیستم هایی برای تبدیل اطلاعات از یک شکل به شکل دیگر) و تناسب آنها برای یک کاربرد خاص است. کدها برای فشرده سازی داده ها ، رمزنگاری ، تشخیص و تصحیح خطا و اخیراً برای کدگذاری شبکه استفاده می شوند .. کدها به منظور طراحی روش های انتقال داده کارآمد و قابل اعتماد مورد مطالعه قرار می گیرند . [46]

Hamming.jpg کانال متقارن باینری.svg Digitalteilchen.svg H0 h1 fehler.jpg Mandelpart2 red.png
نظریه کدگذاری ظرفیت کانال نظریه اطلاعات الگوریتمی تئوری تشخیص سیگنال پیچیدگی کولموگروف

ساختارها و الگوریتم های داده [ ویرایش ]

ساختار داده ها و الگوریتم ها مطالعه روش های محاسباتی رایج و کارایی محاسباتی آنها هستند.

O ( n 2 ) مرتب سازی سریع anim.gif درخت (علوم کامپیوتر).svg TSP Deutschland 3.png SimplexRangeSearching.svg انقباض vertices.jpg
تجزیه و تحلیل الگوریتم ها طراحی الگوریتم ساختارهای داده بهینه سازی ترکیبی هندسه محاسباتی الگوریتم های تصادفی

نظریه زبان برنامه نویسی و روش های رسمی [ ویرایش ]

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

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

IF-THEN-ELSE-END flowchart.svg Compiler.svg Python add5 syntax.svg Prop-tableau-1.svg Coq plus comm screenshot.jpg
معناشناسی رسمی نظریه تیپ طراحی کامپایلر زبانهای برنامه نویسی تایید رسمی اثبات خودکار قضیه

سیستم های کامپیوتری و فرآیندهای محاسباتی [ ویرایش ]

هوش مصنوعی [ ویرایش ]

هدف از هوش مصنوعی (AI) ترکیب فرآیندهای هدف‌محور مانند حل مسئله، تصمیم‌گیری، سازگاری محیطی، یادگیری و ارتباطات موجود در انسان‌ها و حیوانات است. تحقیقات هوش مصنوعی از منشأ خود در سایبرنتیک و در کنفرانس دارتموث (1956) لزوماً بین رشته‌ای بوده است و از حوزه‌های تخصصی مانند ریاضیات کاربردی ، منطق نمادین ، نشانه‌شناسی ، مهندسی برق ، فلسفه ذهن ، فیزیولوژی عصبی و اجتماعی استفاده می‌کند. هوش . هوش مصنوعی در ذهن مردم با توسعه رباتیک مرتبط استاما زمینه اصلی کاربرد عملی به عنوان یک جزء تعبیه شده در زمینه های توسعه نرم افزار بوده است که نیاز به درک محاسباتی دارد. نقطه شروع در اواخر دهه 1940، سوال آلن تورینگ "آیا کامپیوترها می توانند فکر کنند؟" بود، و این سوال عملاً بی پاسخ مانده است، اگرچه آزمون تورینگ هنوز برای ارزیابی خروجی کامپیوتر در مقیاس هوش انسانی استفاده می شود. اما اتوماسیون وظایف ارزیابی و پیش بینی به طور فزاینده ای به عنوان جایگزینی برای نظارت و مداخله انسانی در حوزه های برنامه های کامپیوتری شامل داده های پیچیده دنیای واقعی موفق بوده است.

تفسیر نیکلاس پی روژیه از مغز انسان.png چشم انسان، ارائه شده از Eye.png شبکه عصبی رنگی.svg Markov Decision Process.svg
نظریه یادگیری محاسباتی بینایی کامپیوتر شبکه های عصبی برنامه ریزی و برنامه ریزی
English.png تور شوالیه.svg Ackley.gif AutonomicSystemModel.png
پردازش زبان طبیعی تئوری بازی های محاسباتی محاسبات تکاملی محاسبات خودکار
Neuron.svg KnnClassification.svg ROS C logo.jpg Rule alignment.gif
بازنمایی و استدلال الگو شناسی رباتیک هوش جمعی

معماری و سازماندهی کامپیوتر [ ویرایش ]

معماری کامپیوتر یا سازمان دیجیتال کامپیوتری، طراحی مفهومی و ساختار عملیاتی اساسی یک سیستم کامپیوتری است. تا حد زیادی بر روشی که واحد پردازش مرکزی به صورت داخلی انجام می دهد و به آدرس های موجود در حافظه دسترسی پیدا می کند، تمرکز می کند. [ 48 ] مهندسان کامپیوتر منطق محاسباتی و طراحی سخت‌افزار کامپیوتر را مطالعه می‌کنند . _ اصطلاح «معماری» در ادبیات کامپیوتری را می‌توان در آثار لایل آر. جانسون و فردریک پی بروکس جونیور جستجو کرد.اعضای بخش سازماندهی ماشین در مرکز تحقیقات اصلی IBM در سال 1959.

ABasicComputer.gif Intel Core2 arch.svg SIMD.svg Z80 arch.svg
واحد پردازش ریزمعماری پردازش چندگانه طراحی پردازنده
Roomba original.jpg Flowchart.png Kernel Layout.svg اورم متال wiki2.jpg
محاسبات فراگیر معماری سیستم ها سیستم های عامل ورودی خروجی
Physical computing.svg فیلتر FIR General.svg Dep-1.svg Linker.svg
سیستم تعبیه شده محاسبات بلادرنگ قابل اعتماد بودن مترجم

محاسبات همزمان، موازی و توزیع شده [ ویرایش ]

همزمانی ویژگی سیستم هایی است که در آن چندین محاسبات به طور همزمان اجرا می شوند و به طور بالقوه با یکدیگر تعامل دارند. [49] تعدادی از مدل‌های ریاضی برای محاسبات همزمان کلی از جمله شبکه‌های پتری ، محاسبات فرآیند و مدل ماشین دسترسی تصادفی موازی توسعه داده شده‌اند . [50] هنگامی که چندین رایانه در یک شبکه در حالی که از همزمانی استفاده می کنند متصل می شوند، این به عنوان یک سیستم توزیع شده شناخته می شود. رایانه های درون آن سیستم توزیع شده حافظه خصوصی خود را دارند و می توان اطلاعات را برای دستیابی به اهداف مشترک رد و بدل کرد. [51]

شبکه های کامپیوتری [ ویرایش ]

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

امنیت کامپیوتر و رمزنگاری [ ویرایش ]

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

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

پایگاه داده و داده کاوی [ ویرایش ]

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

گرافیک کامپیوتری و تجسم [ ویرایش ]

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

Simx2 = OK.svg را ترجمه کنید FWDvsINV Kinematics HighResTransp.png 5-cell.gif Hud on the cat.jpg الگوریتم ردیابی چشم نور مرئی.jpg Csg tree.png
گرافیک کامپیوتری دو بعدی انیمیشن کامپیوتری تفسیر واقعیت مختلط واقعیت مجازی مدل سازی جامد

پردازش تصویر و صدا [ ویرایش ]

اطلاعات می تواند به شکل تصویر، صدا، ویدئو یا چند رسانه ای دیگر باشد. بیت های اطلاعات را می توان از طریق سیگنال ها پخش کرد. پردازش آن مفهوم مرکزی انفورماتیک است، دیدگاه اروپایی در مورد محاسبات ، که الگوریتم های پردازش اطلاعات را مستقل از نوع حامل اطلاعات - خواه الکتریکی، مکانیکی یا بیولوژیکی - مطالعه می کند. این رشته نقش مهمی در تئوری اطلاعات ، مخابرات ، مهندسی اطلاعات دارد و در محاسبات تصویر پزشکی و سنتز گفتار و غیره کاربرد دارد.کران پایینی در پیچیدگی الگوریتم های تبدیل فوریه سریع چیست؟ یکی از مسائل حل نشده در علم کامپیوتر نظری است .

DIT-FFT-butterfly.png الگوی بایر در sensor.svg مقایسه کیفیت Opus blind compatible.svg مقایسه کیفیت jpg در مقابل saveforweb.jpg MeningiomaMRISegmentation.png Ætoms - Translation.svg
الگوریتم های FFT پردازش تصویر تشخیص گفتار متراکم سازی داده ها محاسبات تصویر پزشکی سنتز گفتار

علوم کامپیوتر کاربردی [ ویرایش ]

علوم محاسباتی، مالی و مهندسی [ ویرایش ]

محاسبات علمی (یا علم محاسباتی ) رشته مطالعاتی است که با ساخت مدل های ریاضی و تکنیک های تحلیل کمی و استفاده از رایانه برای تجزیه و تحلیل و حل مسائل علمی مرتبط است. یکی از کاربردهای اصلی محاسبات علمی، شبیه‌سازی فرآیندهای مختلف، از جمله دینامیک سیالات محاسباتی ، سیستم‌ها و مدارهای فیزیکی، الکتریکی و الکترونیکی، و همچنین جوامع و موقعیت‌های اجتماعی (به‌ویژه بازی‌های جنگی) به همراه زیستگاه‌های آنها و بسیاری دیگر است. رایانه های مدرن بهینه سازی چنین طرح هایی را به عنوان هواپیمای کامل امکان پذیر می کنند. قابل توجه در طراحی مدارهای الکتریکی و الکترونیکی SPICE، [53] است.و همچنین نرم افزار برای تحقق فیزیکی طرح های جدید (یا اصلاح شده). مورد دوم شامل نرم افزار طراحی ضروری برای مدارهای مجتمع می شود. [54]

جاذبه لورنز yb.svg کوارک wiki.jpg Naphthalene-3D-balls.png 1u04-argonaute.png GalvesLocherbach - وضوح پایین.gif Plutchik-wheel.svg اشعه ایکس دست، جایی که سن استخوان به طور خودکار توسط نرم افزار BoneXpert.jpg پیدا می شود Elmer-pump-heatequation.png Bachlut1.png
تحلیل عددی فیزیک محاسباتی شیمی محاسباتی بیوانفورماتیک نورو انفورماتیک روان انفورماتیک انفورماتیک پزشکی مهندسی محاسبات موسیقی شناسی محاسباتی

محاسبات اجتماعی و تعامل انسان و رایانه [ ویرایش ]

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

مهندسی نرم افزار [ ویرایش ]

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

اکتشافات [ ویرایش ]

بیل راپاپورت، فیلسوف محاسبات ، به سه بینش بزرگ علوم کامپیوتر اشاره کرد : [55]

تمام اطلاعات مربوط به هر مسئله قابل محاسبه را می توان تنها با استفاده از 0 و 1 (یا هر جفت دوپایه دیگری که می تواند بین دو حالت به راحتی قابل تشخیص، مانند "روشن/خاموش"، "مغناطیس/غیر مغناطیسی شده"، "بالا" نمایش داده شود. -ولتاژ/ولتاژ پایین و غیره).
  • بینش آلن تورینگ : فقط پنج عمل وجود دارد که یک کامپیوتر برای انجام "هر کاری" باید انجام دهد.
هر الگوریتم را می توان در یک زبان برای کامپیوتری که فقط از پنج دستورالعمل اصلی تشکیل شده است بیان کرد: [56]
  • حرکت به سمت چپ یک مکان؛
  • حرکت به سمت راست یک مکان؛
  • خواندن نماد در مکان فعلی.
  • چاپ 0 در مکان فعلی.
  • چاپ 1 در مکان فعلی
  • بینش کورادو بوم و جوزپه جاکوپینی: تنها سه راه برای ترکیب این اقدامات (به کارهای پیچیده تر) وجود دارد که برای اینکه رایانه بتواند "هر کاری" را انجام دهد، مورد نیاز است. [57]
برای ترکیب هر مجموعه ای از دستورالعمل های اساسی در دستورالعمل های پیچیده تر، تنها به سه قانون نیاز است:
  • sequence : ابتدا این کار را انجام دهید سپس آن را انجام دهید.
  • انتخاب : اگر چنین و چنان است، این کار را انجام دهید، در غیر این صورت آن را انجام دهید.
  • تکرار : در حالی که چنین و چنان است، این کار را انجام دهید.
توجه داشته باشید که سه قانون بینش بوهم و جاکوپینی را می‌توان با استفاده از goto ساده‌تر کرد (به این معنی که ابتدایی‌تر از برنامه‌نویسی ساختاریافته است ).

پارادایم های برنامه نویسی [ ویرایش ]

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

  • برنامه نویسی تابعی ، سبکی از ساخت ساختار و عناصر برنامه های کامپیوتری است که محاسبات را به عنوان ارزیابی توابع ریاضی تلقی می کند و از داده های حالت و تغییر پذیر اجتناب می کند. این یک پارادایم برنامه نویسی اعلانی است، به این معنی که برنامه نویسی با عبارات یا اعلان ها به جای عبارات انجام می شود. [58]
  • برنامه نویسی ضروری ، یک الگوی برنامه نویسی که از عباراتی استفاده می کند که حالت برنامه را تغییر می دهد. [59] تقریباً به همان شکلی که حالت امری در زبان‌های طبیعی دستورات را بیان می‌کند، یک برنامه امری شامل دستوراتی است که رایانه باید آن را اجرا کند. برنامه نویسی امری بر توصیف نحوه عملکرد یک برنامه تمرکز دارد.
  • برنامه نویسی شی گرا ، یک پارادایم برنامه نویسی مبتنی بر مفهوم "اشیاء"، که ممکن است حاوی داده هایی به شکل فیلدهایی باشد که اغلب به عنوان ویژگی شناخته می شوند. و کد، به شکل رویه هایی که اغلب به عنوان متدها شناخته می شوند. یکی از ویژگی های اشیاء این است که رویه های یک شی می توانند به فیلدهای داده شیئی که با آن مرتبط هستند دسترسی داشته باشند و اغلب آنها را تغییر دهند. بنابراین برنامه های کامپیوتری شی گرا از اشیایی ساخته می شوند که با یکدیگر تعامل دارند. [60]
  • برنامه نویسی سرویس گرا ، یک الگوی برنامه نویسی که از "سرویس ها" به عنوان واحد کار رایانه ای برای طراحی و پیاده سازی برنامه های کاربردی تجاری یکپارچه و برنامه های نرم افزاری حیاتی استفاده می کند.

بسیاری از زبان‌ها از پارادایم‌های چندگانه پشتیبانی می‌کنند، و این تمایز را بیشتر به سبکی تبدیل می‌کند تا قابلیت‌های فنی. [61]

دانشگاه [ ویرایش ]

کنفرانس ها رویدادهای مهمی برای تحقیقات علوم کامپیوتر هستند. در طول این کنفرانس ها، محققان بخش دولتی و خصوصی کارهای اخیر خود را ارائه کرده و با یکدیگر ملاقات می کنند. برخلاف بسیاری از رشته های دانشگاهی دیگر، در علوم کامپیوتر، اعتبار مقالات کنفرانسی بیشتر از انتشارات مجلات است. [62] [63] یکی از توضیح‌های پیشنهادی برای این موضوع، توسعه سریع این زمینه نسبتاً جدید است که نیازمند بررسی و توزیع سریع نتایج است، وظیفه‌ای که کنفرانس‌ها بهتر از مجلات انجام می‌دهند. [64]

آموزش [ ویرایش ]

علوم کامپیوتر ، که با مترادف های نزدیک به آن، محاسبات ، مطالعات کامپیوتری شناخته می شود، از زمان پردازش دسته ای ، کارت های حساس علامت گذاری و نوار کاغذی ، اما معمولاً برای تعداد کمی از دانش آموزان ، در مدارس انگلستان تدریس می شود. [65] در سال 1981، بی بی سی یک میکرو کامپیوتر و شبکه کلاس درس تولید کرد و مطالعات کامپیوتری برای دانش آموزان سطح GCE O (11 تا 16 ساله) و دانش آموزان سطح A علوم کامپیوتر رایج شد . اهمیت آن به رسمیت شناخته شد و به بخشی اجباری از برنامه درسی ملی تبدیل شد، برای مرحله کلیدی 3 و 4. در سپتامبر 2014 این حق برای همه دانش آموزان بالای 4 سال شد. [66]

در ایالات متحده ، با 14000 ناحیه مدرسه که در مورد برنامه درسی تصمیم گیری می کردند، برنامه درسی شکسته شد. [67] طبق گزارش سال 2010 توسط انجمن ماشین‌های محاسباتی (ACM) و انجمن معلمان علوم رایانه (CSTA)، تنها 14 ایالت از 50 ایالت استانداردهای آموزشی قابل توجهی را برای علوم کامپیوتر دبیرستان پذیرفته‌اند. [68]

اسرائیل، نیوزلند و کره جنوبی علوم کامپیوتر را در برنامه های درسی ملی آموزش متوسطه خود گنجانده اند، [69] [70] و چندین مورد دیگر را دنبال می کنند. [71]

همچنین مشاهده کنید [ ویرایش ]

یادداشت ها [ ویرایش ]

  1. ^ در سال 1851
  2. «معرفی کارت‌های پانچ شده به موتور جدید نه تنها به‌عنوان یک شکل راحت‌تر کنترل از درام‌ها مهم بود، یا به این دلیل که برنامه‌ها اکنون می‌توانستند گستره نامحدودی داشته باشند، و می‌توانستند بدون خطر ایجاد خطا در تنظیم، ذخیره و تکرار شوند. ماشین دستی؛ همچنین به این دلیل مهم بود که احساس بابیج را متبلور کرد که چیزی واقعاً جدید اختراع کرده است، چیزی بسیار بیشتر از یک ماشین محاسبه پیچیده. بروس کالیر ، 1970
  3. ^ برای تاریخچه این نقل قولبه مدخل " علوم رایانه " در ویکی نقل قول مراجعه کنید.
  4. ^ کلمه "هر چیزی" در گیومه نوشته شده است زیرا چیزهایی وجود دارد که رایانه ها نمی توانند انجام دهند. یک مثال این است: برای پاسخ به این سؤال که آیا یک برنامه رایانه ای دلخواه در نهایت به پایان می رسد یا برای همیشه اجرا می شود ( مشکل توقف ).

منابع [ ویرایش ]

  1. "علم کامپیوتر چیست؟ - علوم کامپیوتر. دانشگاه یورک" . www.cs.york.ac.uk . بازبینی شده در 11 ژوئن 2020 .
  2. «WordNet Search—3.1» . Wordnetweb.princeton.edu . بازبینی شده در 14 مه 2012 .
  3. "تعریف علوم کامپیوتر | Dictionary.com" . www.dictionary.com . بازبینی شده در 11 ژوئن 2020 .
  4. هارل، دیوید (2014). الگوریتم روح محاسبات . اسپرینگر برلین. شابک 978-3-642-44135-6. OCLC  876384882 .
  5. ^ مقایسه کنید: ابوت، راسل جی (1989). "انتزاع دانش". در کنت، آلن ؛ ویلیامز، جیمز جی. دایره المعارف علوم و فناوری کامپیوتر: جلد 21 - ضمیمه 6: ADA و سیستم های توزیع شده برای زبان های بصری . دانشنامه علوم و فناوری کامپیوتر. نیویورک: CRC Press. پ. 191. شابک 9780824722715. بازبینی شده در 4 فوریه 2022 . [...] نظریه خودکار، که قلب تئوری علوم کامپیوتر است [...].
  6. مطبوعات MIT (30 آوریل 1980). چه چیزی را می توان خودکار کرد؟ مطالعه پژوهشی علوم و مهندسی کامپیوتر | مطبوعات MIT mitpress.mit.edu . سری علوم کامپیوتر. مطبوعات MIT. شابک 9780262010603.{{cite book}}: CS1 maint: url-status (link)
  7. "موسسه چارلز بابیج: چارلز بابیج که بود؟" . cbi.umn.edu . بازبینی شده در 28 دسامبر 2016 .
  8. "آدا لاولیس | موتور بابیج | موزه تاریخ کامپیوتر" . www.computerhistory.org . بازبینی شده در 28 دسامبر 2016 .
  9. «Wilhelm Schickard – Ein Computerpionier» (PDF) (به آلمانی). بایگانی شده از نسخه اصلی (PDF) در 19 سپتامبر 2020 . بازبینی شده در 4 دسامبر 2016 .
  10. کیتس، فیونا (25 ژوئن 2012). "تاریخچه مختصر محاسبات" . مخزن . انجمن سلطنتی
  11. "موزه علوم، موتور تحلیلی بابیج، 1834-1871 (مدل آزمایشی)" . بازبینی شده در 11 مه 2020 .
  12. ^ a b آنتونی هیمن (1982). چارلز بابیج، پیشگام کامپیوتر . شابک 9780691083032.
  13. «انتخاب و اقتباسی از یادداشت‌های آدا در آدا، افسونگر اعداد» نوشته بتی الکساندرا تول اد. Strawberry Press, Mill Valley, CA" . بایگانی شده از نسخه اصلی در 10 فوریه 2006. بازیابی شده در 4 مه 2006 .
  14. «مجموعه علوم کامپیوتر جان گابریل بایرن» (PDF) . بایگانی شده از نسخه اصلی در ۱۶ آوریل ۲۰۱۹ . بازبینی شده در ۸ اوت ۲۰۱۹ .
  15. «از این نظر آیکن به IBM نیاز داشت که فناوری آن شامل استفاده از کارت‌های پانچ، انباشت داده‌های عددی و انتقال داده‌های عددی از یک ثبت به ثبت دیگر بود»، برنارد کوهن ، ص 44 (2000)
  16. برایان راندل ، ص. 187، 1975
  17. انجمن ماشین‌های محاسباتی (ACM) در سال 1947 تأسیس شد.
  18. «آی‌بی‌ام آرشیو: 1945» . Ibm.com 23 ژانویه 2003 . بازبینی شده در 19 مارس 2019 .
  19. "IBM100 - ریشه های علوم کامپیوتر" . Ibm.com 15 سپتامبر 1995 . بازبینی شده در 19 مارس 2019 .
  20. ^ a b c Denning، Peter J. (2000). "علوم کامپیوتر: رشته" (PDF) . دایره المعارف علوم کامپیوتر . بایگانی شده از نسخه اصلی (PDF) در 25 مه 2006.
  21. «برخی آمار EDSAC» . دانشگاه کمبریج . بازیابی شده در 19 نوامبر 2011 .
  22. «ساموئل دی. کونته، پیشگام علوم کامپیوتر در ۸۵ سالگی درگذشت» . علوم کامپیوتر پوردو. 1 جولای 2002 . بازبینی شده در 12 دسامبر 2014 .
  23. ^ a b Tedre, Matti (2014). علم محاسبات: شکل دادن به یک رشته . تیلور و فرانسیس / مطبوعات CRC.
  24. ^ a b لوئیس فاین (1960). "نقش دانشگاه در کامپیوتر، پردازش داده ها و زمینه های مرتبط". ارتباطات ACM . 2 (9): 7-14. doi : 10.1145/368424.368427 . S2CID 6740821 .  
  25. «تاریخ شفاهی دانشگاه استنفورد» . دانشگاه استنفورد . بازبینی شده در 30 می 2013 .
  26. دونالد کنوت (۱۹۷۲). "جورج فورسایت و توسعه علوم کامپیوتر" . نظرات ACM . بایگانی شده در 20 اکتبر 2013، در Wayback Machine
  27. متی تدر (2006). "توسعه علوم کامپیوتر: یک دیدگاه اجتماعی و فرهنگی" (PDF) . پ. 260 . بازبینی شده در 12 دسامبر 2014 .
  28. پیتر ناور (1966). "علم دیتالوژی". ارتباطات ACM . 9 (7): 485. doi : 10.1145/365719.366510 . S2CID 47558402 .  
  29. ^ وایس، EA; کورلی، هنری پی‌تی «نامه‌هایی به سردبیر». ارتباطات ACM . 1 (4): 6. doi : 10.1145/368796.368802 . S2CID 5379449 . 
  30. ^ ارتباطات ACM 2(1):p.4
  31. ^ IEEE Computer 28(12): p.136
  32. P. Mounier-Kuhn، L'Informatique en France، de la seconde guerre mondiale au Plan Calcul. L'émergence d'une Science , Paris, PUPS, 2010, ch. 3 و 4.
  33. گروت، دنیس پی (فوریه ۲۰۱۰). "چرا مدرک انفورماتیک؟" . ارتباطات ACM . Cacm.acm.org.
  34. ^ تدر، ام. (2011). "محاسبات به عنوان یک علم: بررسی دیدگاه های رقیب". ذهن ها و ماشین ها . 21 (3): 361-387. doi : 10.1007/s11023-011-9240-4 . S2CID 14263916 . 
  35. پرناس، دی ال (۱۹۹۸). "برنامه های مهندسی نرم افزار برنامه های علوم کامپیوتر نیستند". سالنامه مهندسی نرم افزار . 6 : 19-37. doi : 10.1023/A:1018949113292 . S2CID 35786237 . ، پ. 19: "به جای اینکه مهندسی نرم افزار را به عنوان زیر شاخه ای از علوم کامپیوتر تلقی کنم، آن را به عنوان یک عنصر از مجموعه، مهندسی عمران، مهندسی مکانیک، مهندسی شیمی، مهندسی برق، […]"
  36. ^ a b c d e f g "فلسفه علوم کامپیوتر" . فلسفه علوم کامپیوتر (دانشنامه فلسفه استنفورد) . آزمایشگاه تحقیقات متافیزیک، دانشگاه استنفورد. 2021.
  37. ^ Wegner, P. (13-15 اکتبر 1976). پارادایم های تحقیق در علوم کامپیوتر - مجموعه مقالات دومین کنفرانس بین المللی مهندسی نرم افزار . سانفرانسیسکو، کالیفرنیا، ایالات متحده: IEEE Computer Society Press, Los Alamitos, CA.
  38. ^ دنینگ، پی جی؛ Comer, DE; گریس، دی. مولدر، ام سی; تاکر، ا. ترنر، ای جی. یانگ، روابط عمومی (ژانویه 1989). "محاسبات به عنوان یک رشته". ارتباطات ACM . 32 : 9-23. doi : 10.1145/63238.63239 . S2CID 723103 . 
  39. ادن، ق (2007). "سه پارادایم علوم کامپیوتر" (PDF) . ذهن ها و ماشین ها . 17 (2): 135-167. CiteSeerX 10.1.1.304.7763 . doi : 10.1007/s11023-007-9060-8 . S2CID 3023076 . بایگانی شده از نسخه اصلی (PDF) در 15 فوریه 2016.   
  40. ^ ترنر، ریموند؛ آنجیوس، نیکولا (2019). "فلسفه علوم کامپیوتر" . در زالتا، ادوارد N. (ویرایش). دایره المعارف فلسفه استنفورد .
  41. ^ a b "علم کامپیوتر به عنوان یک حرفه" . هیئت اعتباربخشی علوم محاسباتی. 28 مه 1997. بایگانی شده از نسخه اصلی در 17 ژوئن 2008 . بازیابی شده در 23 مه 2010 .
  42. کمیته مبانی علوم کامپیوتر: چالش ها و فرصت ها، شورای ملی تحقیقات (2004). علوم کامپیوتر: تأملاتی در زمینه، بازتاب هایی از میدان . انتشارات آکادمی های ملی. شابک 978-0-309-09301-9.
  43. «آموزش رایانه پیشرو CSAB» . CSAB. 3 آگوست 2011 . بازیابی شده در 19 نوامبر 2011 .
  44. ^ موسسه ریاضیات Clay P = NP بایگانی شده در 14 اکتبر 2013، در ماشین راه برگشت
  45. پی کالینز، گراهام (14 اکتبر 2002). "کلود ای. شانون: بنیانگذار نظریه اطلاعات" . علمی آمریکایی بازبینی شده در 12 دسامبر 2014 .
  46. ون-نام هوینه؛ ولادیک کرینوویچ؛ Songsak Sriboonchitta; 1391. تحلیل عدم قطعیت در اقتصاد سنجی با کاربردها. Springer Science & Business Media. پ. 63. شابک 978-3-642-35443-4 . 
  47. Phillip A. Laplante، 2010. مجموعه سه جلدی دایره المعارف مهندسی نرم افزار (چاپ). مطبوعات CRC. پ. 309. شابک 978-1-351-24926-3 . 
  48. A. Thisted، Ronald (7 آوریل 1997). "معماری کامپیوتر" (PDF) . دانشگاه شیکاگو.
  49. Jiacun Wang، 2017. سیستم‌های جاسازی شده در زمان واقعی. وایلی. پ. 12. ISBN 978-1-119-42070-5 . 
  50. گوردانا دودیگ-کرنکویچ; Raffaela Giovagnoli; 2013. Computing Nature: Turing Centenary Perspective. Springer Science & Business Media. پ. 247. شابک 978-3-642-37225-4 . 
  51. سیمون الیاس بیبری؛ 2018. شهرهای هوشمند پایدار آینده: پتانسیل استفاده نشده تجزیه و تحلیل داده های بزرگ و محاسبات مبتنی بر زمینه برای پیشرفت پایداری. اسپرینگر. پ. 74. شابک 978-3-319-73981-6 . 
  52. کاتز، جاناتان (2008). مقدمه ای بر رمزنگاری مدرن . یهودا لیندل. بوکا راتون: چپمن و هال/CRC. شابک 978-1-58488-551-1. OCLC  137325053 .
  53. Muhammad H. Rashid, 2016. SPICE for Power Electronics and Electric Power. مطبوعات CRC. پ. 6. ISBN 978-1-4398-6047-2 . 
  54. ^ "مدار مجتمع (IC) چیست؟ جزء حیاتی الکترونیک مدرن" . WhatIs.com . بازبینی شده در 15 نوامبر 2021 .
  55. راپاپورت، ویلیام جی (۲۰ سپتامبر ۲۰۱۳). "محاسبات چیست؟" . دانشگاه ایالتی نیویورک در بوفالو.
  56. ^ ب. جک کوپلند، 2012. مغز الکترونیکی آلن تورینگ: مبارزه برای ساختن ACE، سریعترین کامپیوتر جهان. OUP آکسفورد. پ. 107. شابک 978-0-19-960915-4 . 
  57. ^ چارلز دبلیو. هربرت، 2010. مقدمه ای بر برنامه نویسی با استفاده از آلیس 2.2. Cengage Learning. پ. 122. شابک 0-538-47866-7 . 
  58. دکتر رضا الکریم; سریدار الله; 2017. Scala and Spark for Big Data Analytics: مفاهیم برنامه نویسی کاربردی، جریان داده و یادگیری ماشین را بررسی کنید. Packt Publishing Ltd. p. 87. شابک 978-1-78355-050-0 . 
  59. ^ Lex Sheehan، 2017. یادگیری برنامه نویسی تابعی در Go: نحوه برخورد با برنامه های کاربردی خود را با استفاده از برنامه نویسی کاربردی در Go تغییر دهید. Packt Publishing Ltd. p. 16. شابک 978-1-78728-604-7 . 
  60. ^ Evelio Padilla، 2015. سیستم های اتوماسیون پست: طراحی و پیاده سازی. وایلی. پ. 245. شابک 978-1-118-98730-8 . 
  61. "زبان برنامه نویسی چند پارادایم" . developer.mozilla.org . بنیاد موزیلا بایگانی شده از نسخه اصلی در ۲۱ اوت ۲۰۱۳.
  62. مایر، برتراند (آوریل 2009). "دیدگاه: ارزیابی پژوهشی برای علوم کامپیوتر". ارتباطات ACM . 25 (4): 31-34. doi : 10.1145/1498765.1498780 . S2CID 8625066 . 
  63. پترسون، دیوید (اوت 1999). "ارزیابی دانشمندان و مهندسان کامپیوتر برای ارتقاء و تصدی" . انجمن تحقیقات محاسباتی.
  64. فورتنو، لنس (اوت 2009). "نقطه دیدگاه: زمان رشد علوم کامپیوتر" . ارتباطات ACM . 52 (8): 33-35. doi : 10.1145/1536616.1536631 .
  65. برنز، جودیت (3 آوریل 2016). "علوم کامپیوتر سطح A به سبک دهه 1970" . بازیابی شده در 9 فوریه 2019 .
  66. جونز، مایکل (اکتبر 1915). "توسعه برنامه درسی علوم کامپیوتر در انگلستان: کاوش رویکردها در ایالات متحده آمریکا" (PDF) . صندوق یادبود وینستون چرچیل بایگانی شده از نسخه اصلی (PDF) در 22 اکتبر 2016 . بازیابی شده در 9 فوریه 2019 .
  67. "علوم کامپیوتر: دیگر فقط یک درس انتخابی نیست" . هفته آموزش و پرورش . 25 فوریه 2014.
  68. ^ ویلسون، کامرون؛ سودول، لی آن; استفنسون، کریس؛ استهلیک، مارک (2010). "اجرا در خالی: شکست در آموزش علوم کامپیوتر K-12 در عصر دیجیتال" (PDF) . ACM.
  69. ^ "A برای الگوریتم است" . اکونومیست _ 26 آوریل 2014.
  70. «مقایسه بین‌المللی محاسبات در مدرسه» (PDF) . بایگانی شده از نسخه اصلی (PDF) در 8 مه 2013 . بازبینی شده در 20 ژوئیه 2015 .
  71. «افزودن کدنویسی به برنامه درسی» . نیویورک تایمز . 23 مارس 2014. بایگانی شده از نسخه اصلی در 1 ژانویه 2022.

ادامه مطلب [ ویرایش ]

نمای کلی [ ویرایش ]

  • تاکر، آلن بی. (2004). کتاب راهنمای علوم کامپیوتر (ویرایش دوم). چپمن و هال/CRC. شابک 978-1-58488-360-9.
    • "در بیش از 70 فصل، هر فصل جدید یا به طور قابل توجهی تجدید نظر شده، می توان هر نوع اطلاعات و مرجعی در مورد علوم کامپیوتر که تصورش را بکنید، پیدا کرد. … در مجموع، هیچ چیز مطلقی در مورد علوم کامپیوتر وجود ندارد که نتوان آن را در آن یافت. دایره المعارف 2.5 کیلوگرمی با 110 مقاله نظرسنجی […] (کریستوف ماینل، Zentralblatt MATH )
  • ون لیوون، جان (1994). جزوه علوم نظری کامپیوتر . مطبوعات MIT. شابک 978-0-262-72020-5.
    • «[…] این مجموعه منحصر به فردترین و احتمالاً مفیدترین برای جامعه [علوم رایانه نظری] است، هم در حمایت از آموزش و هم برای تحقیق […]. هر کسی که می‌خواهد صرفاً درک درستی از یک کتاب داشته باشد، می‌تواند از این کتاب‌ها استفاده کند. از این حوزه ها، یا توسط شخصی که مایل به تحقیق در یک موضوع است، یا توسط مربیانی که مایلند اطلاعات به موقع در مورد موضوعی را که خارج از حوزه های اصلی تخصص خود تدریس می کنند، بیابند." (راکی راس، SIGACT نیوز )
  • رالستون، آنتونی ؛ ریلی، ادوین دی . همندینگر، دیوید (2000). دایره المعارف علوم کامپیوتر (ویرایش چهارم). فرهنگ لغت گرو. شابک 978-1-56159-248-7.
    • "از سال 1976، این کار مرجع قطعی در مورد کامپیوتر، محاسبات و علوم کامپیوتر بوده است. […] به ترتیب حروف الفبا و طبقه بندی شده در حوزه های موضوعی گسترده، مدخل ها سخت افزار، سیستم های کامپیوتری، اطلاعات و داده ها، نرم افزار، ریاضیات محاسبات را پوشش می دهند. تئوری محاسبات، روش‌شناسی، کاربردها، و محیط محاسباتی. ویراستاران در ترکیب دیدگاه تاریخی و اطلاعات مرجع عملی کار قابل ستایشی انجام داده‌اند. دایره‌المعارف برای اکثر مجموعه‌های مرجع کتابخانه عمومی و دانشگاهی ضروری است." (جو آکاردین، دانشگاه شمال شرقی ایلینوی، شیکاگو)
  • Edwin D. Reilly (2003). نقاط عطف در علوم کامپیوتر و فناوری اطلاعات . گروه انتشارات گرین وود. شابک 978-1-57356-521-9.

ادبیات برگزیده [ ویرایش ]

مقالات [ ویرایش ]

برنامه درسی و طبقه بندی [ ویرایش ]

پیوندهای خارجی [ ویرایش ]

کتابشناسی و موتورهای جستجوی دانشگاهی [ ویرایش ]

سازمان های حرفه ای [ ویرایش ]

متفرقه [ ویرایش ]