Genel Bilgiler

Merhaba

Öncelikle ilginizden ötürü teşekkür ederim.

Bu uzun yazıda vermiş olduğum kursların detaylarına değineceğim. Bunları aşağıda gördüğünüz gibi bazı başlıklar altına aldım. Merak ettiklerinize doğrudan ulaşabilirsiniz. Zaman ayırıp okumanızı tavsiye ederim.

Eğer başvuru formuna direkt erişmek istiyorsanız, buyrun.

Ben Kimim?

Salih BALTALI. Bursa’da yaşıyorum. Bilişim Teknolojileri öğretmeniyim. 16 yıldan beri çocuk ve yetişkin birçok insana bilgisayar programlama öğretimi sağladım. Yüksek lisansımı yine bu alanda yapıp üzerine bir de tez yazdım. Yayınlanmış kitap ve makalelerim bulunmaktadır. Birçok farklı öğretim modeli denedim. Yılların getirdiği birikimle kendi müfredatımı ve öğretim modelimi oluşturmuş durumdayım. Bu çizgide ülkemizin gençleri ve çocuklarının elinden tutup yetiştirmeye çalışıyorum. Hakkımda daha detaylı bilgiye şuradan ulaşabilirsiniz.

Herkes Programlama Öğrenmeli mi?

Gerçekçi olmak gerekiyor. Hayır elbette. Günümüzde gerek sosyal medya gerekse geleneksel medyanın da etkisiyle böyle çarpık bir algı oluşturuldu. Kodlamacılık, makercılık, robotik gibi “adı var kendi yok” dönemsel oluşumlar ortaya çıktı. İki LED lamba yakıp, ekrana adını yazdırınca veliler, çocuklarını “Acaba benim oğlum da bir Elon Musk olur mu?” hayaliyle çocuklarını bir kurstan diğerine koşturmaya başladılar. Olmaz efendim, olmaz. Bahsi edilen teknoloji devlerinin liderlerinin hayatlarını okuğunuzda göreceksiniz ki; çocukluktan bu işlere başlıyorlar. Bizim yaptığımız gibi başladıktan sonra yarım bırakıp LGS’ye ya da YGS’ye veya ALES’e çalışmak için ara vermiyorlar. İdealleri uğruna Afrika’dan Amerika’ya göç edebiliyor, gerekirse Harvard gibi bir üniversiteyi bırakabiliyor, ya da üniversiteden atılabiliyorlar. Diğer taraftan işin sosyo-ekonomik yanına da bakmak gerekiyor. Alım gücü, sunulan imkanlar, kültürel ve teknolojik altyapı gibi birçok faktör o ülkeden bir deha ya da teknoloji lideri çıkmasında etkili olmaktadır.

Sizin İddianız Nedir?

Yukarıda bahsettiğim yanar-söner kurslar, oluşumlar gibi kimseye boş bir hayal satmıyoruz. Öyle kocaman iddialarımız da yok. Öğrencilerimizi yaşayacakları yıllarda onlara lazım olacak teknik yeteneklerden birisi olan programlama bilgi ve becerisinin temellerini sağlam bir şekilde atmak istiyoruz. Bu temeli önemsiyor ve değerli buluyoruz. Zira binlerce genç hiçbir temeli olmadan yazılım öğrenmeye çalışıyor, ama çok çok azı zirveye ulaşabiliyor.

Programlama Kursları Kimlere Yöneliktir?

Programlama kursları 3 gruba yöneliktir.
Bunlar;
8-9 yaş grubu (ilkokul, şu anda bu yaş grubuna kurs vermiyoruz),
10-12 yaş grubu (ortaokul),
13-17 yaş grubu (lise) şeklindedir.

Bu Kursların İçeriği Nedir?

Kurslarımızda programlama öğretimi becerileri ile birlikte bilişimsel düşünme becerilerini kazandırma noktasında araç odaklı bir yaklaşım sergiliyoruz. Birçok programlama öğretim aracını (materyal) ve değişik programlama dillerini bir araç olarak görüp müfredatımızda kullanıyoruz. İçeriği yaş gruplarına göre inceyebiliriz.

8-9 Yaş Grubu

