Bilgisayar Biliminin tanımı ve Bilgisayar Bilimi içindeki Bilim nedir?


39

Bilgisayar Bilimi alanında lisans bekliyorum, ancak bunun erken bir noktasındayım ve devam etmesi akademik ve kariyer açısından esnek bir eğitim gibi göründüğü için seçimimden memnun kalacağımdan eminim.

Bilgisayar Biliminin akademi, özel sektör ve “Bilgisayar Bilimi” ndeki gerçek “Bilim” ile ilgili olarak gerçekte ne olduğu konusunda çeşitli tanımların olduğu söyleniyor. Bilgisayar Bilimi alanında bir eğitimin uygulanabileceği şeylerin genişliği ve nihayetinde Bilgisayar Bilimi içinde izlenen yolların çeşitliliği hakkında.


1
Bilgisayar Biliminde Bilim Nerede? : cacm.acm.org/magazines/2012/10/…
avi

ayrıca bkz. cs meta , bilgisayar bilimi nedir
vzn,

Yanıtlar:


38

Bilgisayar bilimi bir yanıltıcıdır - bilgisayar bilimi içinde aslında hiçbir "bilim" yoktur, çünkü bilgisayar bilimi doğayı gözlemlemekle ilgili değildir. Aksine, bilgisayar biliminin bölümleri mühendislik , bölümleri matematiktir .

Bilgisayar biliminin daha teorik kısımları tamamen matematikseldir. Örneğin, sıralama için iyi bir algoritma nedir? Programlama dillerinin anlamını nasıl tanımlarız? Şifreleme sisteminin güvenli olduğundan nasıl emin olabiliriz?

Bilgisayar bilimi uygulandığında, mühendisliğe daha çok benziyor. Örneğin, bir matris çarpım algoritması uygulamanın en iyi yolu nedir? Büyük programlar yazmayı kolaylaştırmak için bir bilgisayar dili nasıl tasarlamalıyız? Çevrimiçi bankacılığı korumak için şifreleme sistemi nasıl tasarlayabiliriz?

Buna karşılık, bilim, doğanın yasaları ve daha genel olarak da doğal olgularla ilgilidir . Bilgisayar bilimi ile ilgili olaylar insan yapımıdır. Bilgisayar biliminin bazı yönleri bu anlamda deneysel olarak görülebilir, örneğin sosyal ağların ampirik çalışması, bilgisayar ağlarının ampirik çalışması, virüslerin ampirik çalışması ve yayılması ve bilgisayar eğitimi (hem bilgisayar bilimlerinin öğretilmesi hem de bilgisayar kullanımı) diğer konuları öğretmek). Bu örneklerin çoğu, sınır çizgisi bilgisayar bilimi ve daha doğru bir şekilde çok disiplinli. Bilgisayar bilimindeki bilimsel yönteme en yakın olanı belki de resmi olmayan bir şekilde "sistemler" olarak bilinen denizaltıda yaygın olan ağların ve diğer donanım cihazlarının incelenmesidir.

Bununla birlikte, bu örnekler, bilgisayar biliminin çekirdeğinin çoğu hiç de bilim değildir. Bilgisayar bilimi sadece bir isimdir - mantıklı olması gerekmez.

Bilgisayar bilimine gelince, belki de en iyi tanımlar şöyledir: bilgisayar bilimcilerin yaptığı şey. Bilgisayar bilimi, diğer tüm akademik disiplinlerde olduğu gibi geniş bir alandır ve tamamen çizelgelenmesi zordur. İnsanların bilgisayar bilimi olarak gördüklerinin bir örneğini almak istiyorsanız, fakültenizin araştırma alanlarına bakabilirsiniz.


4
Bu şimdiye kadar gördüğüm bilgisayar bilimcilerinin en dürüst yorumlarından biri. Teşekkürler.
scaaahu

21
Bu gerçekten bilgisayar bilimlerinden çok felsefe ile ilgilidir - ama bu cevaba katılmıyorum. Bilgisayar bilimi, bilgisayar bilimi için yanlış bir kavramdır ve bilgisayar bilimi, mekanikle aynı şekilde bir bilimdir. Orada güçlü bir matematiksel temelidir, ancak bu vakıf olan ampirik doğrulama tabi - biz Turing hesaplanamama odaklanmak dünya işleri görünüyor nasıl ve Turing hesaplanabilirlik tüm gerçek dünya hesaplama fenomen modeli olmadığı için de çalışma diğer kavramları çünkü.
Gilles 'SO- kötülük yapmayı bırak'

