Bilgisayar bilimi, bilgisayarların tasarımı ve kullanımı için temel oluşturan teori, deney ve mühendislik çalışmasıdır. Hesaplamaya ve uygulamalarına bilimsel ve pratik bir yaklaşımdır. Bilgisayar bilimi; edinim, temsil, işleme, depolama, iletişim ve erişimin altında yatan yönteme dayalı prosedürlerin veya algoritmaların fizibilitesi, yapısı, ifadesi ve mekanizasyonunun sistematik çalışmasıdır. Bilgisayar biliminin alternatif, daha özlü tanımı "büyük, orta veya küçük ölçekli algoritmik işlemleri otomatikleştirme çalışması" olarak nitelendirilebilir. Bir bilgisayar bilimcisi, hesaplama teorisi ve hesaplama sistemlerinin tasarımı konusunda uzmanlaşmıştır.
Alan Mathison Turing, İngiliz matematikçi, bilgisayar bilimcisi ve kriptolog. Bilgisayar biliminin kurucusu sayılır. Geliştirmiş olduğu Turing testi ile makinelerin ve bilgisayarların düşünme yetisine sahip olup olamayacakları konusunda bir kriter öne sürmüştür.
Bilgisayar biliminde, kuyruk özyineleme özel bir özyineleme çeşididir.
Turing makinesi, karmaşık matematiksel hesapların belirli bir düzenek tarafından yapılmasını sağlayan hesap makinesi.
Başlangıçta sonsuz küçük hesap veya "sonsuz küçüklerin hesabı" olarak adlandırılan kalkülüs, geometrinin şekillerle çalışması ve cebirin aritmetik işlemlerin genellemelerinin incelenmesi gibi, kalkülüs sürekli değişimin matematiksel çalışmasıdır.
Programlama dili teorisi (PDT), programlama dilleri olarak bilinen biçimsel dillerin ve bunların bireysel özelliklerinin tasarımı, uygulanması, analizi, karakterizasyonu ve sınıflandırılması ile ilgilenen bir bilgisayar bilimleri dalıdır. Matematik, yazılım mühendisliği, dilbilim ve hatta bilişsel bilime bağlı ve onu etkileyen bilgisayar bilimi disiplinine girer. PDT'ye adanmış çok sayıda dergide ve genel bilgisayar bilimi ve mühendisliği yayınlarında yayınlanan sonuçlarla tanınmış bir bilgisayar bilimi dalı ve aktif bir araştırma alanı haline gelmiştir.
Algoritmalar teori, bu teoriye göre evrensel algoritmik modellerin 3 türü ele alınmaktadır.
- Birinci tür: Algoritma kavramını klasik olan hesaplama ve sayısal fonksiyonlar gibi matematiksel kavramlarla ilişkilendirmektedir. Bu sınıfın en gelişmiş ve incelenmiş modeli, algoritma kavramını ilk olarak biçimlendiren özyinelemeli fonksiyonlardır.
- İkinci tür: Algoritmanın her ayrık zamanda çok basit işlemleri yapan bir belirlenimlilik makine ile bağdaştırılmasıdır. Bu modeller, yapısal olarak bilgisayarlara en yakın olanlarıdır. Bu türün temel teorik modeli olarak 1930'larda ileri sürülen Turing makineleridir.
- Üçüncü tür: Algoritmik modeller ise, herhangi alfabede sözcüklerin değiştirilmesine dayalı kelime işlemcileridir.
Berim, bilgi işlemlemesi ile ilgili genel bir terimdir. Çoğunlukla sayısal veri işlemlemesi için kullanılsa da, en dar anlamıyla hesaplama ile, insan düşünmesine (bilişim) kadar uzanan olgular için kullanılan bir kavramdır. Berim, iyi tanımlanmış bir modeldir ve bir algoritma, protokol, ağ topolojisi, vb. şekilde ifade edilebilir. Berim, ayrıca bilgisayar biliminin bir ana konusudur; berimsel yolla neyin yapılabileceğini veya yapılamayacağını araştırır.
Algoritma analizi veya diğer adıyla algoritma çözümlemesi, bilgisayar biliminde bir algoritmayı çalıştırabilmek için gereken kaynakların miktarının tespitidir. Algoritmaların çoğunluğu, rastgele seçilmiş uzunluktaki girdiler ile çalışmak için tasarlanmıştır. Genellikle, bir algoritmanın verimlilik veya çalışma zamanı, adımların sayısı veya depolama yerleri 'nin girdi uzunluğuyla ilişkili olan işlev olarak ifade edilir.
Matematiksel model, bir sistemin matematiksel kavramlar ve dil kullanılarak tanımlanmasıdır. Matematiksel model geliştirme süreci, matematiksel modelleme olarak adlandırılır. Matematiksel modeller, doğa bilimlerinde ve mühendislik disiplinlerinde bunun yanı sıra sosyal bilimlerde kullanılır. Matematiksel modelleri daha çok fizikçiler, mühendisler, istatistikçiler, operasyon araştırma analistleri ve ekonomistler kullanır. Model, bir sistemi açıklamaya, farklı bileşenlerin etkilerini incelemeye ve bir davranış hakkında öngörüde bulunmak için yardımcı olabilir.
Programlama paradigmaları, programlama dillerini özelliklerine göre sınıflandırmanın bir yoludur. Diller birden fazla paradigma içinde sınıflandırılabilir.
Otomat teorisi, teorik bilgisayar biliminde soyut makineleri ve bu makineleri kullanarak hesaplama problemlerinin çözülebilmesini araştıran daldır. Bu soyut makinelere otomat denir. Otomat kelimesinin kökeni Yunanca "Grekçe: αὐτόματα" kelimesi olup "kendi kendine hareket eden" demektir.
Kriptografik özet fonksiyonu çeşitli güvenlik özelliklerini sağlayan bir özet fonksiyonudur. Veriyi belirli uzunlukta bir bit dizisine, (kriptografik) özet değerine, dönüştürür. Bu dönüşüm öyle olmalıdır ki verideki herhangi bir değişiklik özet değerini değiştirmelidir. Özetlenecek veri mesaj, özet değeri ise mesaj özeti veya kısaca özet olarak da adlandırılır.
Matematikte bir sabit nokta teoremi, bir F fonksiyonunun, genel terimlerle ifade edilmiş belli koşullar altında en az bir sabit noktası olduğunu ifade eden bir sonuçtur. Bu tür sonuçlar matematikte en çok kullanılanlar arasındadır.
Teorik bilişim biliminde ve matematikte hesaplanabilirlik teorisi, belirli bir hesap modeline ait soruların uygun bir komut silsilesi ile ne kadar verimli bir şekilde çözülebileceğiyle ilgilenen daldır. Alan, üç yan ana dala ayrılmaktatır. Otomat teorisi ve dil, hesaplanabilirlik kuramı ve hesapsal karmaşıklık kuramı ki bunlar şu soru ile birbirine bağlanır:'Bilgisayarların temel kabiliyetleri ve sınırlamaları nelerdir?'
Lamda kalkülüs (λ-calculus), herhangi bir tek bantlı Turing makinesini simule edebilen evrensel bir hesaplama modelidir. Soyutlama ve işlev çağırmaya dayanmaktadır. Matematikçi Alonzo Church tarafından 1930'larda matematiğin temelleri üzerine bir araştırma olarak ortaya koyulmuştur.
Hesaplamalı kimya, kimya problemlerini çözmeye yardımcı olmak için bilgisayar simülasyonunu kullanan bir kimya dalıdır. Moleküllerin, katıların yapı ve özelliklerini hesaplamak için verimli bilgisayar programlarına dahil edilmiş teorik kimya yöntemlerini kullanır. Bu yöntemlerin kullanılmasının nedeni, hidrojen moleküler iyonu ile ilgili nispeten yeni sonuçlar dışında, kuantum çok-gövdeli(many-body) problemlerin analitik olarak çözülemez oluşudur. Hesaplama sonuçları normal olarak kimyasal deneylerle elde edilen bilgileri tamamlarken, bazı durumlarda gözlemlenmeyen kimyasal olayları da tahmin edebilmektedir. Yeni ilaç ve materyallerin tasarımında yaygın olarak kullanılmaktadır.
Hesaplamalı karmaşıklık teorisi, hesaplama problemlerini kendi zorluklarına göre sınıflandırmaya ve bu sınıfları birbirleriyle ilişkilendirmeye odaklanan teorik bilgisayar bilimlerinde hesaplama teorisinin bir dalıdır. Bir hesaplama probleminde prensip, algoritmada belirtilen matematiksel adımların mekaniğe uygulanması yoluyla probleme yaklaşmaktır. Ve bununla beraber hesaplama karmaşıklık teorisindeki problemler, eşdeğer bir bilgisayar tarafından çözülebilen ortamlarda kullanılır.
Bilgisayar bilimi, matematik, ekonomi ve biyoinformatikte dinamik programlama karmaşık bir problemi tekrarlanan alt problemlere bölerek, her bir alt problemi yalnız bir kere çözüp daha sonra bu çözümü kaydederek karmaşık problemin çözümünde kullanma yöntemidir. Bir alt problem çözüldükten sonra tekrar çözülmesi gerektiğinde daha önce kaydedilen çözüm kullanılarak zaman kazanılır, ancak alt problemlerin kaydedileceği daha fazla alana gereksinim duyulur. Yani dinamik programlama algoritmaları alandan ödün verilerek zamandan kazanılmasını sağlar. Dinamik programlama algoritmaları optimizasyon problemlerinin çözümünde yaygın olarak kullanılır.
Matematikte, hesaplanabilir sayılar, belirlenen herhangi bir doğruluk seviyesine ulaşacak şekilde sonlu ve sona eren bir algoritma ile hesaplanabilen reel sayıları ifade eder. Bu sayılar, yinelemeli sayılar, etkili sayılar ya da hesaplanabilir reel sayılarolarak da adlandırılır. Hesaplanabilir reel sayılar kavramı, o dönemde mevcut olan sezgisel hesaplanabilirlik kavramı üzerinden Emile Borel tarafından 1912'de ortaya konmuştur.