Programlama ile yeni tanışan birçok öğrencinin yaşadığı programlama dilinin söz dizimi, fonksiyon davranışları veya uygulanmasına yönelik problemlere blok temelli ortamlar ile çözüm üretilebilmektedir.1

İlkokul dönemi dediğimiz bu dönemde programlama öğretimi, çocuklarda, mantıklı ve sistemli düşünmeye dönük zihinsel alt yapının oluşturulmasına imkan tanır. Mantıksal sorgulama ve algoritmik düşünme becerilerinin geliştirilmesine yönelik dijital ortamda blok tabanlı programlama araçları ile yapılandırılmış bir müfredatı takip ediyoruz.

Yıllarca bu konuda yaptığım araştırmalarda yüzlerce blok tabanlı araç kullandım ve sosyal medyada da bunları paylaştım/paylaşıyorum. Profesyonel yazılımlara yakın olanaklar tanıyan, ilkokul dönemine yönelik zihinsel kazanımları verebileceğini düşündüğüm blok tabanlı araçlarla bu kursu işliyorum. Bu araçların sunduğu içeriğe göre detaylardan arındırılmış anlamlı öğrenme etkinlikleri ile müfredatımı dizayn ettim.

10-12 Yaş Grubu

Programlama öğretimi süreçlerinde blok temelli ortamlar ile başlanılan öğrenme adımlarının ardından metin temelli programlamaya geçiş sürecinde zorluklar yaşanabilmektedir. Her iki ortamı da sunan hibrit araçlar dediğimiz araçlarla bu geçişin kolaylıkla sağlanabileceğini düşünüyorum. Yine yaptığım araştırmalar sonucu gerek zihinsel kazanımlar gerekse de sunulan programlama becerilerine göre birçok hibrit aracı kullanarak bu döneme ait bir müfredat hazırladım.

Bu yaş düzeyinde metin tabanlı programlama araçlarıyla (Small Basic) çalışmaya başlayacağız. Bu dönem, profesyonel uygulamalara geçişin bir ara dönemi olarak ifade edilebilir. Öğrenciler bu süreçte kod yazarak çizimler, animasyonlar, hikayeler ve çoklu ortam formatında basit oyunlar üretebilecek seviyeye gelmektedir.

Bu yaş grubunda kurs iki seviyedir. Her bir seviyenin süresi 10+ aydır.

Small Basic Programlama Dili
Başlangıç Seviyeİleri Seviye
Small Basic hakkında temel bilgiler
Grafik penceresi ve çizim
Değişkenler ve Veriyle çalışma
Turtle Kütüphanesi
Döngüler: For-EndFor
Kullanıcıdan Veri Alma
Math Kütüphanesi
Şartlı Yapılar: If-EndIf
Shapes Kütüphanesi
Fonksiyonlar
Olaylar
Mouse Kütüphanesi
Döngüler: While
Kullanıcı Arayüzü Oluşturma(GUI)
Diziler ve Array Kütüphanesi
Çok Boyutlu Diziler
Text Kütüphanesi
Dosyalarla Çalışma
Little Developer Kütüphanesi(süper bir kütüphane,yok yok)
–LDControls
–LDDataBase
–LDDialogs
–LDEffects
–LDGraphiscWindow
–LDMusic
–LDPhysics
–LDText
–LDTimer
–LDWebCam
–LDWindows
–LDShapes
–LDEvents

13-17 Yaş Grubu

Lise dönemi profesyonel anlamda programlama sürecine başlangıç dönemidir. Ortaokul döneminden farklı olarak, lise düzeyinde yapılacak programlama çalışmalarının, profesyonel çözümlerin üretimine yönlendirilmesi önemli olacaktır. Öğrencilerin, yaptıkları çalışmaları anlamlandırması, ortaya çıkan ürünlerin faydalı çıktılarının gözlemlenmesi ile daha belirgin biçimde görülebilmektedir.2

Bu yaş grubunda yazılım endüstrisinin kullandığı programlama dillerinde (Python, Ruby, Java gibi) başlangıçta belirli problem setlerini çözmeye yönelik algoritmaları koda dökmeyle başlayacağız. Sonrasında proje tabanlı çalışmalarla paket program, oyun, animasyon ve uygulamalar üreteceğiz.

