Bilgisayar bilimi hakkında bir oyun: 'Turing Complete'
(turingcomplete.game)- Turing Complete, sorunları bizzat çözerek bilgisayar bilimi kavramlarını daha derinlemesine anlama deneyimine odaklanan bir oyun
- Öğrenme süreci mantık kapıları ile başlıyor ve yalnızca nand kapısını kullanarak diğer kapıları oluşturma yöntemiyle ilerliyor
- Ardından bellek ve bileşenler birleştirilerek basit devreler gerçek bilgisayar mimarisine daha yakın bir yapıya genişletiliyor
- Oyuncunun yaptığı bilgisayar Turing complete olmayı hedefliyor; bu, Turing machine ile aynı tür algoritmaları hesaplayabilen bir yapı anlamına geliyor
- Kendi yaptığınız donanım üzerinde assembly komutları oluşturup ikili kod tabanlı programlama bulmacalarını çözüyorsunuz
Bilgisayar bilimini oyunla öğrenme yöntemi
- Turing Complete, bilgisayar bilimini konu alan bir oyun
- Bir problemi keşfetmenin keyfini ve zaten anladığını düşündüğü kavramlara daha derinden bakma anlarını seven kişiler için uygun
- Steam'de Play Turing Complete olarak sunuluyor
Devrelerden bilgisayar mimarisine uzanan öğrenme akışı
-
Mantık kapıları
- Mantık kapıları, hesaplamanın temel yapı taşları
- Yalnızca nand kapısıyla diğer kapıları oluşturarak devrelerin temeli öğreniliyor
-
Bileşenler ve bellek
- Mantık kapılarının üzerine bellek eklenerek daha karmaşık bileşenler oluşturulabiliyor
- Oluşturulan bu parçalar birleştirilerek gerçek bilgisayar mimarisine genişletiliyor
-
Mimari
- Kendi ellerinizle kurduğunuz bilgisayar Turing complete olmayı hedefliyor
- Bu, Turing machine ile aynı tür algoritmaları hesaplayabilen bir bilgisayar anlamına geliyor
-
Assembly
- Bilgisayar ikili kod ile programlanıyor
- Bu süreci basitleştirmek için assembly komutları oluşturuluyor ve kendi yaptığınız donanım üzerinde programlama bulmacaları çözülüyor
1 yorum
Hacker News görüşleri
HN'de Turing Complete gördüğümde olumlu yorum bırakan basit bir insanım :)
Bunu birkaç yıl önce aldım, birkaç seviye oynadıktan sonra o zaman 14 yaşında olan oğlumun yaz tatili boyunca devam etmesini sağladım ve ara sıra yardım ettim. Son seviyede oğlum, oyunun öğrettiği yarı assembly diliyle program yazarak, mantık kapılarından başlayıp tamamen kendi yaptığı bilgisayarın rastgele bir labirenti sağ el kuralıyla geçmesini sağladı. Bu oyun gerçekten harika
Tek şikayetim, ben o yaştayken buna benzer bir oyunun bile olmaması
Yalnızca belleğin tanıtıldığı seviyelerde sürekli tıkanıyorum; sanırım beynim sonraki/önceki tick kavramını pek iyi kavrayamıyor. Yine de internette bolca ipucu ve tam çözüm var, gerektiğinde çözümü yerleştirip bir sonraki seviyeye geçebiliyorsunuz
Oyunun kendisi aslında 1 yıldan uzun süre önce neredeyse tamamlanmıştı ve geliştirici, performansı iyileştirmek ve daha karmaşık CPU'lar gibi şeyler yapılabilsin diye her şeyi baştan uyguluyordu. Güncellemeyi dağıtırken bir şeylerin bozulmamasını umuyorum
Güçlü şekilde tavsiye ederim
[0] https://en.wikipedia.org/wiki/Rocky%27s_Boots
Benim yaptığım şuydu:
Mux(a=out, b=in, sel=load, out=muxOut)
DFF(in=muxOut, out=DFFOut)
Son satırın şöyle olması gerekiyordu:
DFF(in=muxOut, out=DFFOut, out=out)
Yine de Turing Complete, NAND to Tetris için mükemmel bir tamamlayıcı gibi görünüyor. Yalnız sanki sadece Steam'de satılıyor; keşke bağımsız olarak da satın alınabilse
Bu tür oyunları çok seviyorum, bu yüzden Steam'de ilgili oyunlardan oluşan koleksiyonum yavaş yavaş büyüyor. nandgame gibi Steam dışındakiler de var
Turing Complete bunların iyilerinden biri; simülasyon sağlam görünüyor ve erken erişim döneminin başlarındaki yeniden yapılandırmadan sonra görevler de gayet iyi tasarlanmış
Ama UI her zaman pürüzsüz değil ve yönlendirme yetersiz; bu yüzden daha çok başka simülatörlerde benzer süreçlerden geçmiş kişilere hitap ediyor
Benzer oyunlar arasında kavramları daha iyi açıklayan bir şey arıyorsanız Silicon Zeroes öneririm. Genel olarak biraz daha az cilalı hissettiriyor ama sevimli bir hikâye yapısı var, her seviyenin neyi tanıtmak istediğini daha iyi anlatıyor ve özellikle clock ile ilgili sorun çözümünü çok daha iyi ele alıyor
Elektronik devre tarafındansa yarı assembly tarafını daha çok seviyorsanız TIS100 veya Shenzhen I/O öneririm
İyi tasarlanmış bulmacaları tercih ediyorsanız Human Resource Machine size daha çok hitap edebilir
Turing Complete hakkında şu haber de görülmeye değer: https://steamcommunity.com/app/1444480/eventcomments/3806156...
1 yıl boyunca hiç güncelleme gelmedi, sonra 2023 Ağustos'unda “Üzgünüz, yakında büyük bir yeni güncelleme geliyor!” diye bir paylaşım yapıldı ve ondan sonra yine sessizlik oldu
Görünüşe göre geliştirici, beklediğinden çok daha uzun süren devasa bir büyük yeniden yazım işine takılmış durumda
Erken erişimden çıktıktan sonra yeniden oynamayı bekliyordum ama sonsuza kadar bekleyecekmişim gibi olmasından korkuyorum
Dijital hesaplamanın soyutlama avantajı var. Mantık kapılarını düşünmek için Ohm yasasını bilmeniz gerekmez
Analog hesaplamaya geçince mutlaka matematiği öğretmenin bir yolunu bulmanız gerekiyor. İşlemler artık boolean değil, çeşitli elektrik denklemlerinin birleşimi oluyor. Basit matematik olsa bile tipik programlama oyunlarının hissinden farklı
Yine de kulağa ilginç geliyor mu, oynanır mı merak ediyorum
https://store.steampowered.com/app/2124440/SIC1/
Human Resource Machine'de sadece ilk birkaç mücadeleyi denediğimi hatırlıyorum. Bulmacalar fazla kolay gelmişti ve çözme süreci de çok zorlayıcı olmadığından sonlara kadar gitmedim
Steam kış indirimlerinde tam şimdi aldım
Harika bir fikir ama düzgün bir oyun ya da bağımsız bir eğitim aracı olması için çok daha fazla cilalanması gerekiyor
Konuyla ilgili bilgisi olan biri için fena değil ama yeni başlayanlar için neredeyse hiç yönlendirme, eğitim ya da hazırlık olmadan doğrudan sorunların önüne atıyor; bu da oldukça sinir bozucu bir deneyim olabilir
Devre yerleşimi konusunda yardımcı olan özellikler de olsa iyi olurdu. Bir parçayı hareket ettirince ya da döndürünce kablolar kopuyor ve kabloları tek tek elle yeniden çizmek gerekiyor. Doğru mantığı bulduktan sonra bile uygulama tarafında epey sürtünme var
Bu oyunu gerçekten çok keyif alarak oynadım ve hâlâ da keyifli buluyorum. En iyi deneyim, başına uzun süre oturabildiğinizde oluyor
Factorio gibi, uzun bir ara verip geri döndüğünüzde kaldığınız yerden devam etmektense baştan başlamak çoğu zaman daha eğlenceli oluyor. Ya da doğrudan son aşamadaki sandbox'ta kalabilirsiniz
Arayüz biraz daha cilalanabilir ve son birkaç yıldır henüz yayınlanmamış büyük bir performans yenilemesi üzerinde çalışılıyor. Bu aralar Verilog dışa aktarma da var ama onu düzgünce denemedim
Oyunun sonlarına doğru açılan ek parçalar sandbox'ı gerçekten çok eğlenceli hâle getiriyor. Rekabet unsuru ekleyen bir puan sistemi de var, ama ilk bilgisayarınızı yaptıktan epey sonra açılıyor
Orta yaşlarda bilgisayar bilimi diploması almaya karar vermeden önce bu oyunu çok oynadım ve bu sayede temel mimari konuları benim için çok kolay olmuştu. Eğlenceli bir tekrar aracı olarak da kesinlikle tavsiye ederim
Buradaki “eğlence”, Boolean mantığıyla kullanıcı dostu bir ortamda uğraşmanın verdiği keyif demek; bu fikir size cazip gelmiyorsa bu “oyun” da size göre olmayacaktır
Bunu iş yerinde gerçekten kullanıyoruz ve kesinlikle tavsiye ediyorum
Yaklaşık 1 yıl önce bir iş arkadaşımla boş zamanlarımızda sonuna kadar oynadık ve gerçekten çok beğendik. Elektrik mühendisliği çırakları için biçilmiş kaftan olacağını düşündük; çünkü eğitim müfredatında kapılar, register'lar, shift register'lar, counter'lar gibi dijital mantık kavramları öğretiliyor ama bunları gerçek projelerde uygulama fırsatı pek olmuyor
Ayrıca zaman kısıtları nedeniyle assembly programlama gibi türev konular artık pek öğretilmiyor
Dışarıdan biraz ek yönlendirme ile bu oyun, insanların dijital mantık bileşenlerinin nasıl çalıştığını anlamasına ve onlarla bizzat oynayarak öğrenmesine gerçekten çok yardımcı oluyor. Basit bir assembly dili yazıp onunla bulmacaları çözme aşamasına kadar gidebilmek harika ve öğrenciler için de büyük bir motivasyon kaynağı
İlk sayfayı açtığımda bunun Sebastian Lague'un Digital Logic Sim [1] oyunundan kopya gibi göründüğünü düşünmüştüm, ama videoyu izleyince aslında çok daha derine indiğini gördüm ve etkilendim. Bu yüzden satın aldım. Umarım yakın zamanda kurcalayacak zaman bulurum
1: https://sebastian.itch.io/digital-logic-sim
Bu oyun, bilgisayar mühendisliğine giriş niteliğindeki bir dönemlik dersle rahatça karşılaştırılabilir, ama özellikle assembly mini oyunu sayesinde bana daha eğlenceli geldi
Üniversitede sanal bir CPU için belirli komutlar tasarlamaya yönelik bir ödevle belirli devreler tasarlamaya yönelik başka bir ödev vardı, ama bunlar tam veya çalışan tasarımlar değildi
Turing Complete'te çalışan, tam bir küçük CPU yapabiliyor ve kendi komut kümesi mimarinizi oluşturabiliyorsunuz; üstelik bunu istediğiniz kadar derinleştirebilmek çok keyifliydi
Benzer bir oyun: https://nandgame.com/
Yalnız Turing Complete, nand game'e göre daha derin görünüyor
Bu oyunu satın aldım ve bence başlı başına bir sanat eseri
Bilgisayar bilimi mezunu değilim ama yaklaşık 15 yıldır geliştirici olarak çalışıyorum. Oyundaki şeylerin çoğunu soyut olarak biliyordum ya da Arduino kartları, küçük yan projeler gibi şeylerle biraz kurcalamıştım
Ama bu, bilgisayarlarla uğraşmayı seven insanların özlediği uygulamalı müfredatın ta kendisi
Exapunks(https://www.zachtronics.com/exapunks/) da ilginizi çekebilir. Bana assembly'yi üniversite derslerinden daha iyi öğretti