
Bilgisayar mühendisliği temel olarak yazılım, programlama ve algoritma ile ilgilenir. Bilgisayar ağları, veri tabanı yöneticiliği ve gömülü sistemler de diğer çalışma alanlarıdır.

C, yapısal bir programlama dilidir. Bell Laboratuvarları'nda, Ken Thompson ve Dennis Ritchie tarafından UNIX işletim sistemini geliştirebilmek amacıyla B dilinden türetilmiştir. Geliştirilme tarihi 1972 olmasına rağmen yaygınlaşması Brian Kernighan ve Dennis M. Ritchie tarafından yayımlanan "C Programlama Dili" kitabından sonra hızlanmıştır. Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95'lere varan oranda kullanılmış, hâlen daha sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın ve sınırları belirsiz oldukça keskin bir dildir. Keskinliği, programcıya sonsuz özgürlüğün yanında çok büyük hatalar yapabilme olanağı sağlamasıdır. Programlamanın gelişim süreciyle beraber programlamanın karmaşıklaşması, gereksinimlerin artması ile uygulama programlarında nesne yönelimliliğin ortaya çıkmasından sonra C programcıları büyük ölçüde nesne yönelimliliği destekleyen C++ diline geçmişlerdir.

Pascal bilgisayar programlama dili pek çok öğrenciye bilgisayar programlamayı öğreten ve çeşitli versiyonları bugün hâlâ yaygın olarak kullanılmaya devam eden en önemli programlama dillerinden biridir. İlk Macintosh işletim sisteminin çoğu ve TeX Pascal ile yazılmıştır.
Bilişim, bilişim bilimi ya da bilgisayar bilimi, bilgi ve hesaplamanın kuramsal temellerini ve bunların bilgisayar sistemlerinde uygulanabilmeleri sağlayan pratik teknikleri araştıran bir yapısal bilim dalıdır. Bilişimciler ya da bilgisayar bilimcileri bilgi oluşturan, tanımlayan ve dönüştüren algoritmik süreçler icat edip, kompleks sistemleri tasarlamak ve modellemek için uygun soyutlamalar formüle ederler. Bilişim Dünya'da hızla gelişmeye devam eden önemli bir teknolojidir.

C#; Microsoft tarafından .NET Teknolojisi için geliştirilen modern bir programlama dilidir. Sözdizimi C-like bir deneyim sunar.
Python, nesne yönelimli, yorumlamalı, birimsel (modüler) ve etkileşimli yüksek seviyeli bir programlama dilidir.

Derleyici, kaynak kodu makine koduna dönüştüren yazılımdır. Bir programlama dilinin derleyicisi, o programlama dili kullanılarak yazılmış olan kodu hedef işlemci mimarisine göre uygun şekilde makine koduna derler ve genellikle çıktı olarak yürütülebilir dosyanın oluşturulmasını sağlar. Bu eyleme derleme denir. Bir başka ifadeyle derleyici, bir tür yazı işleyicidir; girdi olarak yazı alır ve çıktı olarak yazı verir.
Yapısal programlama, programlama dilleri kullanılarak yazılan, mantıksal bütünlük gösteren bloklara (bölümlere) bölünebilirler. Bu yolla uzun ve karmaşık programların, bloklara ayırarak daha kolay biçimde yazılabilmesi mümkün olmaktadır.
Program kelimesi sözcük kaynağı olarak belirli şartlara ve düzene göre yapılması öngörülen işlemlerin bütünü anlamına gelmekte ve ayrıca izlence olarak tanımlanmaktadır. Ancak günümüz Türkçe kullanımı içinde genel anlamı, yapılacak bir işin bölümlerini, bu bölümlerin sırasını ve zamanını gösteren tasarı, planlama şekline dönüşmüştür. Bu sebeple okullarda, haftanın belli günlerinde, belli saatlerde verilecek dersleri gösteren çizelgelere; tören, gösteri, gezi vb. nin öngörülen ayrıntılarını gösteren basılı kâğıtlara; siyasi partilerin, toplumsal örgütlerin veya hükûmetin açıkladığı ana ilkelerin tümüne de genel olarak Program ismi verilmektedir.
Yapısal olmayan programlama, program yazılış sırası ile işletilirler. Bir “goto” terimi işletimin programda bir yerden başka bir yere iletilmesini sağlar. Bir “goto” çağrıldığında program goto’nun hedef satırından devam eder. Bu yüzden programın nasıl çalıştığını anlamak için programı aklınızda çalıştırmanız gerekir. Bunun anlamı programın mantığının anlaşılması özellikle program büyüdükçe imkânsızlaşmasıdır. Bazı derleyiciler “goto”ların hedeflerini indeksleyerek daha kolay bir dolaşım sağlayabilmektedir.
Brainfuck, 1993 yılında programcı Urban Müller tarafından yaratılmış bir programlama dilidir. Yaratılma amacı mümkün olan en küçük boyutlu derleyiciyi üretmektir. Bilinen bazı derleyicileri 200 bayttan küçüktür. Sadece sekiz komutu bulunmakla birlikte Turing-bütün bir dil olduğundan teorik olarak herhangi bir algoritma bu dilde yazılıp işletilebilir.
Veri yapısı, bilgisayar ortamında verilerin etkin olarak saklanması ve işlenmesi için kullanılan yapı.
Sözdizim, söz dizimi ya da Fransızcadan ödünçleme biçimiyle sentaks, doğal dillerdeki cümle kurma ilke ve kurallarını inceleyen ve bu dildeki cümlelerin esnekliğini inceleyen dilbilim dalıdır.
Eski Yunanca "birlikte düzenleme, dizme" anlamına gelen sentaks terimi dilbilimde, doğal dillerde nasıl cümle oluşturulacağına dair bir kurallar ve prensipler çalışmasıdır. Bir bilim dalına ait olmasına ek olarak “Modern İrlandacanın Sözdizimi"nde olduğu gibi, sözdizim terimi herhangi bireysel bir dilin cümle yapısına hâkim olan kurallara ve prensiplere de doğrudan ilgili olarak da kullanılır. Sözdizim, dilin yatay, yani satır şeklinde dizilen bir sistem olduğunu gösterir. Bu diziliş, sesten, morfemlere, morfemlerden daha büyük öbeklere dilin her seviyesinde mevcuttur. Sözdizimin yalnız cümle seviyesini gösteren bir terim olarak kullanılması doğru ama eksik bir kullanımdır.