3
Bence sadece doğal olayları gözlemleyen şeyin gerçek bilim olduğu düşüncesi materyalist düşüncenin bir yayılımı, birçok insanın aynı fikirde olmayacağı bir şey. Etimolojik olarak, bilim bilginin toplanmasıdır ve bazıları matematiğin tümünün totoloji olduğunu söylese de, matematiğin "bilgi değil" olarak sınıflandırmasından şüpheliyim.
G. Bach

2
@Gilles Ciddi olamazsın. Aşırı hesaplanabilirlik yapan insanların yanı sıra, hiç kimse Turing hesaplanabilirlik kavramına itiraz etmiyor. Verimli hesaplanabilirlik nosyonuyla ilgili daha iyi bir noktaya değinilebilir (polytime'da olduğu gibi verimlidir), ancak hiç kimse makul hesaplama modellerinde verimliliği yakalamaya çalışmaz - teorik insanlar modelle ilgili problemleri görmezden gelir ve insanlar modeli görmezden gelir .
Yuval Filmus

2
@YuvalFilmus Sadece iki örnek vermek gerekirse, Turing makineleri dağıtılmış veya senkronize sistemleri modellemek için yeterli değildir.
Gilles 'SO- kötülükten vazgeç'

11

Modern Computer Science'ın babalarından birinden bir alıntıyla başlayalım: “Computer Science astronomi, teleskoptan daha fazla değil” - Edsger Wybe DIJKSTRA

Yani gerçekte ilgilendiğiniz şey bilgisayarlar ve programlama ise, o zaman gerçekten bilgisayar bilimi ile ilgilenmiyorsunuzdur :-)

Vikipedi'nin en iyi tanımlarından birine sahip olduğunu düşünüyorum: "Bilgisayar Bilimi (kısaltılmış CS veya CompSci), hesaplama ve uygulamalarına yönelik bilimsel ve pratik bir yaklaşımdır. Metodolojik süreçlerin fizibilite, yapı, ifade ve mekanizasyonunun sistematik bir çalışmasıdır. (veya algoritmalar), bu tür bilgilerin bir bilgisayar hafızasında bit veya bayt olarak veya bir insan hücresindeki transkripsiyonlu motorlarda ve protein yapılarında kodlanmış olup olmadığının edinilmesi, gösterilmesi, işlenmesi, depolanması, iletilmesi ve bilgiye erişimi. hesaplama teorisi ve hesaplama sistemlerinin tasarımında uzmanlaşmıştır "

Fakat gerçekte, Yuval'ın belirttiği gibi, çoğu üniversite / kolej teorik / saf bilgisayar bilimlerinden uzaklaşmıştır ve bilgisayar bilimi şimdi bilim, matematik, mühendislik karışımıdır. Bize sadece saf bilgisayar bilimini değil aynı zamanda modern bilgisayarları, programlama dillerini, işletim sistemlerini ve yazılım uygulamalarını kullanarak bu ve diğer problemleri çözme pratik becerilerini öğretmek.


3
Eğer söylemek uzaklaştı , ama onlar hiç tamamen teorik olmuştur?
Agos

@Agos Sizinle aynı fikirdeyim, hiçbir zaman tamamen teorik olma gerçek bir dönem olmadı, ancak zaman geçtikçe ve işletme daha fazla programcıya ve daha az bilgisayar bilimcisine ihtiyaç duyduğunda, derece / diplomaların teorikten pratiğe daha fazla geçtiğini söyleyebilirim. Birinin diğerinden daha iyi olduğunu söylemiyorum, sadece bir gözlem yaptım.
AquaAlex 16:13

1
@AquaAlex Eskiden Bilgisayar Bilimi ile Bilgisayar Bilimi arasındaki temel farkı bugün düşündüğümüz gibi tanımlamanın en iyi yolu olduğunu düşünüyorum: Sanayinin taleplerine uyum sağlamak için pratik bir uygulamaya doğru kaymıştır.

Neden "saf" bilgisayar bilimi sadece teori olsun ki? Bildiğim kadarıyla, bu, bilgisayar biliminin ne olduğunun hiçbir zaman iyi bir açıklaması olmamıştı; pratik kaygılar her zaman alanı bilgilendirmiştir.
Raphael

@Raphael Her şey "pratik" olarak düşündüğünüz şeye bağlıdır. Bilgisayar programları yazmak, CS'nin pratik uygulaması değildir. Çoğu bilimler teoriyi gerçek dünya / pratik problemleri çözmek için kullanırlar ve birçok bilim bunu yapmak için bilgisayar ve programlama kullanır.
AquaAlex

