Lise TCS öğretimi - mevcut programlar


16

Müfredat oluşturmayı gerektiren yeni bir TCS lise programı öğretmem teklif edildi. Bununla ilgili görüş ve önerilerinizi duymak isterim.

İlk olarak, bir TCS programının başarılı bir şekilde (veya başarısız bir şekilde) öğretildiği liseleri bilen var mı?

Fikir, seçkin seçkin öğrenciler için 3 yıllık bir program (10-12. Sınıflar, 16-18 yaş arası), yaklaşık 8 haftalık saat içindir, yani talep edebileceği ve talep etmesi gerektiği anlamına gelir. Standart "bilgisayarlar" programından farklı olarak, bu program programlamaya değil, CS'de çoğunlukla TCS'de seçilen konulara odaklanmalıdır. Şimdiye kadar aklımızda olan konular şunlardır:

  • Asimptotik analiz
  • Temel veri yapıları ve algoritmalar (listeler, diziler)
  • Grafik algoritmalar, dinamik programlamaya karşı açgözlü algoritmaların bir gösterisi olarak.
  • Diğer algoritmalar (örneğin olasılıksal)
  • Hesaplanabilirlik - TM kavramı, indirgeme, karar verilebilirlik.
  • Karmaşıklık - NP, P, belki PSPACE ve NL. Tamlığı.
  • Otomata teorisi

Temel olarak, CS'deki bir B.Sc'nin ilk iki yılının TCS bölümünü kapsar. Ancak, bu öğrencilerin bu materyalin çoğu için gerekli olan matematiksel temelden yoksun olduklarını unutmamalıyız. Özellikle set teorisi, kombinatorik, olasılık ve modüler aritmetik gibi şeyler lisede öğretilmez (maalesef).

Özetlemek ve kesin sorular vermek için:

  1. Herkes benzer bir programı herhangi bir yerde biliyor mu?
  2. Programı ilginç ve aynı zamanda önemli ve doğrudan alakalı tutarken (örn. Grup teorisi önemli ve ilginç, ancak yeterince ilgili değil), yukarıdaki konulara ek olarak / yerine öğretilmesi gerektiğini düşündüğünüz somut / genel konular için öneriler var mı? alacak zamanı haklı çıkarmak için)
  3. Bugünlerde çok sıcak bir konu olduğu için, makine öğrenmeyi bir şekilde tanıtmaktan memnuniyet duyarım. Makine-öğrenme yönteminin, ölçüm-konsantrasyon teoremleri gibi araçlar olmadan nasıl sunulabileceğine dair her türlü fikir memnuniyetle karşılanmaktadır.

2
Görünüşe göre sonunda otomata teorisini bir çeşit düşünce olarak listeliyorsunuz. Otomata teorisini merkezi ve birleştirici bir tema haline getirmeyi savunurdum. Öğrencileri herhangi bir matematiksel arka plan olmadan resmi matematiksel akıl yürütme ile tanıştırabilir. Temel, ancak kanıtlanması nispeten basit, keskin koşulsuz teoremlere sahiptir. Bu edilebilir makine öğrenimi doğrudan bağlı benim deneyimlerinden bu bir ilk teori kursuna undergrads öğretmek zor olmasına rağmen, bu nedenle daha fazla dikkat HS ile garanti edilir.
Artem Kaznatcheev

1
daha önce hiçbir sığınak duymadım! "seçilmiş" öğrenciler? bu muhtemelen gelişmiş anlamına mı geliyor? popüler bilim kitaplarını TCS'de veya çevrimiçi bloglarda [birkaç iyi kitap] çıkarmayı deneyin . Turing makineleri, diğer önemli / ilginç alanları kuantum hesaplama. matematik ağır değilse ve matematikten ziyade kavramsal bir şekilde yapılırsa bunun çekilebileceğini düşünün. Ayrıca bu site eğitsel sorularda çok geliyor: cs unplugged . iyi şanslar!
vzn

2
Acaba zamanınızın bir kısmını bahsettiğiniz matematiksel becerileri (örneğin olasılık) öğretmeye ayırmak en iyisi olup olmayacağını merak ediyorum. .
usul

1
@vzn - evet, bunlar ileri düzey (söyleyebileceğim cesaret) öğrenciler.
Shaull

1
@vzn Bu çok ilginç bir öneri. Bir şekilde, TCS henüz popüler kültürün bir parçası değil. Yani meraklı öğrenciler bile P ve NP gibi soruların farkında değiller. Ancak, mevcut CS öğrencilerinden kesinlikle öneri isteyecek ve neyle karşılaştıklarını göreceğiz. Tahminimce kriptografi merkezi olacaktı.
Shaull

Yanıtlar:


8

Birçok ülke IOI ekipleri için yaz okulları düzenlemektedir (yaklaşık 16 IIRC lise öğrencisinden oluşmaktadır). İran'da sahip olduğumuz kişi şu kurslara sahipti:

  • programlama,
  • veri yapısı ve algoritmaları,
  • kombinatorik ve
  • grafik teorisi.