Kabarcık Sıralaması, bilgisayar bilimlerinde kullanılan yalın bir sıralama algoritmasıdır. Sıralanacak dizinin üzerinde sürekli ilerlerken her defasında iki öğenin birbiriyle karşılaştırılıp, karşılaştırılan öğelerin yanlış sırada olmaları durumunda yerlerinin değiştirilmesi mantığına dayanır. Algoritma, herhangi bir değişiklik yapılmayıncaya kadar dizinin başına dönerek kendisini yineler. Adına "Kabarcık" sıralaması denmesinin nedeni büyük olan sayıların aynı suyun altındaki bir kabarcık gibi dizinin üstüne doğru ilerlemesidir.
Matematik biliminde, özellikle yöneylem araştırması uygulamalı dalında, doğrusal programlama problemleri bir doğrusal amaç fonksiyonunun doğrusal eşitlik ve/veya eşitsizlik kısıtlamalarını sağlayacak şekilde optimizasyon yapılmasıdır. Bir optimizasyon modeli eğer sürekli değişkenlere ve tek bir doğrusal amaç fonksiyonuna sahipse ve tüm kısıtlamaları doğrusal eşitlik veya eşitsizliklerden oluşuyorsa, doğrusal (lineer) program olarak adlandırılır. Başka bir deyişle, modelin tek-amaçlı fonksiyonu ve tüm kısıtlamaları, süreklilik gösteren karar değişkenlerinin ağırlıklı toplamlarından oluşmalı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.
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.

OpenCL,, Apple tarafından 2008 yılında kâr amacı gütmeyen teknoloji şirketleri birliği Khronos Group'a önerilen, kabul gördükten sonra spesifikasyonu pek çok şirketin katkılarıyla hazırlanan heterojen hesaplama platformudur. OpenCL; destekli grafik işlemcileri, genel amaçlı işlemciler ve FPGA ler gibi farklı platformlarda hesaplama yapılmasına olanak sağlar. OpenCL AMD, Intel, NVIDIA ve ARM tarafından desteklenmektedir. Ayrıca OpenCL kullanılarak Sony Playstation cihazlarında kullanılan Cell işlemcilerde de hesaplama yapılabilmektedir.

Ayrıştırıcı, girdi verilerini alır ve girdinin yapısal bir temsilini vererek, süreçte doğru sözdizimini kontrol eden bir veri yapısı oluşturan bir yazılım bileşenidir. Ayrıştırma öncesinde veya sonrasında başka adımlar izlenebilir veya bunlar tek bir adımda birleştirilebilir. Ayrıştırıcı, genelde girilen karakter dizisinden belirteçler oluşturan ayrı bir sözcük tabanlı analiz motorunu takip eder. Ayrıştırıcılar elle programlanabilir veya bir ayrıştırıcı üreteci tarafından otomatik olarak veya yarı otomatik olarak oluşturulabilir. Ayrıştırma, biçimlendirilmiş çıktı üretimlerini tek bir şablonda tamamlama görevi görür. Bunlar, farklı etki alanlarına uygulanabilir, ancak bir derleyicinin girdi ve çıktı aşamaları gibi genellikle bir arada sunulur.
Bilgisayar biliminde, bildirimsel programlama bir programlama paradigmasıdır. —bilgisayar programlarının yapısını ve öğelerini oluşturma stili— bir hesaplamanın mantığını kontrol akışını tanımlamadan ifade eder.