Bilgisayar Bilimi - Computer science

Lambda hesabında Kilise rakamları için ifade Hızlı sıralama algoritmasının grafiği
Hareket yakalama kullanılarak üretilen Bilgisayar animasyonu örneği Yarım toplayıcı devre
Bilgisayar bilimi, bilginin teorik temelleri, algoritmalar ve hesaplama mimarileri ile bunların uygulanması için pratik tekniklerle ilgilenir.

Bilgisayar bilimi , algoritmik süreçlerin , hesaplama makinelerinin ve hesaplamanın kendisinin çalışmasıdır. Bir disiplin olarak bilgisayar bilimi, algoritmaların teorik çalışmalarından , hesaplama ve bilgiden donanım ve yazılımda hesaplama sistemlerinin uygulanmasının pratik sorunlarına kadar bir dizi konuyu kapsar .

Alanları teorik ve pratik disiplinlere ayrılabilir . Örneğin, hesaplama teorisi, soyut hesaplama modelleri ve bunları kullanarak çözülebilecek genel problem sınıfları ile ilgiliyken, bilgisayar grafikleri veya hesaplamalı geometri daha özel uygulamaları vurgular. Algoritmalar ve veri yapıları bilgisayar biliminin kalbi olarak adlandırılmıştır. Programlama dili teorisi , hesaplama süreçlerinin tanımlanmasına yönelik yaklaşımları dikkate alırken, bilgisayar programlama , karmaşık sistemler oluşturmak için bunların kullanımını içerir . Bilgisayar mimarisi , bilgisayar bileşenlerinin ve bilgisayarla çalışan ekipmanın yapımını tanımlar. Yapay zeka , insanlarda ve hayvanlarda bulunan problem çözme, karar verme, çevresel uyum, planlama ve öğrenme gibi hedefe yönelik süreçleri sentezlemeyi amaçlar . Dijital bir bilgisayar, çeşitli bilgi süreçlerini simüle etme yeteneğine sahiptir . Bilgisayar biliminin temel kaygısı, neyin otomatikleştirilebileceğini ve neyin otomatikleştirilemeyeceğini belirlemektir. Bilgisayar bilimcileri genellikle akademik araştırmalara odaklanır. Turing Ödülü genellikle bilgisayar bilimlerinde yüksek onur olarak kabul edilmektedir.

Tarih

Charles Babbage , bazen "bilgisayarın babası" olarak anılır.
Ada Lovelace , bir bilgisayarda işlemeye yönelik ilk algoritmayı yayınladı .

Bilgisayar bilimi haline gelecek olan şeyin en eski temelleri, modern dijital bilgisayarın icadından önce gelir . Abaküs gibi sabit sayısal görevleri hesaplamak için makineler , çarpma ve bölme gibi hesaplamalara yardımcı olan antik çağlardan beri var olmuştur. Hesaplamaları gerçekleştirmek için algoritmalar , antik çağlardan beri, hatta karmaşık bilgi işlem ekipmanlarının geliştirilmesinden önce bile var olmuştur.

Wilhelm Schickard , 1623'te ilk çalışan mekanik hesap makinesini tasarladı ve inşa etti . 1673'te Gottfried Leibniz , Kademeli Hesaplayıcı adı verilen bir dijital mekanik hesap makinesini gösterdi . Leibniz, diğer nedenlerin yanı sıra ikili sayı sistemini belgeleyen ilk bilgisayar bilimcisi ve bilgi teorisyeni olarak kabul edilebilir. 1820'de Thomas de Colmar , ofis ortamında günlük olarak kullanılabilecek kadar güçlü ve güvenilir ilk hesaplama makinesi olan basitleştirilmiş aritmometresini icat ettiğinde mekanik hesap makinesi endüstrisini başlattı . Charles Babbage , 1822'de ilk otomatik mekanik hesap makinesi olan Fark Motoru'nun tasarımına başladı ve sonunda ona ilk programlanabilir mekanik hesap makinesi olan Analitik Motor fikrini verdi . Bu makineyi 1834'te geliştirmeye başladı ve "iki yıldan kısa bir süre içinde modern bilgisayarın göze çarpan özelliklerinin çoğunu çizdi ". "Önemli bir adım, Jakarlı dokuma tezgahından türetilen delikli bir kart sisteminin benimsenmesiydi " ve onu sonsuz programlanabilir hale getirdi. 1843'te, Analitik Motor üzerine bir Fransızca makalenin çevirisi sırasında Ada Lovelace , dahil ettiği birçok nottan birinde, Bernoulli sayılarını hesaplamak için bir algoritma yazdı ; bu algoritma, şimdiye kadar özel olarak uygulama için uyarlanmış ilk yayınlanmış algoritma olarak kabul edilir. bilgisayarda. 1885 civarında, Herman Hollerith icat sekme kullanılan, kartlar delinmiş istatistiki bilgileri işlemek için; sonunda şirketi IBM'in bir parçası oldu . Babbage'ın ardından, daha önceki çalışmalarından habersiz olmasına rağmen , 1909'da Percy Ludgate , tarihteki iki mekanik analitik motor tasarımının 2.'sini yayınladı. 1937'de, Babbage'ın imkansız rüyasından yüz yıl sonra, Howard Aiken , her türlü delikli kart ekipmanını yapan ve aynı zamanda hesap makinesi işinde olan IBM'i , Babbage'ın Analitiğine dayalı dev programlanabilir hesap makinesi ASCC/Harvard Mark I'i geliştirmeye ikna etti. Kartları ve merkezi bir bilgi işlem birimini kullanan motor. Makine bittiğinde, bazıları onu "Babbage'ın rüyasının gerçekleşmesi" olarak selamladı.