Ben ACM Bilgisayar Bilimleri Öğretmenler Derneği olduğunu düşünüyorum K12 müfredat onun üzerinde Müfredat Kaynakları muhtemelen yolu yetenekli gençler için çok açık olsa sayfa.


Programlamanın kesinlikle müfredatın bir parçası olması gerektiğini düşünüyorum . Python öğrenmesi için iyi bir ilk dil olmalıdır.

Bazı erişilebilir konuları uygulamalarla da kaplamak isteyebilirsiniz (havalı bir şey inşa etmenin neşesi onların ilgisini büyük ölçüde etkileyebilir). Sanırım Andrew Ng'nin Coursera'daki ML kursuna yetenekli öğrenciler için erişilebilir olmalı (özellikle sizinki gibi, daha ciddi bir K12 matematik müfredatı olan ülkelerde olanlar için).

Dikkate almak isteyebileceğiniz standart olmayan bir konu kombinasyonel oyun teorisidir, 16 yaşındakiler için çok ilginç olmayabilir (bunun için deneyimim yok), ancak deneyimimdeki biraz genç öğrenciler için oldukça iyi çalışıyor.

Ben şahsen merkezi ve bağlantı tema etrafında olmak algoritmaları, ben ise o (vb makineleri, otomata, Turing değil) ana temasına ve tartışmasız algoritmik bir bakış açısı olarak otomata teorisi daha iyi çalışmasını düşünüyorum gerektiğini düşünüyorum bilgisayar biliminin özü.


Programlama kısmı, hepsinin aldığı standart CS programı tarafından kapsanmaktadır. Bunlar ek konular. Böyle bir yaz okulu web sitesi için bağlantınız var mı? Algoritmalar odaklanarak gelince - Onların CS merkez olduğunu kabul ederken, ben computability ve komplekslik, düşünüyorum bilgisayar biliminin özü. Akıllı algoritmalardan ziyade çözemediğimiz şeyler olduğu gerçeğinden çok daha fazla etkilendiğimi hatırlıyorum. Ama muhtemelen ikisi de kapsanacak.
Shaull

Bir bakıma, Turing makineleri tamamen algoritmalarla ilgilidir . Ayrıca yakut da python ile karşılaştırılabilir mükemmel bir seçenektir . Aynı Subj üzerinde gelişimini öğrenmek için başka mükemmel bir seçenektir javascript çünkü tarayıcılarına çoğalmasını örneğin birçok nedenden, halkın bir sürü / vs örnek kod, geniş özellikler, yüksek kullanım ait
vzn

1
@Shaull, bir siteye sahipler ( Young Scholars Club ), ancak Farsça ve yaz okulunda neler olduğu hakkında çok fazla şey içermiyor.
Kaveh

1
@vzn, lise öğrencilerine TCS öğretme konusunda çok tecrübeniz olduğunu düşünmüyorum ve size görüşlerinizle ilgilenmediğimi çok açık bir şekilde açıkladım . Cevaplarımı trol etmeyi bırak.
Kaveh

