Giriş kursuna, bugünün öğrencilerine ulaşmak için bazı iyi ödevler nelerdir? [kapalı]


25

Java kullanarak periyodik olarak programlama derslerine giriş dersini veriyorum . Öğrencilerime ilgilerini çekebilecekleri veya ilginç bulabilecekleri bazı heyecan verici ödevler vermek istiyorum . En azından, mantıklı olan ve içsel bir uyum içinde olan ödevler istiyorum (örneğin, bazı çok kötü programlama alıştırmaları, kapsanan en son programlama yapısını kullanmanız gerekecek şekilde karşılanmıştır).

Size kapsam hakkında bir fikir vermek için, işte kapsanan şey :

  • Atamalar Java olmalı, bazı harici kütüphaneler kullanılarak yapılabilir, fakat tam bir çerçeve değil basit bir API olması gerekir.
  • Değişkenler, İlkeller ve Dizeler
  • Konsol girişi ve çıkışı
  • if, for,while
  • Aritmetik ve mantıksal operatörler
  • Çizgi ve şekil çizimiyle basit grafikler
  • Statik yöntemler
  • Tek boyutlu diziler

Öğrenciler ileri konulara girmeyeceklerdir (örneğin, özyineleme veya kalıtım üzerine vurgu yapılmaması). Böylece, karmaşık projeler aramıyorum : "Onlara bir C derleyicisi yazsın. 5 yaşındayken yaptım ve öğrendiğim tek yol buydu!"

Kapsamdan daha ileri görüşlere sahipseniz, lütfen bunları aşağıda verilen "Zorlu" soruyla paylaşın.

Bunun yerine aradığım şey, kısa bir programda gerçekleştirilebilecek ilginç fikirler. Örneğin:

  • Öğrenciler "Star Wars Name" Generator'ün konsol versiyonunu yazabilirler . Bu etkin bir şekilde Strings okuyor ve kullanıyor substring, ama bence eğlenceli. Benzer bir varyasyon " Mad Libs " programı olacaktır. Bunu beş yıl önce kullandım ve belki de zaten “bayat”.

  • Kendilerine verilen bazı trigeri kullanarak, öğrenciler düzenli çokgenler çizebilir ve ilginç spiral şekiller oluşturabilirler.

  • Bazı basit animasyon sınıflarını, kendilerine verilen kodların çoğuyla birlikte kullanmak da söz konusu değildir. Basit bir API ile erişilebilecek bir Twitter veya Facebook servisini biliyorsanız, bilmek çok isterim.

Lütfen bu sorunun " Yeni başlayanlar için zorlu Java soruları " sorusundan farklı olduğunu unutmayın . Kendi başıma zorlamıyorum, sadece ilginç. Bence öğrenciler kolayca cevaplayabilecekleri bir şey üzerinde çalışırlarsa "neden birileri bunu programlamak istesin ki?" o zaman daha iyi öğrenecekler.

Galon başına Mil hesaplamak gibi basit sorunlar bile iyi olabilir. Her ne kadar daha güncel olması için güncelleme yapmanın bir yolu olsa da, her şey daha iyi. Başka bir yerden (kitap veya web sitesi) alıştırma yapıyorsanız, lütfen kaynağı belirtiniz.

Bugün tipik bir birinci sınıf öğrencisi hakkında düşünmenize yardımcı olmak için, kesinlikle yaşlanmanızı sağlayacak birçok örnek için Beloit Mindset listesine bakın .


Sadece meraktan, hangi seviyedeki öğrencilere özyineleme ve nesne yönelimli tasarım gibi konuların çok ileri olduğunu düşündüğünü öğretiyorsunuz? Bu konular ilk yarıyıl tanıtım programım sınıfında derinlemesine ele alındı. Bence dersleri çok basit tutmaya çalışırsan, öğrencilerine bir kötülük yapıyorsun.
Mayra

@ Mayra: Bu, CS ana dallarının ilk kursu olan programlama kursuna giriş içindir. Öğrencilerin ilk 5 haftada (hatta ilk günlerde) kullanabilecekleri ve sadece sonunda değil, heyecan verici problemler arıyorum. Bu şartlarda çalışmak gerçekten zor bir şey (ve bazı sorunların benim kontrolüm dışında olduğuna inanıyorum), bu yüzden sizden yardım almak için size dönüyorum.
Macneil

Yanıtlar:


9

Kısıtlamalar göz önüne alındığında, Hangman'ın bir versiyonunun uygulanmasını öneririm. Öğrencilerin, tanıtmakta olduğunuz tüm teknikleri aşırı karmaşık olmadan göstermelerini sağlar.

Kurs ilerledikçe gelişen bir proje olarak da kullanılabilir. Örneğin, bir kez dizeleri kapattığınızda ve değişkenler bir metin sürümü olarak başlar.

Örneğin

You have 10 guesses left.      * * * E * * T
What is your next guess?

daha sonra, 10 tahmin geri sayılırken, kesme ve yapıştırma elemanını koddan çıkarmak için döngüler uygulayın ... çizgi grafikleri olan ve çubuk kişiyi 5 haftalık kursun sonunda asılı / kaydedilmiş hale getirin.

Programcıları işe alma ve mülakat yapma tecrübesi olan çoğu kişi gibi, bu da üniversitede bu seviyedeki derse ihtiyaç duyduğumda beni çok kızdırıyor, ancak ne yazık ki, okullar programlama konusunda ciddi bir konu olarak kabul edilinceye kadar muhtemelen gerekli olmaya devam edecek. matematik veya bilimler


İyi fikir! Sanırım bunu kullanacağım. :-) BTW, "öğrenim düzeyi" ile ne demek istiyorsunuz? Maliyetlerde olduğu gibi?
Macneil

Üniversiteden önce yapılan programlama derslerinin eksikliği hakkında daha fazla bilgi. Üniversiteye gelip kimya yapmak için geldiğini ve ilk terimi atomlar, moleküller ve elektronlar hakkında söyleneni geçirdiğini düşünün. Bilgisayar bilimi anlamak için 3 yıl çok kısa bir süre.
Michael Shaw,

Bu fikri gerçekten seviyorum, karmaşık grafiklere gerek yok, komut satırında oldukça iyi bir şekilde yapılabilir. Bu eğlenceli ve bir başka matematik problemi değil.
Joppe

7

Bir metin macera oyununa benziyor, yarıyıl ortasında bir yerde müthiş bir ödev olabilir. Bizi Devasa Mağara Macerası'nı oynatan ve kendi oyunumuzu yapan bir sınıfım vardı. Bana ilk başlarda birçok temel yapı öğretti ve herkesin içine girmesi çok eğlenceliydi.


2
Kulağa eğlenceli geliyor, ama küçük olsun.

7

Http://projecteuler.net/ adresinden bir ya da iki problemi kullanmaya ne dersiniz? Bunlardan bazıları oldukça ilgi çekici ve bunlardan bazıları sorunu çözmek için bir program yazmanın yararını görebiliyordu. Birçoğu ödev olarak yapılabilecek kadar küçüktürler. Kullanmak istediğim bir diğeri ise 1,00 $ kelime bulmak. Harf içindeki her harf parantez içerisindeki pozisyonuna değer, yani a = 1, b = 2. 1,00 dolarlık kaç kelime bulabilirsin? Bu dosya g / Ç (bir sözlükte okuma), diziler, döngü vb. İçerebilir.


1
Proje Euler için +1. Çok havalı. Bazı sorunların biraz fazla ilerlemesine rağmen, çözülmeyen çok şey var.
Macneil

Project Euler'ı seviyorum, ancak üniversitede alıştırmalar yapmamın eğlenceli olup olmayacağından emin değilim.
Oliver Weiler,


6
  • Tekel oyununu uygulayın. Tekel bariz bir sekansa sahiptir ve kendisini kolayca fantezilere bölmek için ödünç verir. Aynı zamanda sadece bir boyutlu dizi ve birkaç temel sınıf gerektirir. Mantık yeterince basittir, böylece öğrenciler “ne” hakkında “nasıl” hakkında daha fazla düşüneceklerdir ve başkalarına gösterilebilecek bir şeyle sonuçlanacaktır.

  • Onlara bazı geri dönüşümlü kurallarla şifrelenmiş şifrelenmiş bir dosya verin ve onlardan bir kod çözücü yazmalarını isteyin (yeterince basit olsa da). Bu, mesajın içeriği hakkındaki gizem nedeniyle çözümü çözmek için ekstra bir teşvik sağlar.

  • Neden sadece bir boyutlu dizileri örttüğünüzü ve matrisleri değil (gerçekten o kadar da farklı olmadıklarını) bilmiyorum, ama bunu sylabus'a dahil etmeye istekliyseniz, Jon Conway'in Yaşam Oyunu da nispeten kolaydır ve bir şeyle sonuçlanır. eğlence.

  • Satranç gibi bir oyun biraz düşünmeyi gerektirir, ancak hala bir aceminin minimal kalıtımla yapabileceklerinin (genel bir sınıftan miras kalan belirli parçalar ve tahtada, Piece tipinde nesneler bulunduruyor) ve 2D diziler (sınırlarını seçebilirsiniz) ile sınırlıdır. bir düşman parçaları döküm yolunu tehdit ediyorsa, stelmat tespiti veya kale yetersizliği gibi sert şeylerin uygulanmasını gerektirmeyerek basitleştirin).


Tekel oyun önerisi için +1. 2D dizileri gelince, kesinlikle çok ilginç görevlere yol açabileceklerini kabul ediyorum. Bununla birlikte, 2B dizilerin uygun olmadığı kılan kısıtlamalar var (örneğin, ders kitabı zaten sabittir ve sizi sıkmayacağım bir başka fakülte siyaseti meselesiyle ilgili meseleler, ya da bunlar hakkındaki kişisel görüşümle sizi sıkmayacağım benim kontrolüm dışında önemli).
Macneil

Ah, okulda tekel bir oyun yaratmak zorunda kaldık. Ve bir şifreleme kırıcı.
Carra,

Tekel için +1. Öğrenciler kodladıktan sonra, çeşitli mülklere iniş ihtimalini oluşturmalarını isteyin. Bu bilgi gerçekten stratejik olarak yardımcı oluyor.
joshdick

4

Okulda sadece giriş / çıkış, fonksiyonlar ve şartlı operatörlerle birkaç proje gerçekleştirdik. Bütün bunlar daha önce nesne yönelimli programlama hakkında bilgi edindik. Bu projeler yavaş yavaş ilerleyerek gittikçe zorlaşıyor. Söylemek yeterli; her hafta geçirdiğimiz 4 saat, yıl sonuna doğru neredeyse yeterli değildi.

Tüm bu projeler sadece fonksiyonlarla yapıldı.

  • Öğrenen bir oyun. Birkaç sopayı alır, bilgisayar bir kaç sopayı alır. Tekrar et. Çubuğu tutan son kişi gevşer. Her oyundan sonra daha iyi hale gelen basit bir kendi kendine öğrenme programı oluşturmak zorunda kaldık. 2B dizileri öğrenmek için iyi bir örnek.

  • Bir kod kırıcı. Sezar şifrelemesini biliyorsunuz, bir harf seçiyor ve harfin değerini kelimenizin her harfine ekliyorsunuz. Örneğin, key = 'a' ve = "secret" kelimesi. Bu "tfdsfq" olur. Dosyayı okuyarak ve sonra her harf için bir frekans tablosu oluşturarak yapılabilir. Ayrıca İngilizce bir İncil de okudunuz. O zaman İngilizce alfabesinde en çok kullanılan harfin 'e' olduğunu görüp çözebilirsiniz. Eklenen zorluk: ödevimiz olan 'ab' gibi bir anahtar kullanın. G / Ç'yi anlamak için iyi egzersiz.

  • Bir barkod üreticisi. Bu program harici bir kütüphane aramak için bir egzersizdi. Bir kod aldınız ve barkodla bir resim oluşturmak zorundaydınız. Görüntüyü oluşturmak için harici bir kütüphane kullanıldı.

  • Gezgin satıcı problemini çözmek için genetik bir algoritma. Bu 2 veya 3 kişilik daha gelişmiş bir projeydi. Rastgele bir rota ile başlarsınız ve bu rota “iyi bir rota” olana kadar her zaman iyileştirir. Bonus: rota ile bir harita oluşturun.

  • Çalışan bir lzw sıkıştırma programı . Bu, son 4 kişilik bir projeydi. Parametreler oldukça basitti. "Zip file.txt file.zip" veya benzeri bir şey. Eğlenceli bir proje ama lzw algoritmasını anlamak biraz zaman aldı.


Çok ilginç ... Hangi okula gittin? Bunların hepsi ilk senede miydi?
Macneil

Bilişim mühendisliği uzmanlığı için insanları ısıtmak için bir kurs oldu. Uzmanlığınızı o yıldan sonra da değiştirebilirsiniz. Öğrenciler, temel döngüler biliyorlardı, bazıları ekrana / dosyalara ve fonksiyonlara giriş yapıyorlardı.
Carra

3

Bir hesap makinesi aritmetik işlemlerini öğrenmek için iyi bir proje olacaktır. Basit bir menü tabanlı konsol uygulaması veya bir GUI yapabilirsiniz. Dört fonksiyon (+, -, *, /), karekök gibi daha karmaşık şeyler için fazladan puanlar ile başlar.

Dize kullanımı için bazı doğrulama sorunları öneririm. E-posta adresleri akla geliyor; denetlenmeden bırakılması, SQL enjeksiyon deliklerine veya başka şeylere yol açabilir ve bunların doğrulanması oldukça kolaydır. Eklemek için, belki ilk, orta ve soyadlarını alan ve bunları boşluklarla birlikte dizen bir programa sahip olabilir ve ayrıca tam bir ad alabilir ve bunları her bir bileşene ayrıştırır. Birincisi, gerçek hayatta ikinciden daha fazla kullanılıyor, ancak yeterince basit olacak başka bir ayrıştırma senaryosu düşünemedim.

Statik yöntemleri göstermek için, bir e-posta araması sorunu atayabilirsiniz. Bir ad ve e-posta dosyasının olması ve statik yapıcı, ad / e-postaları belirli bir adın e-postasını bulmak için statik bir yöntemle bir listeye koyabilir.

Umarım bunlar size bazı fikirler verir! Sınıfında iyi şanslar.


1
+1 Teşekkürler! Bu tam olarak aradığım cevap.
Macneil

Oyunlar, hesap makinesinden daha eğlencelidir.

3

Bir ödev için çok ilginç ve havalı bir şey, Conway'in Yaşam Oyununu 2B olarak yazmaktır. Temel dizi veri yapılarına çok iyi eşler, eğlenceli ve yapması oldukça kolaydır, ancak yine de biraz düşünmeyi gerektirir. Bazı merak ve deneyleri de açabilir (AI).

İleri seviyedeki öğrenciler ekstra puanlar için 3D olarak bir sürüm yazabilir.


3

Asal sayı üretecinde yinelemeliyim.

Ödevler

  1. Asalları 1 ile 100 arasında yazdırın.
  2. Astarları girdi1'den girdi2'ye yazdır.
  3. Asal nesil performans verilerini kaydedin ve yazdırın.
  4. Asal nesil grafik performans verileri.
  5. Asal sayı üretecinin algoritma optimizasyonunu tekrarlar

2

Öğrencilerin basit grafikler ve oyunlar yapmalarına yardımcı olmak için ACM Kütüphanesini kullanıyorum . Ana hatlarıyla belirttiğim becerilerden başka hiçbir şey yapmadan, iki oyunculu temel tıklama oyunları oynadık. Bu hafta Fox and Hounds oyununu oynuyorlar .

Konsol G / Ç'den mümkün olduğunca uzak durmaya çalışıyorum. Bugünlerde birçok öğrenci için GUI'lerle büyüdükleri için yabancı bir kavram. Bu yüzden MVC'ye odaklanıyorum, modeli doğru yapıyorum ve GUI'yi sadece modellerini test ettikten sonra ekliyorum. Testler otomatik ünite testi ve BlueJ'deki Code Pad ile yapılır . Hayır public static void main(), hiç gerekli değil.


ilginç. Belki de deneyimlerinizi bir makaleye ya da blog girişine yazabilirsiniz.

2

Geçen yüzyılda giriş yolunu öğrettim ve bu TEMEL'di, ama senin gibi öğrencilerin kendi tasarladıkları eğlenceli bir projeye girmelerini sağlamak istedim. Bu yüzden bir dizi olasılık önerdim:

  • Wumpus gibi basit bir macera oyunu
  • Beyzbol ya da her neyse spor simülasyonu (sadece metin, iddialı grafikler)
  • Bilim, genetik evrimi simüle etmek gibi
  • Spor / bilim, yelkenli yarışı gibi
  • Finansman, hanenizdeki insanlar için kendi bankanıza sahip olmak veya yatırımlar gibi
  • Müzik veya basit grafik oyunlar

... ya da öğrenciler ne düşünüyorsa. Bana gelip "XYZ yapmak için bir program nasıl olur?" Derlerdi. ve her zaman "Büyük" derdim, ve belki de onları karmaşık hale getirmemek için biraz yönlendiririm.

Genelde projeleri birkaç yüz satırlık kod haline geldi ve bundan her zaman keyif aldılar.

Not: Bu ödevi, öğrenciler temel kontrol yapıları, G / Ç, diziler ve ardışık dosyalar konusunda yetkin olduktan sonra verdim. Bu, notlarının büyük bir kısmı olan bir dönem projesiydi ve bir ana hat parçası gibi ara dönüm noktası ödevleri yaptım, böylece sonunda hepsini yapmaya çalıştılar ve bir duvara çarpmadılar. Bunları mümkün olduğu kadar erken bir zamanda, başlamak için yeterli beceriye sahip olduklarında, tipik olarak 6 ya da 8 hafta civarında yapmak istedim.


1

Bir öğretmenim için modülleri yazdığınız bir program yazdım. Temel olarak, bir oyundu ve onu çözmek için bir algo yazmak zorundaydınız, her şeyi grafiksel ve güzel yapmak için güzeldi ve iyi çalışıyordu. Belki de kendi oyun çerçevenizi yazmalı ve onlara daha sonra içine koyduğunuz kutunun dışında yapabilecekleri güzel şeylerin aşağılık versiyonları olan temel araçları vermelisiniz.


1

Giriş kursumda bana üç proje çöktü

Rastgele bir Mondrian resmini görüntülemek için bir program
yaz BrickBreaker oyununun ilk bölümünü yazın, topun etrafında toplanarak zıplayın.
Metin tabanlı bir macera oyunu yazın.

Algoritmalar sınıfımdan
bir Serpinski üçgeni uygulayın

Bu dört proje bana tel işleme, randomizasyon, grafik, özyineleme ve animasyon konularında mükemmel bir anlayış kazandırdı.


1

Sınıftaki tüm öğrenciler CS dalında mı? Benim tahminim olmazdı. Sınıftaki ana dallara uyarlanmış ödevler alırdım.

Örnekler:

  • Sanat öğrencileri, bir tuval parçasının boyutlarını alan ve tuval miktarını hesaplamak için bir çerçeveyi boyamak için kullanılamayan bir program yazabilir (tuvalin çerçevenin etrafına sarılması ve zımbalanması nedeniyle).

  • Econ öğrencileri bir maddeye bileşik faizini hesaplayabilir.

  • Matematik öğrencileri Proje Euler'den problem seçebilirdi.


1
Sınıf, ana ve ana olmayanlar içindir. Birçoğu biyolojide.
Macneil

İlginç. Fikir: Suda yüzen tek hücreli organizmaların bir fotoğrafını bulun. Resmi B&W'ye dönüştürün. Sudaki organizma sayısını saymak için bir program yazın. Bu, her türlü ilginç tartışma konusunu gündeme getirecektir: kenar tespiti, su ile su dışı arasındaki farklılıklar, toz giderme, vb.
Barry Brown

Bio için iyi, akla yayılan açık bir şey hücresel otomatlar. Birkaç fikir edinmek için bioquest.org adresinde bir ganimet alabilirsiniz.
Kavet Kerek

1

Lisede, tanıtım programcılığı dersi aldım ve Karel J. Robot'u kullandık . Robotunuzu görüntülemek için bir kullanıcı arayüzü sağlar ve ilginç şeyler yapması için genişletmeniz gereken çok temel bir dizi sensöre ve hareket yöntemine sahiptir. Bunun iyi olduğunu düşünüyorum çünkü yazılımlar arasındaki farkı henüz anlamayan insanlar için robotların anlaşılması kolaydır.

Ayrıca , daha önce keşfettiğim, başlangıçta programlamayı öğretmek için tasarlanmış olan İşlemler ve ayrıca java'da da var.


0

Burada muhalif olacağım. Bence onlara playtoys değil çözmek için geçerli işletme tipi problemler vermelisin. Gerçekten profesyonelce yapacakları işle ilgilenmek ve motive olmak için yeterince ciddi değillerse, tanıtım kursunda onları terk etmeyi tercih ederim. Gerçek iş, harika şeyler yapmakla ilgili değildir, müşterinin ihtiyaçlarını karşılamakla ilgilidir. Ayrıca, bir oyunda öğrendikleriyle sıçramayacakları arasında aynı programlamayı iş programlarında kullanamayan birçok insan gördüm.

Tanıdığım her üst düzey geliştirici ve işe alma yöneticisi, yeni mezunların kalitesiyle tiksindirildi. Gerçek dünyada çalışmayı öğrenmek için neye ihtiyaç duyduklarına odaklanmayı deneyin ve eğlenceli hale getirmeyi unutun.