1940'larda, yeni ve daha güçlü gelişmesi ile bilgi işlem gibi makinelerin unvanlı-Berry bilgisayara ve ENIAC terimi bilgisayar yerine insan öncekilerden daha makinelere için kullanılmaya başlamıştır. Bilgisayarların sadece matematiksel hesaplamalardan daha fazlası için kullanılabileceği netleştikçe, bilgisayar bilimi alanı genel olarak hesaplamayı incelemek için genişledi . 1945'te IBM , New York'taki Columbia Üniversitesi'nde Watson Bilimsel Hesaplama Laboratuvarı'nı kurdu . Manhattan'ın Batı Yakası'ndaki yenilenmiş kardeşlik evi, IBM'in saf bilime ayrılmış ilk laboratuvarıydı. Laboratuvar, bugün dünya çapında araştırma tesislerini işleten IBM'in Araştırma Bölümü'nün öncüsüdür. Sonuç olarak, IBM ile üniversite arasındaki yakın ilişki, Columbia'nın 1946'da bilgisayar bilimlerinde ilk akademik kredili derslerden birini sunması ile yeni bir bilimsel disiplinin ortaya çıkmasında etkili oldu. 1950'ler ve 1960'ların başı. Dünyanın ilk bilgisayar bilimi lisans programı, Bilgisayar Bilimleri Cambridge Diploma , başladı Cambridge Üniversitesi Bilgisayar Laboratuvarı ABD'de ilk bilgisayar bilimi departmanı biçimlenmiştir 1953 yılında Purdue Üniversitesi pratik bilgisayarlar birçok mevcut olduğundan beri 1962 yılında bilgisayar uygulamaları kendi haklarında farklı çalışma alanları haline geldi.

etimoloji

İlk olarak 1956'da önerilmiş olmasına rağmen, "bilgisayar bilimi" terimi , Louis Fein'in 1921'de Harvard Business School'un oluşturulmasına benzer bir Bilgisayar Bilimleri Yüksek Okulu kurulmasını savunduğu ACM'nin Communications'daki 1959 tarihli bir makalesinde yer almaktadır. Konunun yönetim bilimi gibi uygulamalı ve disiplinler arası bir yapıya sahip olmakla birlikte, akademik bir disiplinin tipik özelliklerine sahip olduğunu savunarak adını almıştır . Onun ve sayısal analist George Forsythe gibi diğerlerinin çabaları ödüllendirildi: üniversiteler 1962'de Purdue ile başlayarak bu tür bölümler oluşturmaya devam ettiler. Adına rağmen, bilgisayar biliminin önemli bir kısmı bilgisayarların incelenmesini içermez. Bu nedenle, birkaç alternatif isim önerilmiştir. Büyük üniversitelerin bazı bölümleri, tam olarak bu farkı vurgulamak için bilgisayar bilimi terimini tercih ediyor . Danimarkalı bilim adamı Peter Naur , bilimsel disiplinin veri ve veri işleme etrafında döndüğünü, ancak bilgisayarları içermediği gerçeğini yansıtmak için veribilim terimini önerdi . Terimi kullanan ilk bilimsel kurum, 1969'da kurulan Kopenhag Üniversitesi'ndeki Veribilim Bölümü idi ve Peter Naur, veribilimde ilk profesördü. Terim esas olarak İskandinav ülkelerinde kullanılmaktadır. Naur tarafından da önerilen alternatif bir terim veri bilimidir ; bu artık istatistikler ve veri tabanları da dahil olmak üzere çok disiplinli bir veri analizi alanı için kullanılmaktadır .

