Bilgisayar Bilimlerini Kapsayan Temalar
Bilgisayarların gittikçe küçülmesi ve artan yetenekleri bilgisayar teknolojisini günümüz toplumunda ön plana getirmiştir. Bilgisayar bilimine başlayacak herkes hatta dijital çağımızda dijital okuryazarlık konusunda bence bilinmesi gereken temalardan kısaca bahsetmek faydalı olacaktır. Bilgisayar teknolojisi o kadar yaygındır ki bilinirlikle beraber modern dünyanın temel bir üyesi olmaktadır. Bilgisayar teknolojisi, kontrolü gerçekleştirmek için devletin yeteneklerini değiştirmiştir; Küresel ekonomi üzerinde büyük bir etkiye sahip olmuştur; Bilimsel araştırmalarda şaşırtıcı gelişmelere yol açmıştır; Veri toplama rolünde, depolama ve uygulamalarında devrim yapmıştır; İnsanlara iletişim ve etkileşim için yeni araçlar sağlamıştır ve art arda toplumdaki statükoya meydan okumuştur. Sonuç, bilgisayar bilimlerini çevreleyen konuların yaygınlaşması ve her birinin şu an kendi çalışma alanlarını oluşturmasıdır. Ayrıca, makine mühendisliği ve fizik gibi alanlarla bilgisayar biliminin kendisini bir çizgiyle ayırması çoğu zaman zordur. Nitekim, bilgisayar bilimine giriş disiplinler arası bir girişimdir.
Algoritmalar
Sınırlı veri depolama yetenekleri ve karmaşa, zaman tüketen programlama prosedürleri, önceki hesaplama makinelerinde kullanılan algoritmaların karmaşıklığını sınırlar. Ancak bu sınırlamalar kaybolmaya başladığında, makinelere giderek büyüyen ve daha karmaşık görevler uygulanmaktaydı. Bu görevlerin birleşimlerini algoritmik bir formda ifade etme girişimleriyle insan beyninin yetenekleri sorgulanmaya başlandı ve gittikçe daha fazla araştırma çabaları algoritma ve programlama süreçlerine yönlendirilmeye başlandı.
Bu bağlamda, matematikçilerin teorik çalışmaları sonuç vermeye başladı. Gödel'in eksiklik teorisinin bir sonucu olarak matematikçiler zaten yükselen ileri teknolojinin algoritmik süreçleri ile ilgili soruları araştırıyorlardı. Bunun üzerine, bilgisayar bilimleri olarak bilinen yeni bir disiplinin ortaya çıkması için sahne kuruldu.
Günümüzde, bilgisayar bilimi kendisini algoritmaların bilimi olarak konumlandırmıştır. Bu bilimin kapsamı matematik, mühendislik, psikoloji, biyoloji, işletme ve dilbilimi gibi çeşitli konulardan çizilerek genişlemiştir. Nitekim, bilgisayar biliminin farklı dallarındaki araştırmacılar bilimin çok farklı tanımlamalarına sahip olabilirler. Örneğin, bilgisayar mimarisi alanındaki bir araştırmacı devrelerin minyatürize edilmesi işine odaklanabilir ve bilgisayar bilimi ilerleme ve teknolojinin uygulaması olarak görülebilir. Ama veritabanı sistemleri alanındaki bir araştırmacı bilgisayar bilimini bilgisayar sistemlerini daha faydalı hale getirmek için yollar arama olarak görebilir. Ve yapay zeka alanındaki bir araştırmacı bilgisayar bilimini akıllı davranışlar ve zeka çalışması olarak görebilir.
Bununla birlikte, bu araştırmacıların tümü algoritmalar biliminin yönlerine katılmaktadırlar. Bilgisayar biliminde algoritmaların oynadığı merkezi rol göz önüne alındığında, bu büyük fikir çalışmamız için odak sağlayacak bazı soruları belirlemek öğretici olacaktır.
- Hangi sorular algoritmik işlemlerle çözülebilir?
- Algoritmaların keşfi nasıl kolaylıkla yapılabilir?
- Algoritmaların temsil ve iletişim teknikleri nasıl geliştirilebilir?
- Farklı algoritmaların karakteristikleri nasıl analiz edilebilir ve karşılaştırılabilir?
- Algoritmalar bilgilerle oynamak için nasıl kullanılabilir?
- Algoritmalar zeki davranışlar üretebilmek için nasıl uygulanabilir?
- Algoritmaların uygulamaları toplumu nasıl etkiler?
Soyutlama
Soyutlama, burada kullandığımız anlamıyla, bir varlığın dış özellikleri ve varlığın iç yapısının arasındaki ayrımı ifade eder. Soyutlama, bilgisayar, araba, mikrodalga fırın gibi karmaşık cihazların içsel detaylarını görmezden gelmemizi sağlar ve tek anlaşılabilir birimi olarak kullanır. İlaveten, ilk ola- rak soyutlama sayesinde bu kadar karmaşık sistemler tasarlanıp üretilebildi. Bilgisayarlar, otomobiller ve mikrodalga fırınlar her biri bir soyutlama seviyesini temsil eden bileşenlerden imal edilmiştir, bileşenlerin kullanımı bileşenlerin iç yapılarının detaylarından izole edilmiştir.
Soyutlama sayesinde en detaylı seviyede görünmesi çok yorucu olabilecek olan büyük ve karmaşık bilgisayar sistemlerini inşa ve analiz edip aynı zamanda da yönetebiliyoruz. Soyutlamanın her bir seviyesinde sistemi, içsel yapısını görmezden geldiğimiz soyutlama araçları olarak adlandırılan bile- şenler açısından gözlemliyoruz. Bu bizim her bir bileşenin diğer bileşenlerle aynı seviyede nasıl etkileşimde olduğuna ilişkin konsantre olmamızı ve bileşenlerin tümünün daha üst seviye bir bileşeni nasıl oluşturduğunu görmemizi sağlar. Böylece biz detaylar denizi içinde kaybolmuş olan görevden ziyade eldeki görevle ilgili sistemin bir parçasını anlayabiliriz.
Bizim belirtmek istediğimiz soyutlama, bilim ve teknoloji ile sınırlı değildir. Soyutlama, toplumumuzun yarattığı önemli bir sadeleştirme tekniğidir, aksi halde hayat biçimi çok zor olabilirdi. Birkaçımız aslında günlük çeşitli kolaylıkların nasıl uygulandığını anlıyoruz. Kendimizin üretemediği giysileri giyiyor ve yemekleri yiyoruz. Teknolojinin altında yatanları anlamadan elektrikli cihazları ve iletişim sistemlerini kullanıyoruz. Başkalarının kendi mesleklerinin ayrıntıları neler olduğunu bilmeden onların servislerini kullanıyoruz. Her bir yeni gelişmeyle, toplumun küçük bir bölümü uygulamalarında uzmanlaşmayı seçerken geriye kalan bizler soyut araçlar olarak sonuçları kullanmak için öğreniyoruz. Bu anlamda, toplumun soyut araçlar deposu genişler ve toplumun ilerleme yeteneği artar.
Soyutlama çalışmamızın tekrarlanan ayağıdır. Soyutlama araçlarının seviyelerinde hesaplama ekipmanlarının yaratıldığını öğreneceğiz. Biz ayrıca büyük yazılım sistemlerinin gelişmesinin modüler bir şekilde gerçekleştiğini ve ayrıca her bir modülün büyük bir modül içinde soyut bir araç olarak kullanıldığını göreceğiz. Ayrıca, soyutlama ilerleyen bilgisayar bilimi içinde önemli bir rol oynamaktadır, soyutlama araştırmacıların dikkatini belirli karmaşık alanlar üzerine odaklanmasına izin vermektedir. Aslında bu metnin organizasyonu, bilimin karakteristik özelliğini yansıtır. Bilimin içinde belirli alanlara odaklanan her bir bölüm çoğu zaman şaşırtıcı bir şekilde diğerinden bağımsızdır, bölümler beraberce geniş bir çalışma alanına kapsamlı bir bakış oluştururlar.
Yaratıcılık
Bilgisayarlar alışılmış algoritmik talimatları mekanik olarak yerine getiren karmaşık makineler olsalar da, bilgisayar biliminin doğası gereği yaratıcı bir alan olduğunu göreceğiz. Yeni algoritmalar keşfetmek ve uygulamak, etrafımızdaki problemleri çözmek için araçlarımızı uyguladığımız doğuştan arzularımıza bağlı bir insan aktivitesidir. Bilgisayar bilimi sadece ifade biçimi değildir, görsel, dil ve müzik sanatlarını da kapsar ve ayrıca modern dünyaya yayılmış olan dijital anlatımların yeni modlarını da sağlar. Büyük yazılım sistemlerini oluşturmak yemek kitabı tarifini takip etmek gibi değil de büyük bir heykel tasavvuru gibidir. Biçim ve fonksiyonunu öngörmek dikkatli bir planlamayı gerektirmektedir. Bileşenleri üretmek zaman, dikkat ve beceri gerektirmektedir. En son ürün tasarım estetiğini ve yaratıcısının duyarlılığını somutlaştırır.
Veri
Bilgisayarlar ayrıklaştırılabilen ve sayısallaştırılabilen herhangi bir bilgiyi temsil yeteneğine sahiptirler. Algoritmalar dijital olarak temsil edilen bilgiyi şaşırtıcı şekilde çeşitli yollarla işleyebilir ya da dönüştürebilir. Bunun sonucu, sadece bilgisayarın bir bölümünden diğerine dijital verilerin karıştırılması değildir; bilgisayar algoritmaları örüntü arama, simülasyonlar oluşturma ve yeni bilgi ve anlayış üretme yolunda bağlantılar kurmada bize imkan vermektedir. Büyük depolama kapasiteleri, yüksek hızda bilgisayar ağları ve güçlü hesaplama araçları mühendislik ve beşeri bilimler gibi bilimin diğer alanlarında keşiflere sevk etmektedir. Kompleks protein katlanmasını simüle ederek yeni bir ilacın etkilerini tahmin olsun, dijital kitaplar sayesinde yüzyıllar boyunca dilin evrimini istatistiksel olarak analiz etmek olsun, iç organların 3D görüntülerini tıbbi bir taramadan yorumlamak olsun, veri, insan çabalarının genişliği karşısında modern keşif yapmamızı sağlıyor.
Bizim çalışmamızda inceleyeceğimiz verilerle ilgili sorulardan bazıları şunlardır:
- Bilgisayarlar, sayılar, metin, resimler, sesler ve video gibi ortak sayısal yapılar hakkındaki verileri nasıl saklarlar?
- Gerçek dünyadaki analog eserler hakkındaki verilere bilgisayarlar nasıl yaklaşıyor?
- Bilgisayarlar verilerdeki hataları nasıl tespit eder ve engeller?
- Bizim tüketimimizde bulunan, sürekli büyüyen ve birbirine dijital evrende bağlı olan verilerin yansımaları nelerdir?
Programlama
Dillerin çoğalması ve araçların uygunluğu 1950 ve 1960'ların başlarındaki programlanabilir bilgisayarlara biraz benzerlik göstermesine rağmen, insanların niyetlerinin yürütülebilir bilgisayar algoritmalarına çevrilmesi artık programlama olarak adlandırılmaktadır. Bilgisayar bilimleri bilgisayar programlamanın daha fazlasını içerirken, bilgisayar algoritmaları (programları) oluşturulmasıyla problemleri çözme yeteneği bilgisayar bilimcileri için temel bir beceri olarak kalmaktadır.
Bilgisayar donanımı, nispeten sadece basit algoritmik adımları yürütme sahiptir, ancak bilgisayar programlama dilleri tarafından sağlanan soyutlamalar insanların çok daha karmaşık sorunlar için akıl yürütmelerine ve kodlama çözümleri üretmelerine izin verir. Değişik anahtar sorular bu temanın tartışmasında çerçeve olacaktır.
- Programlar nasıl yapılır?
- Programların içinde ne çeşit hatalar oluşur?
- Programların içindeki hatalar nasıl bulunur ve onarılabilir?
- Modern programların içindeki hataların etkileri nelerdir?
- Programlar nasıl belgelenmekte ve değerlendirilmektedir?
İnternet
İnternet bütün dünyadaki bilgisayar ve elektronik aletlere bağlanır ve bilgiyi saklayan, geri alan ve paylaşan teknolojik toplumumuzda derin bir etkiye sebep olmuştur. Ticaret, haberler, eğlence ve iletişim şimdi bu küçük bilgisayar ağlarının birbirine bağlı web'ine bağlıdırlar. Bizim açıklamalarımız internetin mekanizmasını sadece bir yapı gibi açıklamayacaktır aynı zamanda, küresel ağ ile iç içe olan insan toplumunun birçok yönüne de değinecektir.
Ayrıca İnternete erişimin bizim gizliliğimiz ve kişisel bilgilerimizin güvenliği için derin etkileri vardır. Siber birçok tehlikeyi barındırmaktadır. Sonuç olarak, birbirine bağlı dünyamızda şifreleme ve siber güvenliğin önemi artmaktadır.
Etki
Bilgisayar biliminin sadece iletişim, iş ve oyun için kullandığımız teknolojiler üzerinde derin etkileri yoktur, aynı zamanda muazzam sosyal etkileri de vardır. Bilgisayar bilimindeki ilerleme toplumumuzda geçmişte yer etmiş kararları bulanıklaştırmakta ve toplumumuzun uzun süredir sahip olduğu ilkelere meydan okumaktadır. Hukuk içinde, fikri mülkiyet sahibi derecesinde hak ve yükümlülükler ile ilgili sorular üretir. Etik olarak, sosyal davranışların temel alındığı geleneksel ilkelere meydan okuyan çok sayıda seçenek oluşturur. Devlet içinde, hangi bilgisayar teknolojileri ve uygulamalarının düzenlenmesi konusunda tartışmalar üretir. Felsefesinde, zeki davranışın varlığı ve zekânın kendisinin varlığı arasında çekişme yaratır. Ve toplumun genelinde yeni uygulamaların yeni özgürlükleri veya yeni kontrolleri temsil edip etmediği ile ilgili anlaşmazlıkları üretir.
Bu tür konular bilgisayar ya da bilgisayarla ilgili alanlarda kariyer düşü nenler için önemlidir. Tartışmalı uygulamalar bazen bilimin içinde açığa çıkar, katılan araştırmacılar için ciddi hoşnutsuzluklar oluşturur. Ayrıca, aksi halde başarılı bir kariyer etik olmayan yanlış bir adımla raydan çıkabilir.
İlerleyen bilgisayar teknolojisinin yarattığı ikilemler ile başa çıkma yeteneği, ayrıca onun alanı dışında olanlar için de önemlidir. Aslında, teknoloji çok hızlı bir şekilde toplum içine etkilerinden bağımsız olarak sızmaktadır.
Bu metin bilgisayar bilimi tarafından rasyonel bir şekilde üretilen ikilemlere yaklaşmak için gerekli teknik altyapıyı sağlar. Ancak, bilimde teknik bilgi bütün sorulara tek başına çözüm sağlamaz. Bunu akılda tutarak bu metin bilgisayar bilimlerinin sosyal, etik ve yasal etkilerine adanmış çeşitli bölümler içermektedir. Bunlar güvenlik kaygılarını, yazılım sahipliği ve yükümlülüğü sorunlarını, veritabanı teknolojisinin sosyal etkilerini ve yapay zeka gelişmelerinin sonuçlarını içermektedir.
Ayrıca bir problemin genellikle kesin doğru bir çözümü yoktur ve geçerli çözümü karşıt görüşlerin arasındaki uzlaşmalardır. Bu durumların arasında çözüm bulmak genellikle dinleme kabiliyetini, diğerlerinin görüşünü tanımayı, mantıklı bir münazara sürdürmeyi ve yeni iç görüler edindikçe birinin görüşünü değiştirmeyi gerektirir. Bu yüzden bu metnin her bölümü "Sosyal Konular başlıklı bilgisayar bilimi ve toplum arasındaki ilişkiyi sorgulayan sorularla biter. Bunlar zorunlu olarak cevaplanacak sorular değildir. Bunlar gözden geçirilmesi gereken sorulardır. Pek çok durumda, ilk bakışta size kesin gözükecek bir cevap, alternatifleri gözden geçirdikçe sizi tatmin etmeyi sonlandıracaktır. Kısacası, bu soruların amacı sizi "doğru" bir cevaba götürmek değil, tam tersine farkındalığınızı arttırmaktır. Bir durumdaki pek çok paydaş hakkındaki farkındalığınızı veya alternatifler hakkındaki farkındalığınızı veya bu alternatiflerin kısa veya uzun vadede sonuçları hakkındaki farkındalığınızı arttırmaktır.
Filozoflar, karar ve davranışlara rehberlik etmek için prensiplere önderlik eden temel teori araştırmalarındaki etikler için birçok yaklaşım ileri sürdüler. Karakter bazlı etikler (bazen ahlak etiği de denir), Plato ve Aristo tarafından desteklenmiştir. Bu etiğe göre, "iyi davranış" teşhis edilebilen kurallar koymanın bir sonucu değil, tersine "iyi karakterin" doğal bir sonucudur. Halbuki diğer etik yaklaşımlar, mesela; sonuç bazlı etik, görev bazlı etik, sözleşme bazlı etik, bir kişinin etik bir ikilemi "Görevlerim nedir?", "Hangi sözleşmelerim var?" gibi soruları sorarak çözmesini gerektirir. Karakter bazlı etik ise ikilemleri "Kim olmak istiyorum?" sorusunu sorarak çözmesini önerir. Bu yüzden iyi davranış, iyi karakter inşa ederek kazanılır ve bu genellikle de erdemli davranışların ve iyi bir terbiyenin sonucudur.
Karakter bazlı etikler, çeşitli alanlardaki profesyonellere etik öğretilirken kullanılan yaklaşımın altını çizer. Çeşitli etik teoriler sunmaktansa, yaklaşım profesyonellerin uzman olduğu alanlardaki çeşitli etik soruları vaka çalışmaları üzerinden incelemektir. Bu vakalardaki artıları ve eksileri tartışarak, profesyonel farkındalık kazanır ve çevresindekilere karşı da daha duyarlı ve hassas davranmaya başlar. Bu sayede de karakteri gelişir.