Bu yaş grubunda kurs iki seviyedir. Her bir seviyenin süresi 10+ aydır.

Python Programlama Dili
Başlangıç Seviyeİleri Seviye
Temel Kavramlar ve Genel Bilgiler
Python Programlama Diline Giriş
Temel Veri Türleri ve Değişkenler
Kontrol Yapıları: if/elif/else
Verinin Formatlı Gösterimi
Temel Fonksiyonlar-1
Kontrol Yapıları: for
Kontrol Yapıları: while
Turtle ile Çalışma
Gelişmiş Veri Yapıları: Lists
Gelişmiş Veri Yapıları: Strings
Fonksiyonlar
Gelişmiş Veri Yapıları: Dictionary
Gelişmiş Veri Yapıları: Tuple
Gelişmiş Veri Yapıları: Set
Temel Fonksiyonlar-2
Modüller
Hata Yönetimi
Nesne Yönelimli Programlama
Dosya ve Klasör İşlemleri
JSON ile çalışma
Veritabanı İşlemleri
PyGame ile Oyun Geliştirme
–Kurulum
–GUI Oluşturma
–Temel Çizim/Renk/Fontlar
–Temel Metotlar
–Events
–Animation
–Çarpışma
–Ses ve Resimler
Örnek Oyunlar
–Rock-Scissors-Paper
–Hangman
–Guess Number
–TicTacToe
–BreakOut
–Pong
–Snake
–Shooter Game
–Flappy Bird
–Space Invaders
–Platformer
–RPG Battle

Kurs Süreleri Nasıl?

Kurs süreleri,
10-12 yaş grubu başlangıç ve ileri seviye için 10 ay + 10 ay,
13-17 yaş grubu başlangıç ve ileri seviye için 10 ay + 10 ay sürmektedir.
Bu süreler haftada bir gün (1) olduğunda geçerlidir.
Dersler 40 dakika + 10 dakika mola + 40 dakika şeklinde yapılmaktadır.
Derslerin gün ve saatlerini öğrencilerle görüşerek ayarlıyoruz.

Ödevlendirme

Yıllardır biriktirdiğim binlerce güzel sorularım var. Soru deyince programlama problemlerinden bahsediyorum. Bu problemleri öncelikle kendim çözüyorum. Sonra başka çözüm yollarını tarıyorum. En iyileri çözümleri de (best practices) saklıyorum. Ayrıca birçok soruyu da özünü bozmadan hikayeleştirip, karakterler ekliyor, resim ya da şekillerle daha anlaşılır, çekici ve eğlenceli hale getiriyorum. Bunları ödev olarak öğrencilere sunuyorum.

Programlama bisiklet sürmeye benzer, pratik yapmadan öğrenemesiniz. Bu becerinin oluşması için kod yazarak bol bol pratik yapmak gerekir. Her hafta (evet, aralıksız her hafta) öğrencilerimize düzenli ödevlendirme yapıyoruz. Bu sayede bir videonun bıraktığı öğrenme izinden daha kalıcı ve sürekli bir öğrenim sağlamış oluyoruz. Bizim ödevlerimiz eğlencelidir. Yeri gelir sorularımızda animasyon üretir, müzik çalar, oyun yaparsınız, yeri gelir Öklit ile tanışıp geometriyi seversiniz, matematikçi Gauss size formüllerini fısıldar, yeri gelir ilginç kişiler, formüller ve olaylarla tanışıp ufkunuzu genişletirsiniz. Gönderilen ödevlerin kodları satır satır titizlikle incelenip gerekli geri bildirimler öğrenciye dönülmektedir. Bunu yapabilecek robotik-kodlamacılık, makercılık kursu söyler misiniz?

Motivasyon

Kurs süresi uzun bir süre olduğundan zaman zaman öğrencilerin motivasyonları düşebiliyor. Ders sırasında elimden geldiğince öğrencilerimi destekliyor ve pekiştiriyorum. Bunun dışında öğrenci çalışmalarını, ürünlerini sosyal medya hesaplarımızdan paylaşarak özgüvenlerini yüksek tutmaya çalışıyorum. Bunu önemsiyor ve değerli buluyorum. Şunu unutmayın; başarının %10’u eylem ise, %90’ını gazdır. Ayrıca yine yıllardır biriktirdiğim başarı ve motivasyon konulu video, film ve kitap önerileriyle süreci canlı tutmaya çalışıyorum. Bu noktada velilerimizden de destek bekliyorum.