Bilgisayarın ilk günlerinde , ACM'nin İletişimlerinde - turingineer , turologist , akış çizelgeleri-adamı , uygulamalı meta-matematikçi ve uygulamalı epistemolog - bilgi işlem alanındaki uygulayıcılar için bir dizi terim önerildi . Üç ay sonra aynı dergide komptolog önerildi, sonraki yıl hipolog tarafından takip edildi . Vadeli computics da öne sürülmüştür.Avrupa'da, "otomatik bilgi" (örneğin İtalyanca'da "informazione otomatika") veya "bilgi ve matematik" ifadesinin sözleşmeli çevirilerinden türetilen terimler sıklıkla kullanılır, örneğin informatique (Fransızca), Informatik (Almanca), informatica (İtalyanca, Felemenkçe) ), informática (İspanyolca, Portekizce), informatika ( Slav dilleri ve Macar ) ya da pliroforiki ( πληροφορική içinde, araçlar bilişim) Yunan . Benzer kelimeler Birleşik Krallık'ta da benimsenmiştir (Edinburgh Üniversitesi Enformatik Okulu'nda olduğu gibi ). "ABD'de ise, bilişim uygulanan bilgisayar ile bağlantılı olduğu, veya başka bir etki bağlamında işlem."

Genellikle Edsger Dijkstra'ya atfedilen -ama neredeyse kesinlikle ilk kez formüle etmediği- folklorik bir alıntı, "bilgisayar biliminin bilgisayarlarla, astronominin teleskoplarla ilgili olmasından daha fazla olmadığını" belirtir. Bilgisayarların ve bilgisayar sistemlerinin tasarımı ve dağıtımı, genellikle bilgisayar bilimi dışındaki disiplinlerin alanı olarak kabul edilir. Örneğin, bilgisayar donanımının incelenmesi genellikle bilgisayar mühendisliğinin bir parçası olarak kabul edilirken, ticari bilgisayar sistemleri ve bunların dağıtımının incelenmesine genellikle bilgi teknolojisi veya bilgi sistemleri denir . Bununla birlikte, bilgisayarla ilgili çeşitli disiplinler arasında çok fazla fikir alışverişi olmuştur. Bilgisayar bilimi araştırması, felsefe, bilişsel bilim , dilbilim , matematik , fizik , biyoloji , yer bilimi , istatistik ve mantık gibi diğer disiplinlerle de sıklıkla kesişir .

Bilgisayar bilimi, bazıları tarafından matematik ile birçok bilimsel disiplinden çok daha yakın bir ilişkiye sahip olarak kabul edilir, bazı gözlemciler ise hesaplamanın matematiksel bir bilim olduğunu söyler. Erken bilgisayar bilimi, Kurt Gödel , Alan Turing , John von Neumann , Rózsa Péter ve Alonzo Church gibi matematikçilerin çalışmalarından güçlü bir şekilde etkilenmiştir ve matematiksel mantık , kategori gibi alanlarda iki alan arasında yararlı bir fikir alışverişi olmaya devam etmektedir. teori , alan teorisi ve cebir .

Bilgisayar Bilimi ve Yazılım Mühendisliği arasındaki ilişki, "Yazılım Mühendisliği" teriminin ne anlama geldiği ve bilgisayar biliminin nasıl tanımlandığı konusundaki anlaşmazlıklarla daha da bulanıklaşan tartışmalı bir konudur . David Parnas , diğer mühendislik ve bilim disiplinleri arasındaki ilişkiden bir ipucu alarak, bilgisayar biliminin ana odağının genel olarak hesaplamanın özelliklerini incelemek olduğunu, yazılım mühendisliğinin ana odak noktasının ise pratik elde etmek için belirli hesaplamaların tasarımı olduğunu iddia etti. hedefler, iki ayrı ama tamamlayıcı disiplin haline getirir.

Bilgisayar biliminin akademik, politik ve finansman yönleri, bir bölümün matematiksel bir vurguyla mı yoksa mühendislik vurgusu ile mi oluşturulduğuna bağlı olma eğilimindedir. Matematik ağırlıklı ve sayısal yönelimli bilgisayar bilimleri bölümleri, hesaplamalı bilimle uyum sağlamayı düşünür . Her iki tür departman da, tüm araştırmalarda olmasa da, alanı eğitimsel olarak köprülemek için çaba gösterme eğilimindedir.

Felsefe

bilgisayar biliminin epistemolojisi

Adındaki "bilim" kelimesine rağmen, bilgisayar biliminin bir bilim, matematik veya mühendislik disiplini olup olmadığı konusunda tartışmalar vardır. Allen Newell ve Herbert A. Simon 1975'te tartıştılar,

Bilgisayar bilimi ampirik bir disiplindir. Buna deneysel bir bilim diyebilirdik, ancak astronomi, ekonomi ve jeoloji gibi, bazı benzersiz gözlem ve deneyim biçimleri, deneysel yöntemin dar bir klişesine uymaz. Bununla birlikte, bunlar denemedir. İnşa edilen her yeni makine bir deneydir. Aslında makineyi yapmak doğaya bir soru soruyor; ve makineyi çalışırken gözlemleyerek ve mevcut tüm analitik ve ölçüm araçlarıyla analiz ederek cevabı dinliyoruz.

O zamandan beri bilgisayar biliminin, programların doğruluğunu değerlendirmek için ampirik testlerden yararlandığı için ampirik bir bilim olarak sınıflandırılabileceği tartışıldı, ancak bilgisayar biliminin yasalarını ve teoremlerini (varsa) tanımlamada ve tanımlamada bir sorun var. bilgisayar bilimlerinde deneylerin doğası. Bilgisayar bilimini bir mühendislik disiplini olarak sınıflandırmanın savunucuları, hesaplama sistemlerinin güvenilirliğinin, inşaat mühendisliğindeki köprüler ve havacılık mühendisliğindeki uçaklarla aynı şekilde araştırıldığını savunuyorlar . Ayrıca, ampirik bilimlerin halihazırda var olanı gözlemlediğini, bilgisayar biliminin neyin mümkün olduğunu gözlemlediğini ve bilim adamlarının gözlemden yasaları keşfederken, bilgisayar biliminde uygun yasaların bulunmadığını ve bunun yerine fenomen yaratmakla ilgilendiğini iddia ediyorlar.

Bilgisayar bilimini bir matematik disiplini olarak sınıflandırmanın savunucuları, bilgisayar programlarının matematiksel varlıkların fiziksel gerçekleşmeleri olduğunu ve programların matematiksel biçimsel yöntemlerle tümdengelimsel olarak akıl yürütebileceğini savunuyorlar . Bilgisayar bilimcileri Edsger W. Dijkstra ve Tony Hoare , bilgisayar programları için yönergeleri matematiksel cümleler olarak görürler ve programlama dilleri için biçimsel semantiği matematiksel aksiyomatik sistemler olarak yorumlarlar .

Bilgisayar bilimi paradigmaları

Bir dizi bilgisayar bilimci, bilgisayar biliminde üç ayrı paradigmanın ayrımını tartıştı. Peter Wegner , bu paradigmaların bilim, teknoloji ve matematik olduğunu savundu. Peter Denning'in çalışma grubu bunların teori, soyutlama (modelleme) ve tasarım olduğunu savundu. Amnon H. Eden onları "rasyonalist paradigma" (bilgisayar bilimini, teorik bilgisayar biliminde yaygın olan ve esas olarak tümdengelimli akıl yürütmeyi kullanan bir matematik dalı olarak ele alan ), "teknokratik paradigma" (mühendislikte bulunabilir) olarak tanımladı. yaklaşımlar, en belirgin olarak yazılım mühendisliğinde) ve "bilimsel paradigma" (bilgisayarla ilgili eserlere doğa bilimlerinin ampirik perspektifinden yaklaşan , yapay zekanın bazı dallarında tanımlanabilir ). Bilgisayar bilimi, insan yapımı bilgi işlem sistemlerinin tasarımı, spesifikasyonu, programlaması, doğrulaması, uygulanması ve test edilmesiyle ilgili yöntemlere odaklanır.

Alanlar

Astronomi teleskoplarla ne kadar ilgiliyse, bilgisayar bilimi de bilgisayarlarla ilgili değildir.

Bir disiplin olarak, bilgisayar bilimi, algoritmaların teorik çalışmalarından ve hesaplamanın sınırlarından, donanım ve yazılımda bilgi işlem sistemlerinin uygulanmasının pratik sorunlarına kadar bir dizi konuyu kapsar. Daha önce Computing Machinery (ACM) ve IEEE Computer Society (IEEE CS) temsilcilerinden oluşan Computing Sciences Accreditation Board olarak adlandırılan CSAB , bilgisayar bilimi disiplini için çok önemli olduğunu düşündüğü dört alanı tanımlar: teori hesaplama , algoritmalar ve veri yapıları , programlama metodolojisi ve dilleri ve bilgisayar elemanları ve mimarisi . Bu dört alana ek olarak CSAB, yazılım mühendisliği, yapay zeka, bilgisayar ağları ve iletişimi, veri tabanı sistemleri, paralel hesaplama, dağıtık hesaplama, insan-bilgisayar etkileşimi, bilgisayar grafikleri, işletim sistemleri, sayısal ve sembolik hesaplama gibi alanları da tanımlar . bilgisayar biliminin önemli alanlarıdır.

teorik bilgisayar bilimi

Teorik Bilgisayar Bilimi , özünde matematiksel ve soyuttur, ancak motivasyonunu pratik ve günlük hesaplamadan alır. Amacı, hesaplamanın doğasını anlamak ve bu anlayışın bir sonucu olarak daha verimli metodolojiler sağlamaktır.

hesaplama teorisi

Peter Denning'e göre , bilgisayar biliminin altında yatan temel soru, "Ne otomatikleştirilebilir?" Hesaplama teorisi, neyin hesaplanabileceği ve bu hesaplamaları gerçekleştirmek için ne kadar kaynak gerektiği ile ilgili temel soruları yanıtlamaya odaklanmıştır. Hesaplanabilirlik teorisi , ilk soruyu cevaplama çabasıyla , çeşitli teorik hesaplama modellerinde hangi hesaplama problemlerinin çözülebileceğini inceler . İkinci soru, çok sayıda hesaplama problemini çözmeye yönelik farklı yaklaşımlarla ilişkili zaman ve yer maliyetlerini inceleyen hesaplama karmaşıklığı teorisi tarafından ele alınmaktadır .

Ünlü P = NP? Milenyum Ödül Problemlerinden biri olan problem, hesaplama teorisinde açık bir problemdir.

DFAexample.svg Sözdizimi ağacı.svg Karmaşıklık sınıfları.svg
otomat teorisi resmi diller hesaplanabilirlik teorisi Hesaplamalı karmaşıklık teorisi
Etkileşim Ağı Configuration.png olarak Blochsphere.svg XNOR ANSI Labelled.svg Kellerautomat.svg
hesaplama modelleri Kuantum hesaplama teorisi mantık devre teorisi hücresel otomatlar

Bilgi ve kodlama teorisi

Olasılık ve istatistikle yakından ilgili olan bilgi teorisi, bilginin nicelenmesiyle ilgilidir. Bu, Claude Shannon tarafından , verilerin sıkıştırılması ve verilerin güvenilir bir şekilde saklanması ve iletilmesi gibi sinyal işleme işlemlerinde temel sınırları bulmak için geliştirilmiştir . Kodlama teorisi, kodların (bilgiyi bir biçimden diğerine dönüştürmek için sistemler) özelliklerinin ve belirli bir uygulamaya uygunluklarının incelenmesidir. Kodlar veri sıkıştırma , kriptografi , hata tespiti ve düzeltme için ve daha yakın zamanda ağ kodlaması için de kullanılmaktadır . Etkin ve güvenilir veri aktarım yöntemleri tasarlamak amacıyla kodlar incelenir .

Hamming.jpg İkili simetrik kanal.svg Digitalteilchen.svg H0 h1 fehler.jpg Mandelpart2 red.png
kodlama teorisi Kanal kapasitesi Algoritmik bilgi teorisi Sinyal algılama teorisi Kolmogorov karmaşıklığı

Veri yapıları ve algoritmalar

Veri yapıları ve algoritmalar, yaygın olarak kullanılan hesaplama yöntemleri ve bunların hesaplama verimliliği çalışmalarıdır.

O ( n 2 ) Hızlı sıralama anim.gif'i sıralama Ağaç (bilgisayar bilimi).svg TSP Almanya 3.png SimplexRangeSearching.svg Daralma köşeleri.jpg
Algoritmaların analizi algoritma tasarımı Veri yapıları kombinatoryal optimizasyon hesaplamalı geometri Rastgele algoritmalar

Programlama dili teorisi ve biçimsel yöntemler

Dil teorisi Programlama bilgisayar biliminin bir dalı olduğu tasarım, uygulama, analiz, karakterizasyonu ve sınıflandırılması ile fırsatlar programlama dilleri ve kendi bireysel özelliklerinden . Matematik , yazılım mühendisliği ve dilbilime bağlı ve onları etkileyen bilgisayar bilimi disiplinine girer . Çok sayıda özel akademik dergi ile aktif bir araştırma alanıdır.

Biçimsel yöntemler belirli bir tür matematiksel için esaslı bir teknik şartname , geliştirme ve doğrulama yazılımı ve donanımı sistemleri. Yazılım ve donanım tasarımı için biçimsel yöntemlerin kullanılması, diğer mühendislik disiplinlerinde olduğu gibi, uygun matematiksel analizlerin yapılmasının bir tasarımın güvenilirliğine ve sağlamlığına katkıda bulunabileceği beklentisiyle motive edilir. Özellikle güvenlik veya güvenlik söz konusu olduğunda, yazılım mühendisliği için önemli bir teorik temel oluştururlar. Resmi yöntemler, hataları önlemeye yardımcı olduklarından ve ayrıca test için bir çerçeve sağladıklarından yazılım testine faydalı bir yardımcıdır. Endüstriyel kullanım için alet desteği gereklidir. Bununla birlikte, resmi yöntemleri kullanmanın yüksek maliyeti, bunların genellikle yalnızca güvenlik veya güvenliğin son derece önemli olduğu yüksek bütünlüklü ve hayati önem taşıyan sistemlerin geliştirilmesinde kullanıldığı anlamına gelir . Biçimsel yöntemler en iyi şekilde, oldukça geniş çeşitlilikteki teorik bilgisayar bilimi temellerinin, özellikle mantık hesapları, biçimsel diller , otomata kuramı ve program anlambiliminin yanı sıra , yazılım ve donanım belirtimindeki problemlere tip sistemleri ve cebirsel veri türlerinin uygulanması olarak tanımlanır . doğrulama.

IF-THEN-ELSE-END akış şeması.svg derleyici.svg Python add5 sözdizimi.svg Prop-tableau-1.svg Coq artı iletişim ekran görüntüsü.jpg
biçimsel anlambilim Tip teorisi derleyici tasarımı Programlama dilleri Resmi doğrulama Otomatik teorem ispatı

Bilgisayar sistemleri ve hesaplama süreçleri

Yapay zeka

Yapay zeka (AI), insanlarda ve hayvanlarda bulunan problem çözme, karar verme, çevresel adaptasyon, öğrenme ve iletişim gibi hedefe yönelik süreçleri sentezlemeyi amaçlar veya gereklidir. Sibernetikteki ve Dartmouth Konferansı'ndaki (1956) kökenlerinden itibaren , yapay zeka araştırması zorunlu olarak disiplinler arası olmuştur ve uygulamalı matematik , sembolik mantık , göstergebilim , elektrik mühendisliği , zihin felsefesi , nörofizyoloji ve sosyal bilimler gibi uzmanlık alanlarından yararlanmıştır. zeka . AI popüler zihinde robotik geliştirme ile ilişkilidir , ancak pratik uygulamanın ana alanı, yazılım geliştirme alanlarında, hesaplamalı anlayış gerektiren gömülü bir bileşen olarak olmuştur . 1940'ların sonlarında başlangıç ​​noktası Alan Turing'in "Bilgisayarlar düşünebilir mi?" sorusuydu ve bu soru hala yanıtsız kalıyor, ancak Turing testi hala bilgisayar çıktısını insan zekası ölçeğinde değerlendirmek için kullanılıyor. Ancak değerlendirici ve öngörücü görevlerin otomasyonu, karmaşık gerçek dünya verilerini içeren bilgisayar uygulamalarının etki alanlarında insan izleme ve müdahalesinin yerini alarak giderek daha başarılı hale geldi.

Nicolas P. Rougier'in insan beyni tasviri.png Eye.png'den işlenen insan gözü Renkli sinir ağı.svg Markov Karar Süreci.svg
hesaplamalı öğrenme teorisi Bilgisayar görüşü Nöral ağlar Planlama ve zamanlama
ingilizce.png Şövalye turu.svg Ackley.gif AutonomicSystemModel.png
Doğal dil işleme Hesaplamalı oyun teorisi evrimsel hesaplama otonom bilgi işlem
Neuron.svg KnnClassification.svg ROS C logosu.jpg Kural hizalama.gif
Temsil ve muhakeme Desen tanıma robotik Sürü zekası

Bilgisayar mimarisi ve organizasyonu

Bilgisayar mimarisi veya dijital bilgisayar organizasyonu, bir bilgisayar sisteminin kavramsal tasarımı ve temel operasyonel yapısıdır. Büyük ölçüde merkezi işlem biriminin dahili olarak nasıl çalıştığına ve bellekteki adreslere nasıl eriştiğine odaklanır. Bilgisayar mühendisleri çalışma hesaplama mantığı ve tasarımını bilgisayar donanımı kişiye, işlemci bileşenleri, mikrodenetleyiciler , kişisel bilgisayarlar için süper ve gömülü sistemler . Bilgisayar literatüründe "mimari" teriminin izi , IBM'in ana araştırma merkezindeki Makine Organizasyonu bölümünün üyeleri olan Lyle R. Johnson ve Frederick P. Brooks, Jr.'ın 1959'daki çalışmalarına kadar sürülebilir .

ABasicComputer.gif Intel Core2 ark.svg SIMD.svg Z80 kemer.svg
İşleme ünitesi mikromimari çoklu işlem işlemci tasarımı
Roomba orijinal.jpg Akış çizelgesi.png Çekirdek Düzeni.svg Uarm metal wiki2.jpg
Her yerde bilgi işlem Sistem mimarisi İşletim sistemleri Giriş çıkış
Fiziksel bilgi işlem.svg FIR Filtresi General.svg Bölüm-1.svg Linker.svg
Yerleşik sistem Gerçek zamanlı bilgi işlem güvenilirlik Tercüman

Eşzamanlı, paralel ve dağıtılmış hesaplama

Eşzamanlılık, birkaç hesaplamanın aynı anda yürütüldüğü ve potansiyel olarak birbirleriyle etkileşime girdiği sistemlerin bir özelliğidir. Petri ağları , süreç hesapları ve Paralel Rastgele Erişim Makinesi modeli dahil olmak üzere genel eşzamanlı hesaplama için bir dizi matematiksel model geliştirilmiştir . Eşzamanlılık kullanılırken bir ağa birden fazla bilgisayar bağlandığında, buna dağıtılmış sistem denir. Bu dağıtılmış sistemdeki bilgisayarların kendi özel belleği vardır ve ortak hedeflere ulaşmak için bilgi alışverişi yapılabilir.

Bilgisayar ağları

Bilgisayar biliminin bu dalı, dünya çapında bilgisayarlar arasındaki ağları yönetmeyi amaçlar.

Bilgisayar güvenliği ve kriptografi

Bilgisayar güvenliği, amaçlanan kullanıcılar için sistemin erişilebilirliğini ve kullanılabilirliğini korurken bilgileri yetkisiz erişimden, kesintiden veya değişiklikten korumak amacıyla bilgisayar teknolojisinin bir dalıdır. Kriptografi , bilgiyi gizleme (şifreleme) ve dolayısıyla deşifre etme (şifre çözme) uygulaması ve çalışmasıdır. Modern şifreleme, büyük ölçüde bilgisayar bilimi ile ilgilidir, çünkü birçok şifreleme ve şifre çözme algoritması, hesaplama karmaşıklığına dayanmaktadır.

Veritabanları ve veri madenciliği

Bir veritabanı, büyük miktarda veriyi kolayca organize etmek, depolamak ve almak için tasarlanmıştır. Dijital veritabanları, veri tabanı modelleri ve sorgulama dilleri aracılığıyla veri depolamak, oluşturmak, sürdürmek ve aramak için veri tabanı yönetim sistemleri kullanılarak yönetilir . Veri madenciliği, büyük veri kümelerindeki kalıpları keşfetme sürecidir.

Bilgisayar grafikleri ve görselleştirme

Bilgisayar grafikleri, dijital görsel içeriklerin incelenmesidir ve görüntü verilerinin sentezini ve manipülasyonunu içerir. Çalışma, bilgisayarla görü , görüntü işleme ve hesaplamalı geometri dahil olmak üzere bilgisayar bilimindeki diğer birçok alanla bağlantılıdır ve özel efektler ve video oyunları alanlarında yoğun bir şekilde uygulanmaktadır .

Simx2=çevir tamam.svg FWDvsINV Kinematik YüksekResTransp.png 5 hücreli.gif cat.jpg üzerinde Hud Görünür ışık göz izleme algoritması.jpg Csg ağacı.png
2D bilgisayar grafikleri Bilgisayar animasyonu oluşturma karma gerçeklik Sanal gerçeklik Katı modelleme

Görüntü ve ses işleme

Bilgi , görüntü, ses, video veya diğer multimedya biçimlerini alabilir. Bilgi bitleri , sinyaller aracılığıyla aktarılabilir . Bu işlem merkezi kavramıdır bilişim , Avrupa görünüşüdür işlem bu elektrik, mekanik ya da biyolojik olup -, bağımsız bir şekilde, bilgi taşıyıcı tipine çalışmaları bilgi işleme algoritmaları,. Bu alan, bilgi teorisi , telekomünikasyon , bilgi mühendisliğinde önemli bir rol oynar ve diğerlerinin yanı sıra tıbbi görüntü hesaplama ve konuşma sentezinde uygulamalara sahiptir . Hızlı Fourier dönüşüm algoritmalarının karmaşıklığının alt sınırı nedir ? biridir teorik bilgisayar bilimi çözülmemiş problemler .

DIT-FFT-butterfly.png sensor.svg üzerinde Bayer deseni Opus kalite karşılaştırması renk körü uyumlu.svg Kalite karşılaştırması jpg ve saveforweb.jpg MeningiomaMRISegmentation.png Ætoms - Translation.svg
FFT algoritmaları Görüntü işleme Konuşma tanıma Veri sıkıştırma Tıbbi görüntü hesaplama Konuşma sentezi

Uygulamalı bilgisayar bilimi

Hesaplamalı bilim, finans ve mühendislik

Bilimsel hesaplama (veya hesaplamalı bilim ), matematiksel modeller ve nicel analiz teknikleri oluşturmak ve bilimsel problemleri analiz etmek ve çözmek için bilgisayarları kullanmakla ilgili çalışma alanıdır . Bilimsel hesaplamanın önemli bir kullanımı, hesaplamalı akışkanlar dinamiği , fiziksel, elektrik ve elektronik sistemler ve devrelerin yanı sıra toplumlar ve sosyal durumlar (özellikle savaş oyunları) ve bunların yaşam alanları dahil olmak üzere çeşitli süreçlerin simülasyonudur . Modern bilgisayarlar, eksiksiz uçak gibi tasarımların optimizasyonunu sağlar. Elektrik ve elektronik devre tasarımında dikkat çekenler, SPICE'ın yanı sıra yeni (veya değiştirilmiş) tasarımların fiziksel olarak gerçekleştirilmesi için yazılımlardır. İkincisi, entegre devreler için temel tasarım yazılımını içerir .

Lorenz çekici yb.svg Kuark wiki.jpg Naftalin-3D-balls.png 1u04-argonaute.png GalvesLocherbach - Düşük çözünürlüklü.gif Plutchik-wheel.svg Kemik yaşının BoneXpert software.jpg tarafından otomatik olarak bulunduğu el röntgeni Elmer-pompa-heatequation.png Bachlut1.png
Sayısal analiz hesaplamalı fizik hesaplamalı kimya biyoinformatik nöroinformatik psikoinformatik tıp bilişimi hesaplama mühendisliği hesaplamalı müzikoloji

Sosyal bilgi işlem ve insan-bilgisayar etkileşimi

Sosyal bilgi işlem, sosyal davranış ve hesaplama sistemlerinin kesişimi ile ilgilenen bir alandır. İnsan-bilgisayar etkileşimi araştırması, kullanıcı arayüzü tasarımcıları için teoriler, ilkeler ve kılavuzlar geliştirir.

Yazılım Mühendisliği

Yazılım mühendisliği, yazılımın yüksek kalitede, uygun maliyetli, bakımı kolay ve hızlı bir şekilde oluşturulmasını sağlamak için yazılımı tasarlama, uygulama ve değiştirme çalışmasıdır. Mühendislik uygulamalarının yazılıma uygulanmasını içeren, yazılım tasarımına sistematik bir yaklaşımdır. Yazılım mühendisliği, yazılımın düzenlenmesi ve analizi ile ilgilenir - sadece yeni yazılımın oluşturulması veya üretilmesi ile değil, aynı zamanda dahili düzenlemesi ve bakımı ile de ilgilenir. Örneğin yazılım testi , sistem mühendisliği , teknik borç ve yazılım geliştirme süreçleri .

keşifler

Bilgi işlem filozofu Bill Rapaport , Bilgisayar Biliminin üç Büyük Öngörüsüne dikkat çekti :

Herhangi bir hesaplanabilir problem hakkındaki tüm bilgiler, yalnızca 0 ve 1 (veya "açık/kapalı", "manyetize edilmiş/manyetize edilmiş", "yüksek" gibi kolayca ayırt edilebilen iki durum arasında flip-flop yapabilen herhangi bir diğer iki durumlu çift kullanılarak temsil edilebilir. -voltaj/düşük voltaj", vb.).
  • Alan Turing'in görüşü : Bir bilgisayarın "herhangi bir şey" yapmak için gerçekleştirmesi gereken yalnızca beş eylem vardır.
Her algoritma, yalnızca beş temel talimattan oluşan bir bilgisayar için bir dilde ifade edilebilir:
  • bir konum sola hareket ettirin;
  • bir konum sağa hareket ettirin;
  • geçerli konumdaki sembolü oku;
  • geçerli konumda 0 yazdır;
  • geçerli konumda 1 yazdırın.
  • Corrado Böhm ve Giuseppe Jacopini'nin görüşü: Bir bilgisayarın "herhangi bir şeyi" yapabilmesi için gerekli olan bu eylemleri (daha karmaşık olanlarla) birleştirmenin yalnızca üç yolu vardır .
Herhangi bir temel talimat setini daha karmaşık olanlarla birleştirmek için sadece üç kural gereklidir:
  • sıra : önce şunu yap, sonra şunu yap;
  • seçim : EĞER böyle bir durum varsa, SONRA şunu yapın, YOKSA şunu yapın;
  • tekrarlama : Durum böyleyken, bunu YAPIN.
Boehm'in ve Jacopini'nin kavrayışının üç kuralının goto kullanımıyla daha da basitleştirilebileceğini unutmayın (bu, yapılandırılmış programlamadan daha temel olduğu anlamına gelir ).

Programlama paradigmaları

Programlama dilleri, farklı görevleri farklı şekillerde gerçekleştirmek için kullanılabilir. Ortak programlama paradigmaları şunları içerir:

  • Fonksiyonel programlama , hesaplamayı matematiksel fonksiyonların değerlendirilmesi olarak ele alan ve durum ve değişken verilerden kaçınan bilgisayar programlarının yapı ve öğelerini oluşturma stili. Bu, programlamanın ifadeler yerine ifadeler veya bildirimlerle yapıldığı anlamına gelen bildirimsel bir programlama paradigmasıdır.
  • Zorunlu programlama , bir programın durumunu değiştiren ifadeleri kullanan bir programlama paradigması. Doğal dillerdeki emir kipinin komutları ifade etmesiyle aynı şekilde, bir emir programı da bilgisayarın gerçekleştirmesi için komutlardan oluşur. Zorunlu programlama, bir programın nasıl çalıştığını açıklamaya odaklanır.
  • Nesne yönelimli programlama , genellikle nitelikler olarak bilinen alanlar biçiminde veri içerebilen "nesneler" kavramına dayanan bir programlama paradigması; ve genellikle yöntemler olarak bilinen prosedürler biçiminde kod. Nesnelerin bir özelliği, bir nesnenin prosedürlerinin, ilişkili oldukları nesnenin veri alanlarına erişebilmesi ve genellikle bunları değiştirebilmesidir. Böylece nesne yönelimli bilgisayar programları, birbirleriyle etkileşime giren nesnelerden oluşur.
  • Hizmet odaklı programlama , entegre iş uygulamalarını ve kritik görev yazılım programlarını tasarlamak ve uygulamak için bilgisayar çalışmasının birimi olarak "hizmetleri" kullanan bir programlama paradigması

Birçok dil, çoklu paradigmalar için destek sunarak, ayrımı teknik yeteneklerden çok bir tarz meselesi haline getirir.

Akademi

Konferanslar bilgisayar bilimi araştırmaları için önemli etkinliklerdir. Bu konferanslar sırasında kamu ve özel sektörden araştırmacılar son çalışmalarını sunmakta ve buluşmaktadır. Diğer akademik alanların çoğundan farklı olarak, bilgisayar biliminde, konferans bildirilerinin prestiji dergi yayınlarından daha fazladır. Bunun için önerilen bir açıklama, bu nispeten yeni alanın hızlı gelişiminin, sonuçların hızlı bir şekilde gözden geçirilmesini ve dağıtılmasını gerektirmesidir, bu görev dergilerden ziyade konferanslar tarafından daha iyi ele alınır.

Eğitim

Yakın eş anlamlıları olan Computing , Computer Studies ile bilinen Bilgisayar Bilimi , toplu işleme , işaretleme hassas kartları ve kağıt bant günlerinden beri, ancak genellikle birkaç seçkin öğrenciye Birleşik Krallık okullarında öğretilmektedir . 1981'de BBC bir mikro bilgisayar ve sınıf ağı üretti ve Bilgisayar Çalışmaları GCE O düzeyindeki öğrenciler (11-16 yaşındaki) ve Bilgisayar Bilimi ila A düzeyindeki öğrenciler için yaygınlaştı . Önemi kabul edildi ve Anahtar Aşama 3 ve 4 için Ulusal Müfredat'ın zorunlu bir parçası haline geldi . Eylül 2014'te, 4 yaşından büyük tüm öğrenciler için bir hak haline geldi.

In ABD , 14.000 okul bölgesi müfredatı karar ile, hüküm kırıldı. Bilgisayar Makineleri Derneği (ACM) ve Bilgisayar Bilimi Öğretmenleri Derneği (CSTA) tarafından 2010 yılında yayınlanan bir rapora göre, 50 eyaletten sadece 14'ü lise bilgisayar bilimleri için önemli eğitim standartlarını benimsemiştir.

İsrail, Yeni Zelanda ve Güney Kore, bilgisayar bilimini ulusal orta öğretim müfredatlarına dahil ettiler ve diğerleri de bunu takip ediyor.

Ayrıca bakınız

Notlar

Referanslar

daha fazla okuma

genel bakış

  • Tucker, Allen B. (2004). Bilgisayar Bilimleri El Kitabı (2. baskı). Chapman ve Hall/CRC. ISBN'si 978-1-58488-360-9.
    • "70'den fazla bölümde, her biri yeni veya önemli ölçüde gözden geçirilmiş, bilgisayar bilimleri hakkında hayal edebileceğiniz her türlü bilgi ve referansı bulabilirsiniz. [...] Sonuç olarak, Bilgisayar Bilimi hakkında bulunamayacak mutlak hiçbir şey yoktur. 110 anket makalesi ile 2,5 kilogramlık ansiklopedi […]." (Christoph Meinel, Zentralblatt MATH )
  • van Leeuwen, Ocak (1994). Teorik Bilgisayar Bilimi El Kitabı . MİT Basın. ISBN'si 978-0-262-72020-5.
    • "[…] bu set, hem öğretimi hem de araştırmayı desteklemek için [teorik bilgisayar bilimi] topluluğu için en benzersiz ve muhtemelen en yararlı olanıdır […]. Kitaplar, yalnızca bir konuyu anlamak isteyen herkes tarafından kullanılabilir. veya bir konuda araştırma yapmak isteyen biri tarafından veya ana uzmanlık alanları dışında öğrettikleri bir konu hakkında zamanında bilgi bulmak isteyen eğitmenler tarafından." (Rocky Ross, SIGACT Haberleri )
  • Ralston, Anthony ; Reilly, Edwin D .; Hemmender, David (2000). Bilgisayar Bilimleri Ansiklopedisi (4. baskı). Grove'un Sözlükleri. ISBN'si 978-1-56159-248-7.
    • "1976'dan beri bu, bilgisayar, bilgisayar ve bilgisayar bilimi üzerine kesin referans çalışması olmuştur. […] Alfabetik olarak düzenlenmiş ve geniş konu alanlarına göre sınıflandırılmış, girişler donanımı, bilgisayar sistemlerini, bilgi ve verileri, yazılımı, bilgisayar matematiğini kapsar. , hesaplama teorisi, metodolojiler, uygulamalar ve bilgi işlem ortamı. Editörler, tarihsel perspektifi ve pratik referans bilgilerini harmanlayarak övgüye değer bir iş çıkardılar. Ansiklopedi, çoğu kamu ve akademik kütüphane referans koleksiyonları için vazgeçilmez olmaya devam ediyor." (Joe Accardin, Northeastern Illinois Univ., Chicago)
  • Edwin D. Reilly (2003). Bilgisayar Bilimi ve Bilgi Teknolojisinde Kilometre Taşları . Greenwood Yayıncılık Grubu. ISBN'si 978-1-57356-521-9.

Seçilmiş literatür

Nesne

Müfredat ve sınıflandırma

Dış bağlantılar

Bibliyografya ve akademik arama motorları

Profesyonel organizasyonlar

Çeşitli