k, plz benim bkg tahmin etmiyorum ve aynı nezaket yapacağız. Yorum temelde desteğin ait senin ... görüşleri meta için konu gibi sesler = (
vzn

5

Merakla, makine öğrenmesinin benzersiz bir şekilde uygun olduğunu savunan biri varbilgisayar bilimi konuları arasında lise öğrencilerine öğretmek için, çünkü sözde temel matematik önemli zorlukları takdir etmek için yeterince anlamanıza yardımcı olabilir birkaç alt alanlardan biridir. Bu iddiayı kabul etmiyorum - temel algoritmalar (arama, sıralama için söyleyin) bulmacalar olarak sunulabilir ve çok hızlı bir şekilde belirtmek çok basit olabilir, ancak "gibi çarpma aslında aynı sayıda işlemle yapılabilir ek olarak ", ya da tamsayı doğrusal zamana göre sıralama ya da çarpanlara ayırma (asal sayılar kavramının seçili lise öğrencisi grubu için yeni olmayacağını varsayıyorum?). Öte yandan, birçok makine öğrenimini istatistik ve olasılık teorisi konusunda iyi bir deneyim olmadan kavramak zor olacaktır. Bununla birlikte,

Bir öğretim programı açısından, Essinger ve Rosen tarafından Drexel'de daha ayrıntılı bir ders var .

Bunlara ek olarak, öğrenme teorisinin daha üst düzey fikirlerinden bazılarını çizmeye çalışabileceğini düşünüyorum:

  • temel sınıflandırma problemi nedir
  • kavram sınıfı nedir ve kavram öğrenmek ne anlama gelir?
  • neden üstel örnekleme karmaşıklığından daha azına sahip kısıtlanmamış bir konsept sınıfından kavramları öğrenmeyi umut edemiyorsunuz (sayım argümanlarına giriş olarak)
  • VC boyutu nedir

Başka bir öneri de devreleri tanıtmak ve Shannon'ın alt sınırını çizmek. Öğrencilerin sayma konusunda ne kadar rahat olduğuna bağlıdır. Bu çok ağırsa, öğrencilerin devrelerin sayımını iman üzerine almasını sağlarken yine de tartışmayı yapmak yardımcı olabilir. "Çoğu sorun büyük devreler gerektirir çünkü çok fazla sorun var ve çok az sayıda küçük devre" fikri dikkat çekici olacak. Bu fikir karmaşıklık açısından önemli ve yaygındır.


Her iki öneri çok güzel. Teşekkürler! Lise için, bir VC boyutunun ne olduğunu öğrenmenin yaklaşık 3 ay sürebileceğini hissediyorum, bu çok fazla olabilir. Ancak, özellikle düşünce zaten konulduğundan beri kesinlikle dikkate değer.
Shaull

Bence sadece bir kavram öğrenmenin ne anlama geldiğini anlamak ve güneş donmadan keyfi olarak karmaşık şeyler öğrenemeyeceğiniz konusunda belirsiz bir fikre sahip olmak bir kazanç olacaktır.
Sasho Nikolov

3

bu devam etmek için umut verici bir yön heres. AP / NSF kısa süre önce yeni bir lise ileri seviye yerleştirme CS programı girişimi duyurdu. standart bir ders planı, üniversite akreditasyonu vb.Gibi bir programı kullanmanın birçok avantajı olacaktır.

şu anda geliştirme aşamasındadır ve 2016 için hazır olacaktır. geçici ders müfredatı ve materyalleri çevrimiçi olarak mevcuttur. (akademik uzmanlar için, bu noktada "kolektif zeka" türü işbirliği yoluyla gelecekteki içeriği etkilemek için bazı olasılıklar olabilir.)

College Board'un İleri Düzey Yerleştirme Programı Perşembe günü yaptığı açıklamada, sınıf tekliflerine yeni bir bilgisayar bilimi programı eklemeyi planladığını söyledi. Bu hareket, ABD ekonomisini küresel olarak daha rekabetçi hale getirmek için ulusal bir baskı ile öğrencileri bilimde kariyer için eğitmeye artan bir ilgiyi yansıtmaktadır.

Yeni program, AP Bilgisayar Bilimi İlkeleri, hesaplama "yaratıcı yönlerini" konusu üzerinde duracağız ve bir tarafından kısmen finanse edilecek $ Ulusal Bilim Vakfı 5,2 milyon hibe. Federal ajans, bilim, teknoloji, mühendislik ve matematik veya STEM alanlarında eğitimi geliştirmek için 2016'ya kadar ülke genelinde aynı sayıda liseye 10.000 bilgisayar bilimi öğretmeni yetiştirmeyi hedefliyor. Kolej Kurulu öğretmen desteği ve ekipmanı için yaklaşık 3,5 milyon dolar toplayacak .

mevcut program AP Bilgisayar Bilimi A ve yeni program AP Bilgisayar Bilimi İlkeleri olarak adlandırılmaktadır. mevcut sınıf yıllardır var ve aynı zamanda müfredat geliştiren öğretmenler için bir model olarak yararlıdır.



3
Bu arada, Baker Franke ve ben SIGCSE '14'te bir BOF (Kuş-Kuş) oturumu için teoride konuların CS İlkeleri müfredatı için nasıl erişilebilir hale getirileceğini tartışmak üzere bir teklif sunduk.
rahulmehta95

@ rahulmehta95 - Okuyabileceğim teklife bir bağlantı var mı?
Shaull


2

Son zamanlarda başladığım bir fikir, HS öğrencilerine problemler arasında bir azalma fikrinin nasıl öğretileceği. Bunu karmaşıklık ile tanıştığımda en ilginç ama en zorlu konulardan biri olarak buldum, çünkü 3-SAT gibi bir sorunun "aynı derecede zor" olduğu gerçeğini etrafına sarmak oldukça zor (en azından başlangıçta) Vertex-Cover olarak.

Ortaya koyduğum örnek Vertex Cover (VC) ve Independent Set (IND-SET) arasında bir azalma oldu;

"Bir müzenin müdürüsüsünüz ve koridorları korumak için güvenlik sağlamakla görevlendirildiniz. Koridorların kesiştiği bir yere yerleştirildiğinde, bir gardiyan, yanındaki TÜM koridorları izleyebilir. Gerekli asgari koruma sayısı nedir? müzenin tamamını devriye gezmek? "

"Biraz sonra, bazı çocuklar müzede saklambaç oyunu oynamaya karar veriyorlar. Amaçları başka hiçbir çocuğun göremeyeceği şekilde saklanmak. Ancak gardiyanlar koridorlarda, kavşaklarda "saklanmak" için düşüyorlar. Birbirini görmeden müzede saklanabilecek en fazla çocuk sayısı nedir? "

VCPIND-SET

G,=(V,E)SV bağımsız dizi VS

SVSG,


CLbenSUEpbenN-D-SET

indirimlerle ilgili olarak, evrensel bir turing makinesinin var olduğunun kanıtı, gitmenin bir yoludur ve muhtemelen ileri lise öğrencileri tarafından anlaşılabilir ... [unutmayın, bazıları cs araştırmacıları tarafından bile ... dönüşümü tseitin ?
vzn
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.