Veli Bilgilendirme

Her ay öğrenci velilerimizi düzenli olarak nerdeyiz, neler yapıyoruz, öğrencimiz neler yapıyorlar, neler kazandırdık gibi soruların cevaplarının olduğu değerlendirmeleri sunuyoruz. Bu değerlendirmelerde ödevlere verdiğim puanları da veliler görebiliyorlar. Farkımızı görebiliyorsunuz değil mi? 

Kurs Süresi Neden Bu Kadar Uzun?

Tamamen el ve beyin aktivitesinden oluşan programlamayı bugünden yarına öğrenmek söz konusu değildir. Konuları dikkatle dinleyip, verilen örnekleri çözmek, işin arka planına odaklanmak yoğun bir bilişsel süreç gerektirmektedir. Özellikle gelişim çağındaki öğrenciler (somut evre) düşünüldüğünde yetişkinler kadar çabucak kavrama ve pratiğe dökme gerçekleşmemektedir. Bunu yıllarca verdiğim eğitimlerimlerimden biliyorum. Analitik düşünme kabiliyeti denilen problemi parçalarına ayırma bunlara çözümler bulma daha sonra bu çözümleri birleştirip genel çözüme ulaşma video izleyerek ya da kitap okuyarak kazanılacak kabiliyet değildir. Deneyimlerim ve planlamam sonucu diyebilirim ki, 10 ay süre öğrenciler için uygundur. Elbette her öğrencinin öğrenme hızı farklı olduğundan bu süreyi minimumda tuttum. Daha fazla da sürebilir.

Dersler Nasıl Geçiyor?

Haftada bir (1) gün iki (2) ders olarak yapılan derslerin ilkinde verilen ödevlerin çözümlerini hızlıca yapıyoruz. Hatalarımızı görüyor, en iyi çözümleri paylaşıyoruz. Bu ilk ders oldukça önemlidir; zira hataları tespit etmek, düzeltmek ve daha farklı nasıl olabilir’in cevaplarını görmek büyük bir kazançtır. 10 dakika moladan sonra ikinci derse geçiyoruz. Bu derste bahsettiğim müfredatıma göre hangi konudaysak zengin materyallerle destekli konu anlatımıyla gösterip yaptırarak dersimizi işliyoruz. Derslerimizde sıklıkla çeşitli programlama disiplinlerine de (code review, debugging, peer programming, clean code, code challange) yer verip uygulamalar yapıyoruz. Öğrenciler dersin bu noktasını çok seviyorlar ve katılımcı oluyorlar.

Hedefiniz Nedir?

Hacker yetiştirmiyoruz, Google’a da girmeyeceksiniz, yazılım sektörüne de hemen atlamayacaksınız. Gayemiz öğrencide programlamaya ilişkin bir yeteneğin olup olmadığını tespit edip ve ona temel programlama becerilerini kazandırmaktır. Hedefimiz kısa ve net olarak bu. Bu sayede gelişim çağındaki yetenekli bireyleri doğru bir öğretimden geçirerek, problemleri eleştirel olarak ele alıp analiz edebilen, bulduğu alternatif çözüm yollarını bilgisayar kodlarıyla ifade edip nihayetinde insanlığa faydalı bir ürün oluşturabilen bireylerin sayısının artacağına inanıyoruz.

Çalışma Ortamı Nasıl?

Kurslarımızı çevrimiçi (online) olarak sağlıyoruz. Derslerimizi Zoom yazılımı üzerinden sağlıyoruz. Bu programın bilgisayarınızda kurulu olması gerekmektedir. Kurmak için şu linki kullanabilirsiniz. Size verilecek olan tarih ve saatte bağlantı bilgilerini kullanarak giriş yapmalısınız. Kurs süresince tablet ya da telefon kullanılmayacaktır. Çünkü, kod yazıp program üreteceğimiz için bunu en iyi bilgisayar üzerinde sağlayabiliriz.

