• Sonuç bulunamadı

Bölüm 10

N/A
N/A
Protected

Academic year: 2021

Share "Bölüm 10"

Copied!
16
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Bölüm 10

Metin Tabanlı Programlama

Dr. Öğr. Üyesi Celal Murat KANDEMİR

Eskişehir Osmangazi Üniversitesi Eğitim Fakültesi

(2)

Amaçlar

• Öğretim programında programlama öğretimine yer verilirken dikkat edilmesi gereken konuları açıklayabilmek,

• Programlama öğretiminde kullanılacak metin tabanlı programlama ortamlarının seçiminde ve içeriklerin üretilmesinde kullanılacak

yaklaşımları sıralayabilmek,

• Eğitsel metin tabanlı programlama ortamlarının sahip olması gereken ortak özellikleri listeleyebilmek,

(3)

Konu Başlıkları

• Giriş

• Bilgi İşlemsel Düşünme

• Bilişsel Gelişim Dönemleri Ve Programlama Eğitimi

• Blok Tabanli Programlamadan Metin Tabanli Programlamaya Geçiş

• Metin Tabanli Eğitsel Programlama Dillerinin Seçimi

• Metin Tabanli Eğitsel Programlama Dilleri

• Etkinlikler

(4)

Giriş

• Erken yaşta programlama öğretiminin önemi

• Günlük yaşamlarında tüm öğrenenler için yararlı olmak,

• Yeni teknoloji yaratmak,

• Mevcut teknoloji üzerinde geliştirme ve düzeltme yapmak,

• Yenilikçi ve girişimci nesiller yetiştirebilmek,

• Genç öğrenenlerin düşünme, bilgi işleme ve iletişim kurmada avantaj elde etmelerine yardımcı olmak,

(5)

Bilişsel Gelişim Dönemleri Ve Programlama Eğitimi 1/2

• Genel olarak temel programlama becerilerinin kazandırılması temel bilişim konuları ile ilişkilendirilerek öğretim programı içerisinde

sunulmaktadır.

• Özenle seçilmiş problemler ve iyi düşünülmüş pedagojik yaklaşımlar bilgi işlemsel düşünmenin gelişmesine doğrudan öncülük

edebilmektedir.

(6)

Bilişsel Gelişim Dönemleri Ve Programlama Eğitimi 2/2

• Piaget’nin bilişsel gelişim kuramına göre somut işlemler dönemi olarak isimlendirilen 7-11 yaş aralığındaki dönemde bir çocuk toplama, çıkarma, çarpma ve bölme matematiksel işlemlerini öğrenebilir ve somut nesneleri sınıflandırabilir.

• Soyut işlemler dönemi olarak isimlendirilen 11 yaş üzeri dönem ise mantıksal düşünme ve akıl yürütmenin ortaya çıkmasıyla karakterize edilmiştir.

(7)

Piaget bilişsel gelişim dönemleri

Bilişsel Dönem Yaklaşık Yaş Aralığı

Temel Özellikler

Duyusal Motor 0 - 2 Duyuları ve hareketleri ile dış dünyayı deneyimler. Nesneleri el ile kontrol ederek çevre ile etkileşime girer.

İşlem Öncesi 2 – 6/7 Algılama düşünme üzerinde egemendir. Fakat nesneleri kelime ve görüntüler ile ifade edebilir. Sembolik işlevleri yerine getirmede daha fazla yetenekli hale gelir. Mantıksal akıl yürütmekten ziyade sezgisel düşünme becersine sahiptir.

Somut İşlemler 7 11/12

Mantıksal akıl yürütme sadece gerçek veya görülebilir nesnelere uygulanabilir.

Soyut İşlemler 12 ve üzeri

Birey, potansiyel olaylar veya soyut fikirler hakkında mantıklı düşünebilir.

(8)

Bilişsel dönemlere göre

programlama öğretimi etkinlik önerileri

Bilişsel Dönem Yaklaşık Yaş Aralığı

Programlama Öğretimi Etkinlik Önerileri İşlem

Öncesi

2 – 6/7 Mikro dünyalar üzerindeki aracı (agent) nesnelerin (kukla, kaplumbağa, eğitsel robot vb.) doğrudan kontrol edilmesi.

Somut İşlemler

7– 11/12 Mikro dünyalar üzerindeki aracı (agent) nesnelerin (kukla, kaplumbağa, eğitsel robot vb.) dolaylı kontrol edilmesi ile birlikte bazı temel programlama kavramları (sıralama, döngüler ve koşul kontrolü) kullanabileceği statik ve dinamik senaryolar.

Soyut 12 ve Fonksiyonlar ve parametreler gibi gelişmiş temel programlama

(9)

Günlük hayatta karşılaşılan problemlerin çözümü ve programlama ile ilgili bilgi işlemsel düşünme becerileri

Bilgi İşlemsel Düşünme Becerisi Günlük Hayat Örnekleri Program Örneği Sıralama: Bir görevi tamamlamak için

doğru sıralanmış komut listesi oluşturma.

Birine bir yerden başka bir yere nasıl gidileceğini açıklamak.

Komutlar doğru sırada konur ve böylece bilgisayar özel bir görevi tamamlayabilir.

Eylemlerin bölünmesi: Bir olayın daha küçük parçalara ayrılması.

Olayların daha küçük adımları içerdiğini anlama. Örneğin “giyinme” eylemi çorap giyme, pantolan giyme, gömlek giyme vb.

adımları içerir.

Bir karakterin bilgisayar ekranı boyunca hareket etmesi dönme ve ileri gitme hareketlerinin bir birleşimidir.

Döngü: Bir komut kümesini birden fazla sayıda tekrarlama.

Alkışlama eyleminde eller tekrar tekrar biraraya getirilir ve birbirinden ayrılır.

Bir kod parçasının belirli bir sayıda

tekrarlanması. Örneğin bir kare çizmek için 4 kez ileri hareket eder ve 90 derece sağa (ya da sola) dönülür.

Olay-güdümlü programlama: Bir durumun başka bir duruma neden olduğunun

tanımlanması.

Gerçekleştirilen her gündelik hareket bir olay tarafından tetiklenir. Eğer yağmur yağıyor ise şemsiye açılır.

Başka bir olaya cevap olarak oluşan bir kod yazılması. Örneğin, boşluk çubuğuna ya da ok tuşlarına basıldığında karakterlerin ekranda hareket ederler.

Mesaj İletme: Kod ya da karakterler

arasında gerçekleşen eylemlerin koordine edilmesi.

Günlük hayattaki etkileşimlerde yer alan mesajlar görülebilir ya da duyulabilir. Kırımızı ışık otomobillerin durması gerektiğini gösterir.

Bir nesnenin bir olay sonrasında mesaj

göndermesi; bir başka nesnenin ise bu mesajı aldığında harekete geçmesi için programlanır.

(10)

• Metin tabanlı programlama dillerine geçildiğinde söz dizim kurallarına daha az dikkat edilmesi,

• Metin tabanlı programlama dillerinin derlenmesi esnasında oluşan hataların tespit edilmesinde ve düzeltilmesinde zorluk yaşanması,

• Blok tabanlı programlama dilleri ile metin tabanlı programlama dilleri arasında kuvvetli bir bağ kurulamaması,

Blok Tabanlı Programlamadan Metin Tabanlı

Programlamaya Geçişte Karşılaşılabilecek Sorunlar 1/2

(11)

Blok Tabanlı Programlamadan Metin Tabanlı

Programlamaya Geçişte Karşılaşılabilecek Sorunlar 2/2

• Blok tabanlı programlama dilleri ile yazılan uygulamaların sadece kendi platformları ya da web sayfalarında çalışabilmesi,

• Bilgisayar bilimcilerin karşısında olduğu farklı davranış biçimlerinin kazanılabilmesi,

• Blok tabanlı programlama dillerinin gerçek programlama dilleri olarak görülmemesi.

(12)

Metin Tabanlı Eğitsel Programlama Dillerinin Seçimi 1/2

• Programlama öğretimi için programlama ortamları ve dillerinin ihtiyaç duyduğu öğrenme gereksinimleri,

• Kullanılan programlama dili ve geliştirme ortamı, temel programlama kavramlarını ve yapılarını içermelidir.

• Programlama dili yeni programlama kavramlarını temsil etmeli ve programlama için gerekli olan becerileri oluşturmalıdır.

• Eğitimsel programlama dillerinin yapısı, modern programlama gereksinimlerini karşılamalıdır.

Bunun anlamı bir programlama dilinin temel prensiplerini öğrenilirse, başka bir programlama dilinin çok hızlı öğrenileceğidir.

(13)

Metin Tabanlı Eğitsel Programlama Dillerinin Seçimi 2/2

• “İdeal” programlama dili seçiminde sıralanan bazı önemli bileşenler,

• Dil, açık ve sezgisel bir söz dizimine sahip olmalıdır.

• Dil, tüm ortak söz dizimsel ve anlamsal yapıları kapsamalıdır.

• Dil, hatalar gibi inceleme sonuçlarının ele alınmasında tutarlı olmalı ve anlamlı hata mesajları vermelidir.

• Dil, aşırı basit ve öz ya da fazla ayrıntıya sahip olmamalıdır.

• Dil özelleştirilebilir olmalı ve zamanla değişen ihtiyaçlara izin verecek esnekliği taşımalıdır.

(14)

Metin Tabanlı Eğitsel Programlama Dilleri

• Codemonkey ve CodeCombat Çevrimiçi Programlama Ortamları

• PencilCode Çevrimiçi Hibrit Geliştirme Ortamı

• Logo Programlama Dili ve Kaplumbağa Grafikleri

• Microsoft Small Basic Programlama Ortamı

• Python Programlama Dili

• Greenfoot Programlama Ortamı

(15)

Sonuç

• Bilgisayar bilimleri ilkokuldan itibaren öğretim programları ile bütünleştirilmelidir.

• Bilgisayar programlama etkinlikleri, öğretmenlerin A-12 sınıflarında sorumlu

tutuldukları matematik, okuryazarlık ve fen alanlarındaki kazanımları da ele alacak şekilde yapılandırılmalıdır.

• Temel programlama becerilerinin, öğrenenlerin bir aracıyı kontrol etme veya

gelecekte bu aracının davranışlarını planlama gibi belirli problem çözme görevlerini yerine getirdikleri faaliyetler üzerinden kazandırılmaya çalışılmaktadır.

• Bilgi işlemsel düşünme ve problem çözme ve çözümleri programlayabilme

becerilerini kazandırmak için kademeli olarak özel etkinlikler planlanması, yavaş yavaş gerçek bir soyutlama, problemleri çözümleme ve çözümleri genelleme olanağı sağlayacaktır.

(16)

Etkinlikler ve Diğer Kaynaklar İçin Bağlantılar

• Etkinlik kaynak kodları için github adresi:

http://bit.ly/2TNv4Hf

• Etkinlik eğitsel videoları adresi:

http://bit.ly/2HDWPvz

Referanslar

Benzer Belgeler

Yani siz referans türünden bir değişken tanımladığınızda değişkenin kendisi stack bellek bölgesinde tutulacak ancak değer olarak nesnenin heap bellek bölgesindeki

Konektörler ve Klemensler: Robotun yapısında kullanılan dc, servo veya adım motor gibi elekt- romekanik ve robotik kontrol kartları, algılayıcılar, güç kaynakları ve

[r]

Nygaard tarafından Algol 60’ın bir üst sürümü olarak nesne yönelimli programlama yapmak için tasarlanan ilk dil oldu. Simula adından da anlaşılacağı gibi simülasyon

Döngü Örneği: Engel olan uzaklığı tekrar ölçecek 20 cm’den büyük ise hızını 100 yaparak 1 saniye boyunca yine engele

“PLC Programming” seçene ği ile projede kullanılacak S7-1200 PLC”nin CPU modeli seçilerek sisteme eklenebilir.... Ladder diyagramı ile

Daha sonra, AsalKontrol altyordamı i değerini alır ve i’nin bir asal sayı olup olmadığını hesaplar. Sonuç, daha sonra altyordamın

Sanal üst sınıf kullanıldığında ise en alt seviyedeki sınıfın (Asistan) dahi en üst seviyedeki sınıfın (Birey) yapıcı fonksiyonunu çağırması