Bence birçok öğrenci ilginç bir iş problemi bulur. Somut bir şey önerebilir ve cevabınızı iyileştirebilirsiniz, bu yararlı olacaktır. Detayları arıyorum.
Macneil

1
Onlar bu bir problem olması gerektiğini olamaz onların TI-83 hesap makinesinde (kolayca) yapmak. Yine başka bir vergi hesap makinesi kesmeyecek.
Barry Brown

1
Bu öğrenciler programlamada yenidir ve bu derste babystepslerini almaları gerekir. Sıkıcı hale getirmek belki de onlara nasıl programlanacaklarını öğretmenin en etkili yolu değildir ve sadece Java spesifikasyonlarını baştan sona okumalarını sağlamak yerine En İyi öğretmenlere bakmalıyız.

1
Hayır. Bu projeler her şeyden önce eğlenceli olmalı. Eğlenceli projeler zor olabilir. Aslında, evcil hayvan projelerimin çoğu işte yaptığım günlük programdan daha zor.
Carra

2
Amacınızı anlıyorum ama en azından kısmen ve en azından tanıtım dersi için saygılarımla aynı fikirdeyim. Birinin alabileceği birçok programlama yolu var ve bunun gibi bir dersin programların yapabileceği farklı şeyleri kapsaması gerektiğini düşünüyorum. Öğrencilere bilgisayarların sadece "iş için gerekli" olduğunu düşündüğümüz sorunlara iyi geldiğini göstermek yaratıcı bir programcının yapmaz, çünkü zihniyetlerini sınırlar. Ben iyi tasarlanmış bir kurs bir oyun programlama gibi bilgisayarlar, yapabileceği eğlenceli şeyler göstermenin yanı, gerçek dünya sorunlarını çözmek için öğrencilere meydan olacağını düşünüyorum
Nick Donohue

0

Cep telefonlarında aptal bir widget oluşturmak için bir atama. Arkadaşlarına gösterebilecekleri bir şey. Ucuz ve ucuz bir AT&T telefonum var ve bir çeşit jar dosyası alıyor.


0

Gördüğüm en önemli görevler insanları başka türlü düşünmeyecekleri bir şey hakkında düşünmeye zorluyor. Tamamen basit kurs materyalinin dışında bir şey, imkansız görünen bir şey. Birden fazla geçerli çözümü olan bir şey.

Beni etkileyen birkaç kişi:

  1. Roshambo AIs (UOA'daki AI kursunda kullanılır). Taş, kağıt, makas için -1, 0, 1 döndüren basit bir işlev. AI'ler birbirlerine karşı çukurlar ve istatistikler toplu bir yardımcı program tarafından toplanır. Bu ödev, insanları kaç yaklaşımın uygulanabilir olduğu konusunda şaşırtıyor (ve kaç kişinin bu kadar zayıf davrandığı).

  2. İmkansız özelliklere sahip basit sıralama problemleri. Sınırsız uzunlukta bir dosyayı sonlu bellek ile sıralayın. Bu sorun algoritmalardaki düşünme temelimi sarstı. İlgili birçok problem var: Sonsuz uzunluktaki verilere göre pencereli ortalamalar, vs. her biri görünüşte imkansız olan bir şeye bir çözüm getiriyor.

  3. Önemsiz görünen simülasyon problemleri. Trafik simülasyonları (araç, ağ), yarış arabası simülasyonları (sol, sağ, daha hızlı, daha yavaş), market alışverişi simülasyonları.

  4. Ağ kurma sorunları (son birkaç yılda birlikte çalıştığım mezunlardaki büyük bir zayıflık). Elde taşınır cihazlarla eş ağ kurma problemleri, örneğin n senkronizasyon sorunlarının karmaşıklığını kanıtlama, eş güncellemeleri, eş güven vb.

  5. Küçük diller (son sınıflarda başka bir zayıflık). Basit bir oyun AI (dama, roshambo, tanklar, CSS mojo, Twitter botları) için küçük bir dil geliştir. Dil tasarımı, yorumlama ve eylem kavramlarını düşünmek çok önemlidir.


Kağıt, taş, makas AI'ları sonucu biliyor mu, yoksa tarihin ne olduğunu görüyor musunuz?
Macneil

Evet, geçmişlere C örneğindeki dizilerden ulaşılabilir (ancak Java, Ruby vb. İçin de aynı şekilde geçerlidir). : Orijinal yarışma sayfasına bakın webdocs.cs.ualberta.ca/~darse/rsbpc.html
Bruce Alderson
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.