Kurs Ücreti

Kurslarımız ücretlidir. Yurtiçi aylık 480 TL, yurtdışı aylık 85$‘dır.

Örnek Çalışmalar

Kurs süresince öğrencilerimizin programlama yoluyla yaptıkları çizim, animasyon, hesaplama, simülasyon ve minik oyunları farklı sosyal medya ortamlarında paylaşıyorum. Aşağıdaki bağlantılardan ziyaret edebilirsiniz.
Facebook/ProgramlamaMerkezi
Instagram/programlamamerkezi
Twitter/salih_baltali

Sonuç Olarak

Programlama ya da daha genel bir ifadeyle yazılım, bir zanaat işidir. Zanaat kelime anlamıyla, sermayeden çok nitelikli emeğe dayalı; öğrenimin yanı sıra el becerisi ve ustalık gerektiren meslektir3. Bu yönüyle berber, terzi, marangozluktan farkı yoktur programlama öğrenmenin. En iyi öğrenme şekli ise usta-çırak şeklindedir. Evet, teknolojinin alıp başını gittiği bu çağda hala usta-çırak ikilisini savunuyorum. Evet, Udemy’ler, YouTube’lar, web siteleri vs. yüzbinlerce kaynak var. Ancak sağlam ve köklü bir öğrenim sağlamanız için iyi kurgulanmış bir öğretim planı, düzenli ödevlendirme-takip-değerlendirme şeklinde özetleyebileceğimiz uzun bir süreçten geçmeniz gerekir. Bunu, X saat video izlemekle, internette biraz ordan biraz burdan bilgi kırıntılarıyla ya da “A eğitim setini alırım, öğrenirim” şeklinde yapamazsınız. Elimizde bir hap ya da bir sihirli çubuk yoktur. Bahsini ettiğim yolları, bu şekilde kısa yoldan çözüm arayan insanlar tercih ediyor. Onlar da bir süre sonra yerinde saydıklarının ve aynı şeyleri tekrar ettiklerinin farkına varıyorlar. Bunu farkettiklerinde ise yaşları bir hayli ilerlemiş oluyor 

Okulların (devlet/özel farketmez) bu öğretimi sağlayabileceğini düşünmüyorum. İçinde geçirdiğim 15 sene buna delildir. İki ders zili arasına sıkıştırarak birşey öğretemezsiniz. Okulun kendisinin yapısı itibariyle başlı başına programlama öğretimine engel olduğu kanaatindeyim. Robotik kodlama, makercılık, kodluYOZ/kodlayacağız vs. gibi günü birlik/dönemlik magazinel oluşumlar da derde deva değildir, olamaz da. Çünkü, kimsenin 10 ay bir öğrencinin yazdığı kodlarla uğraşmak, onu doğru düşünüp doğru kodları yazabilecek seviyeye getirmek, onu sıfırdan alıp A noktasından B noktasına çıkarmak gibi gayesi yoktur. Niteliğin yerine niceliğin/sayının/istatistiğin geçtiği bir kafayla bunu yapamazsınız.

Az ama nitelikli öğrencilerle, küçük yaşta bir ustanın yanına verilen çırak gibi çocuklarımızın ve gençlerimizin nitelikli bir öğrenim planından geçirilerek yukarıda bahsedilen girdabın içine düşmeden kendilerini yazılım geliştirme alanında sağlam ve köklü bir adım atmalarını istiyoruz.

Eğer kararınızı verdiyseniz başvuru formu bağlantısı aşağıdadır.
https://bit.ly/programlamakursu

Yararlanılan Kaynaklar

  1. Kurihara, A. Sasaki, A., Wakita, K., & Hosobe, H. (2015). A Programming Environment for Visual Block-Based Domain-Specitifc Languages. Procedia Computer Science, 62, 287-296
  2. Kuramdan Uygulamaya Programlama Öğretimi. Yasemin Gülbahar ve Hasan Karal (2019). Pegem Akademi Yayıncılık.
  3. https://tr.wikipedia.org/wiki/Zanaat

1 thought on “Genel Bilgiler”

Yorum bırakın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir