Bilgisayar Bilimleri -2- Bilgisayar Bilimlerine Giriş

Bilgisayar bilimlerine giriş yaparken öncelikle bilgisayar bilimlerinin ne olduğunu ve bunun kapsamını iyi bilmemiz gerekir. Pek çok kişi bilgisayar bilimlerini programlama ile sınırlı tutmakta ve bilgisayar bilimlerinin programlama bilgisinden (bir parça da algoritma) ibaret olduğunu görmektedir. Bir başka görüş ise bilgisayar bilimlerinin bilgisayar bilgisinden ibaret olduğudur. Bu dar görüşlerle bilgisayar bilimine bakarsak bilgisayar bilimi dahilindeki pek çok konuyu dışarı atmamız gerekecektir. Bilgisayar bilimlerine ne kadar genel ve kapsamlı bir şekilde bakarsak ele alacağımız konular o kadar artacak ve kendimizi geliştirmemiz konusunda katkısı olacaktır. Önceden bahsettiğimiz gibi bilgisayar bilimleri ve bilgisayar okur yazarlığı bu alanda çalışmaya başlayacakların en önce öğrenmesi gereken konulardan biridir. Ne kadar geniş bir yelpazede konuları ele alırsak o kadar ufkumuz açık olacaktır.

Biz haberleri takip ettiğimizde bazı medya çalışanlarının bilgisayar bilimlerine dair konuları bayraklaştırdığını görürüz. Veri madenciliği, big data, nesnelerin interneti, yapay zeka, algoritma gibi saydıkları birkaç terim ile gelişen teknolojiyi ifade etmek ve insanları etkilemek isterler. Bu sayılan terimlerin hepsi bilgisayar bilimlerinin içerisine girse de bilgisayar bilimleri kapsamındaki toplam konuların pek azını teşkil etmektedir.

Bilgisayar bilimleri diğer bilimlere göre yeni ortaya çıkan bir bilim olsa da bunun tarihi eskilere dayanmaktadır. Biz tarihini bir sonraki başlıkta ele alacak olsak da bu tarihi süreçte elde edilen bilgilerin bilgisayar bilimlerinin temellerini teşkil ettiğini ve öğrenilmesi gerektiğini belirtelim. Pek çok öğrenci neden 50 yıllık bilgileri okulda kendilerine öğretildiğini sorgulamaktadır. Vakum tüpleri gibi artık neredeyse tamamen eskide kalmış bir teknolojiyi öğrenmek ile günümüz teknolojisinin tamamının üzerine bina edildiği temel bilgileri öğrenmek arasında büyük fark vardır. Günümüzde vakum tüpleri bazı ses yükselteçlerinde halen kullanılsa da bunların günümüzde geçerliliği olmadığını varsayalım. Bunların günümüz teknolojisinde herhangi bir uygulamasının olmaması yüzünden ancak tarihsel bir bilgi olarak kayda alınabilir. Ama transistörler günümüz teknolojisinin temel taşları olduğundan her ne kadar 1940’larda keşfedilmiş olsa da günümüz teknolojisini anlamak için olmazsa olmaz elemanlardır. Bunun gibi bilgisayar bilimleri ve elektronikteki bazı konular da bazı teknolojileri anlayabilmek için olmazsa olmazdır.

Yukarıda belirttiğimiz yanlış tanımlamalardan biri bilgisayar bilimlerinin bilgisayarları konu alan bir bilim olduğuydu. Bu tanımın yanlış olmasından ziyade dar ve isabetsiz bir tanım olduğunu söyleyebiliriz. Bu aynı astronominin teleskopları konu alan bir bilim veya biyolojinin mikroskopları konu alan bir bilim olduğunu iddia etmeye benzer. Bilgisayarlar aynı teleskoplar, mikroskoplar gibi bir araçtır ve bilimler bir aracın bilimi olarak teşekkül etmez. Araçlar bilimi elde etmede, uygulamada ve ilerletmede kullanılan vasıtalardır. Bilgisayar bilimlerinin tarihine baktığımızda 1920 ile 1940’larda en temel teorilerin ortaya koyulduğunu görürüz. Fark ederseniz o dönemlerde bilgisayarlar ortada yoktu. İlk bilgisayar bilimcileri matematik ve mantığı araç olarak kullanarak bilgisayar bilimlerinin temelini atmıştır. Bilgisayar bilimlerinde öncü kabul edilen Alan Turing, Turing makinesini ortaya koyarken daha bilgisayarların varlığından söz edilmiyordu. Buradan teorik bilgisayar biliminin araçlarının matematik ve mantık olduğunu da anlayabilirsiniz. Bir zamanlar matematik ve mantık içinde faaliyet gösteren bu bilim sonrasında ayrı bir bilim dalı olarak ayrılmıştır. Aynı psikoloji, sosyoloji, dilbilim gibi bilimlerin bir dönem felsefenin dalı olup sonradan bilim haline gelmesine benzetebiliriz. Teorik bilgi işleme (Theorical computing) baktığımızda ise her şeyin kağıt üzerinde olduğunu ve ortada gerçek bir bilgisayarın olmadığını görürüz. Kısacası bilgisayarlar bilgisayar bilimlerinin ilerlemesine ciddi derecede katkıda bulunsa da bilgisayar bilimleri varlığını bilgisayarlara borçlu değildir. Bu konuda bilgisayar bilimcisi Michael R. Fellows ve Ian Parlberry “Computing Research News” dergisinde şu tanımı yapmışlardır:

“Bilgisayar biliminde bilgisayarlar astronomideki teleskoplardan, biyolojideki mikroskoplardan ve kimyadaki beher ve test tüplerinden öte değildir. Bilim aletleri ele almaz. Onları nasıl kullanacağımızı ve onlardan neleri çıkaracağımızı ele alır. “

İkinci yanlış tanım ise bilgisayar bilimlerinin nasıl program yazacağımızın bilimi olduğudur. Bilgisayar bilimlerini sadece “Bilgisayar programı yazma” olarak görmek oldukça sığ bir bakış açısı olmakta ve programlama mesleğine eşitlemektedir. Elbette bilgisayar bilimleri programlamadan ibaret değildir fakat programlama bilgisi bilgisayar bilimlerinde önemli bir noktadadır. Algoritma dediğimiz ve hepimizin yakından duyduğu ve medya çalışanlarının hakkında bilgileri olmadığından aşırı derecede abarttığı kavram ise programlamayla alakalı görünse de herhangi bir programlama dilinden ve hatta bilgisayar mimarisinden de bağımsız bir kavramdır. İstersek kağıt üzerinde bir algoritmayı geliştirebiliriz. Bunun için bilgisayarlara bile ihtiyaç yoktur. Algoritmanın programlama demek olmadığını acemi biri bile bilmektedir. Programlama aynı bilgisayarlar gibi birer araçtır. Programlama günümüzde olmazsa olmaz bir noktada olsa da bu bilim olduğundan değil araç olduğundan dolayıdır. Bilgisayar bilimlerine programlamanın dahil edildiği noktalar elbette vardır. Hatta programlamanın araç olmasından dolayı programlama teknikleriyle bulunan bazı yöntemler bilgisayar bilimlerine dahil edilmektedir. Kısacası bilgisayar bilimleri burada programlamayı ele alırken daha etkili ve kaliteli nasıl program yazacağımızı programlama dillerinden bağımsız yani teorik olarak ele almaktadır.

Üçüncü yanlış tanım ise bilgisayar bilimlerinin bilgisayar ve programlarını kullanmanın bilimi olduğudur. Eğer bilgisayar bilimleri programlamadan ibaret değilse pek hayli yazılımdan da ibaret değildir. Bilgisayar bilimlerinde bilgisayar bir araç olduğuna göre bilgisayar yazılımları ancak bilgisayar ve programlama araçları kullanılarak ortaya çıkarılan araçlar seviyesindedir. Bu yazılım araçları bilgisayar bilimcileri tarafından da yaygın olarak kullanılsa da bilgisayar bilimini tanımlarken bu şekilde bir tanım yapmak oldukça isabetsiz olacaktır.

Burada üç farklı görüşün tamamen hatalı olduğunu söyleyemesek de isabetsiz ve dar olduğunu söyleyebiliriz. Bilgisayarlar, programlama dilleri, yazılım ve uygulamalar bilgisayar bilimlerinin birer parçasıdır fakat bu parçalar asla bütünü işgal edemez. Bir şeyin ne olmadığını bilmek ne olduğunu bilme noktasında bize çok katkı sağlayacaktır. Yazılarımızın devamında bilgisayar biliminin tarihinden itibaren kapsadığı konuları anlatmaya devam edeceğiz.

Bizi Facebook grubumuzda takip etmeyi unutmayın. Bilgili ve öğrenmeye hevesli bir topluluk oluşturmak istiyoruz.

https://www.facebook.com/groups/1233336523490761/

 

 

 

 

 

Gökhan Dökmetaş

"Arduino Eğitim Kitabı" ve "Arduino ve Raspberry PI ile Nesnelerin İnterneti" kitaplarının yazarı. Başkent Teknoloji ve Dedektör Merkezi'nde Ar-ge Sorumlusu. Araştırmacı-Yazar.

You may also like...

1 Response

  1. Anonim dedi ki:

    Merhaba
    Her zaman olduğu gibi yine döktürmüşsünüz.
    “bilimlerin programlamadan ibaret değilse pek hayli yazılımdan da ibaret değildir” anlaşılmıyor, “fakat bu parçalar asla bütünü işgal edemez” teşkil / temsil daha iyi olabilir.
    Kolaylıklar.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.