11

Almanca'nın "Bilgisayar Bilimi" teriminin, Bilgi ve Mathematik'i eriten Enformatik olduğunu söylemeye değebilir . Bence bu, Bilgisayar Biliminin ne hakkında olduğuna dair güzel ve kısa bir açıklama. (İtalyanca terimi informatica'dır ve aynı satırı takip eden birkaç dil daha olduğundan eminim).


Wikipedia'nın bilgisayar bilimi konusundaki makalesinde en.wikipedia.org/wiki/Computer_science#Name_of_the_field adlı farklı isimlerle ilgili bir bölüm var - benim için "bilgisayar" bölümünden "bilim" den daha fazla hoşlanmıyorum. Bugünlerde bilgisayarları benden çok daha az kullanan bilimsel bir alan bulamadım.
Linac

2
@ linac: Diğer alanlar başka bir şeyi incelemek için bilgisayarları kullanır. Bilgisayar bilimi hesaplamayı incelemek için bilgisayarları kullanıyor. Her iki durumda da bilgisayarları kaldırabilir ve işi daha yavaş yapabiliriz. "Bilgisayar" ın yalnızca hesaplama yapabilen bazı donanımları uygulayan gerçek bir kutuya atıfta bulunmasının gerçekten modern bir fikir olduğunu ve bilgisayar bilimlerindeki "Bilgisayar" ın gerçekten de hesaplama fikrinden bahsettiğini unutmayın.
Phoshi

Belki de "Informatik" adının bu türevi yanlıştır. Alman wiki "Bilgi und Automatik" diyor ama belki de sadece "Bilgi + -tik"
miracle173 16:13

@ miracle173 Gerçekten, "Information und Automatik" hakkında bir sürü şey var, aynı zamanda Fransız ve İtalyan Wiki'lerinde de bahsettiler. "Information und Mathematik" türevini ilk defa nerede okuduğumu hatırlamıyorum, ancak kendim icat etmediğime eminim ...
john_leo

6

Meta üzerinde yaptığımız bir tartışmaya ilgi duyabilirsiniz. Özellikle, burada çoğaltılan cevabımı beklerim:

Bilgisayar Bilimi, hesaplama bilimidir; bu çok net görünüyor. Daha az net olanı, bilim ve hesaplamanın faydalı ve anlamlı bir şekilde nasıl tanımlanacağıdır.

Genel olarak bilimi iki sınıfa ayırabiliriz: biçimsel ve deneysel, saf ve uygulamalı. Örgün bilim (matematik ve bilgisayar bilimleri gibi) varsayımsal gerçeklerden çıkarımsal akıl yürütmeye, ampirik bilimler (fizik ve kimya gibi) çıkarımsal akıl yürütmeye dayanan fenomenden kaynaklanır. Saf bilimin amacı, bilimsel anlayışın durumunu ilerletmek iken, uygulamalı bilimin amacı bu anlayışı, Doğanın (diğer bir deyişle mümkün olan en geniş anlamında) güçlerini kullanmak için başka amaçlara ulaşmak için kullanmaktır.

Hesaplamayı, bir bilgi parçasına uygulanan bir dönüşüm olarak tanımlayabiliriz. O zaman mümkün olan en geniş anlamda hesaplama, evrende bir değişikliğe neden olan herhangi bir işlemdir. Bundan daha ayrıntılı bir tanımlamaya gerek yoktur.

Öyleyse, Computer Science, insani çabanın aşağıdaki kriterleri karşılayan kısmından oluşur:

  • Bu bilimdir, yani:

    • (1) resmi ya da (2) ampiriktir:

      1. varsayılan gerçeklerden tümdengelimli akıl yürütmeyi kullanır
      2. Gözlenen fenomenlerden indüktif akıl yürütme kullanır
    • Ya (1) saf ya da (2) uygulanır

      1. Bilimsel anlayışın durumunu ilerletmek istiyor
      2. doğal güçleri kullanmak için bilimsel bir anlayış uygulamak istiyor
  • Hesaplamayı inceler, yani:

    • (1) dönüşümleri veya (2) bilgileri çalışır.
      1. hangi bilgilerin bir formdan diğerine eşlendiği süreçler
      2. dönüşümlere tabi olan varlıklar

Gelişmiş TCS araştırmalarında da rol oynayan ampirik yönü ortaya çıkardığınız için teşekkür ederiz ! Örneğin , CS raporlarında ampirik sonuçlar
vzn

5

Bilim kelimesiyle ilgili bir yorum için çok uzun bir perspektif eklemek istiyorum.

İnsanlar bilgisayar biliminin geleneksel bir bilim olmadığını söylüyorlar çünkü (burada basitleştirerek) matematik veya mühendislik yapıyoruz. Bu tam olarak doğru değil. Bilimsel yöntemi - belki de bilimin köşe taşını - uygulayabiliriz.

sistematik gözlem, ölçüm ve deney ve hipotezlerin formülasyonu, test edilmesi ve değiştirilmesi.
( Wikipedia aracılığıyla Oxford İngilizce Sözlüğü )

Aslında, algoritmalardaki en eski çalışmalardan bazıları bu ilkeye bağlı kalmaktadır. Yöntemin bir kısmı çeşitli nedenlerden dolayı “kaybedilmiştir” ancak yine de uygulayabiliriz.

Temel süreç like şöyle görünür:

  • Bilgisayarla çözmek istediğimiz bir sorunu not edin.
  • Bir algoritma ile gel.
  • Algoritmayı (matematiksel bir model) analiz edin.
  • Analizinize dayanarak, algoritmanın (beklenen) çalışma zamanını (belirli bir girişler kümesi ve belirli bir makinede) tahmin edin.
  • Tahminlerinizi deneylerle onaylayın veya tahrif edin.

O

Bunun için sözümü alma. Robert Sedgewick ve Philippe Flajolet, bilimi bilgisayar bilimine geri getirmek için , çoğunlukla test edilebilir hipotezlere izin veren resmi analitik birleştirici çerçeveyi geliştirerek çalışıyor . Video ve MOOC'ları Sedgewick'e bularak bulabilirsiniz.

Bütün umutlar kaybolmaz.


  1. Bu, elbette, yalnızca formüle edilmiş wrt algoritmalarıdır. Ayrıca grafik modellerinin gerçeğe uygun olup olmadığını da (örneğin sosyal ağlarda iş yaparken, genellikle bilimsel olarak ampirik olarak daha ampirik olarak da olsa) veya ağ çıktısının öngörüldüğü şekilde veya başka bir çok şeyle sonuçlanıp sonuçlanmadığını inceleyebilirsiniz.

“Bütün umutlar kaybolmaz.” - bilgisayar bilimi bilim değilse (yanlış isim hariç) kötü bir şey olur mu?
k.stm

@ k.stm Benim düşünceme göre, evet. Neden daha azına razı olmak?
Raphael

Matematik bir bilim değildir, ancak bir olmamaktan asla zarar görmez. Ve elbette, ne matematik ne de bilgisayar bilimi, bilim olmadığı için bilimden “daha ​​az” değildir. Belki de "bilgisayar bilimi bilimi matematik, mühendislik ve bilimden daha az değildir" gibi nicel bir şekilde "daha az" demek istediniz ? Ama o zaman bile, ek olarak bilim olmaktan kaynaklanan bir miras kazancı görmemiştim. Neden olsun ki? Hesaplamalı akıl yürütmeye bilimsel olarak yaklaşılmaya ihtiyaç var mı ?
k.stm

@ k.stm Evet. CS'nin tamamı matematik olamaz ve hepsi mühendislik olamaz (ya da ister). Hiçbiri şu anda her zaman değil (okunuyor: genellikle değil) bilimseldir. Bu büyük bir problem. Örnek: deneysel algoritmalar. Matematiksel analizler anlaşılır, mühendislik prensipleri geçerli değil. O zaman, temel olarak programlar üzerinde bilimsel deneyler yapıyoruz - ancak genellikle bilimsel prensipleri kullanmıyoruz. (Kaç CSists temel istatistikleri bile biliyor?)
Raphael

Tamam, yani “bilgisayarlı akıl yürütmeye bilimsel olarak da yaklaşmamız gerekiyor, çünkü bu bazı durumlarda en iyi (ya da en iyi şekilde çalışıyor)” diyorsunuz, sizi doğru anlıyor muyum? Öyleyse, amacınızı görebiliyorum - yine de, bu, bilgisayar biliminin gerçekten bir bilim olmak için devralınan bir fayda olduğu anlamına gelmiyor. Sadece daha iyi olacağı ortaya çıktı…
k.stm

3

Bu muhtemelen bilgisayar biliminin kökenlerine dayanarak uzun süredir tartışılan eski bir sorudur. Bunu incelemek / cevaplamak için doğal bir yol subj üzerine yayınlanmış literatürden geçiyor. Zanlı, literatürde gömülü olan ve henüz alıntılanmayan pek çok iyi referans bulunduğundan şüpheleniyor. Ayrıca, bununla ilgili cevaplar / pov zaman içinde büyük olasılıkla değişmiştir. Kuhnian , bu alanda biraz daha yaygın olan, muhtemelen diğer bilimsel alanlardan daha fazla olan kaymalara neden olmuştur. Bunu incelemek için bir başka bakış açısı, konunun akademide nasıl öğretildiği ve zaman içinde değişen mevcut bölüm yapılarına nasıl uyduğudur.

İşte Denning'in güzel makaleleri / denemeleri, bu alandaki otorite, doğrudan bu soruyu ele alıyor ve daha fazla referans almak için iyi bir yer. her ikisi de alanın ana akademik topluluğu olan CACM dergisinde yayınlandı .

Bilgi süreçleri ve hesaplama birçok alanın derin yapısında bol miktarda bulunmaya devam ediyor. Bilgi işlem - aslında, asla olmadı - yalnızca yapay olanın bilimi değildir.

Bilgisayar bilimi, bir bilim olmak için her kriteri karşılamaktadır, ancak kendine özgü bir güvenilirlik problemi vardır.


Denning, 'hesaplama'yı etkin bir şekilde' hesaplama çalışması 'olarak tanımlar. Açıkçası, bir şeyin araştırılması o şeyle aynı değildir. Bu alanda göz kırpmadan temel kategori hatalarının kabul edilme derecesine her zaman hayran kaldım.
reinierpost

Gazetelerdeki her şeye tamamen katılıyorum, ancak bağlamdan alıntı yaptığınızı düşünün
vzn

2

bilim tanımından çalışmak

  1. matematiksel bilimler: Sistematik olarak düzenlenmiş ve genel yasaların işleyişini gösteren bir gerçekler veya gerçekler topluluğu ile ilgili bir bilgi dalı.
  2. gözlem ve deneylerle kazanılan fiziksel veya maddi dünyanın sistematik bilgisi.
  3. doğal ya da fiziksel bilim dallarından herhangi biri.
  4. genel olarak sistematik bilgi.
  5. gerçekler veya ilkeler itibariyle bilgi; sistematik çalışma ile kazanılan bilgi.
  1. bilgisayar bilimleri matematiğe yakından bağlıdır ve önemli araştırmaları içerir (örneğin çalışma).

  2. bilgisayar bilimi geniş ve fiziğe birçok yönden yakından bağlıdır . örneğin hesaplamanın fiziği / termodinamiği, kuantum hesaplama , fiziksel bir yasa olarak P =? NP , faz geçişleri vb.

  3. sistematik bir bilgidir.

  4. sistematik bir araştırmaya, yani araştırmaya tabi tutulur.

"Bilgisayar bilimi" terminolojisi, alanın yalnızca mühendislikte olduğu gibi bilinen ilkelerin uygulanması ile ilgili olmadığını vurgulamaktadır. Bilgisayar bilimi etrafında bir miktar terra bilinmeyen bir alan var, bu alandaki birçok temel soru açık / cevapsız . dünya çapındaki araştırmacıların sayısını tahmin etmek zordur, ancak binlerce veya onbinlerin ötesindeki rakamlar.

Bununla birlikte, bilgisayar biliminin daha bilimsel yönlerinin lisans düzeyinde gerçekten öğretilmediğini / maruz kalmadığını, belki de bazı şaşkınlıklara yol açtığını unutmayın. aynı zamanda, bir bilim gibi çok sayıda yüksek profilli düzenlemeler / kutlamalar / savunucular / savunucular gibi görünmüyor, örneğin LHC ve Higgs bozonunun keşfi vb. gibi diğer alanların aksine keşif!] veya ünlü bir Carl Sagan veya Hawking benzeri popülizer figürü. Bununla birlikte, örneğin, CS'ye ilham veren popüler bilim kitaplarını görün.


1
Veya bilgisayar biliminin alt alanına bağlı olarak, gerçekten matematikteki fark nedir? :-)
Juho

Diğer bir faktör de bilgisayar biliminin disiplinler arası yönleri çok güçlüdür. Güçlü bilimsel bir tada sahip olan örnek / artan bir profil alanı, büyük veri
vzn

düşünmek için başka bir yönü. Çalışmanın temel bir CS amacı olan Turing makinesi , bir makine olarak adlandırılır ve teorik ve fiziksel bir cihaz arasında kimerik bir çaprazdır.
vzn

Turing makineleri ideal cihazlardır. Gerçekte yoklar. Bir model olarak bile, bilgi işlemin “aslında” yapılması için çok yakın değildir.
Yuval Filmus,
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.