2013-2014 EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI
Bilgi BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ (BTY) Türkiye de orta eğitimde bilgisayar eğitimi, 1984 yılında kurumlara 1100 bilgisayarın alınmasıyla başlamıştır ve yıllar içerisinde kazanılan tecrübe ve birikimle günümüzde de devam etmektedir (Akgün M.ve Akgün İ.,2011). 2012-2013 eğitim öğretim yılında 4+4+4 olarak değişen eğitim sistemi ile 2007 yılından itibaren ilköğretim 1-8. Sınıflarda seçmeli olarak verilen Bilişim Teknolojileri dersi artık ortaokullarda (5, 6, 7, 8 sınıflar) yine seçmeli ders olarak Bilişim Teknolojileri ve Yazılım adı ile verilmektedir.
Bilgi BTY dersinin haftalık ders saati ikidir (Milli Eğitim Bakanlığı [MEB], Temmuz 2012). Dersin MEB tarafından yayımlanan öğretim programında belirlenen öğrenme alanlarının başlıkları şu şekildedir(milli Eğitim bakanlığı[meb], Eylül 2012). 1. Bilişim Okur-Yazarlığı 2. Bilişim Teknolojilerini Kullanarak İletişim Kurma, Bilgi Paylaşma ve Kendini İfade Etme 3. Araştırma, Bilgiyi Yapılandırma ve İşbirlikli Çalışma 4. Problem Çözme, Programlama ve Özgün Ürün Geliştirme
Bilgi Dersin içeriğinin hazırlanmasında, öğrencilerin durumuna göre, onları bulundukları düzeyden daha üst seviyeye çıkarmaları amacıyla, tercihlerin öğretmenlere bırakılması ve ders kitabının olmaması nedenleriyle öğrenme alanlarına ayrılan süreler değişiklik gösterebilir(meb, Eylül 2012). Ancak belirtilen öğrenme alanlarına göre hazırlanmış örnek bir yıllık plana göre Problem Çözme, Programlama ve Özgün Ürün Geliştirme alanına ayrılan süre bir eğitim öğretim yılında 11 haftadır(ortaokul, 2012).
Problem Bireylerin yaşadığı çevreye uyum sağlaması durumunda ortaya çıkan olumsuzluklar ve çatışmalar problem olarak değerlendirilir ve bu durumdaki birey ve grupların ortaya çıkan olumsuzluklar ve çatışmalarla yapacakları mücadeleye de problem çözme denir. Temel Problem çözme aşamaları; Problemin tanımlanması Problemin sebeplerinin belirlenmesi Çözüme ilişkin planlamanın yapılması Planların uygulanması Sonuçların gözden geçirilmesidir.
Örnek Problem Cansu nun bir gün içinde bir takım işleri yapması gerekmektedir. Örneğin; öğretmeni Cansu ya proje ödevi vermiş, annesi ise Cansu nun ev işlerinde kendisine yardımcı olmasını ve gelecek misafirler için kek yapmasını istemiştir. Ev de kek yapmak için ise bazı malzemeler alması gerekmektedir. Ayrıca arkadaşından okuldayken ödünç aldığı kitabı okuduktan sonra evine götüreceğine söz vermiştir. Bütün bunları ise bir gün içersinde hiçbirini unutmadan yapması gerekmektedir. Cansu nun bütün bunları unutmadan eksiksiz yapması için öncelikle ne yapması gerekir?
Örnek Problem Plan 13.00 Eve gel yemeğini ye. 13.30 Zeynep ten aldığın kitabı oku. 15.00 Zeynep e kitabı götür. 15.15 Dönerken marketten ; 5 yumurta, un, şeker al. 15.30 Keki yap 17.00 Proje ödevine başla. 19.00 Haberleri izle 21.00 Kitap oku. 22.00 Uyu
13.00 Plan 13.30 15.00. 15.15 15.30 17.00. 22.00 21.00 19.00
Bilgisayarcılara verilen problemler? İki sayıyı toplayan program Girilen bir sayının tek mi, çift mi olduğunu hesaplayan program Hesap makinesi Okulumuzu tanıtan bir web sitesi.
Bilgisayarcılar problemi çözmek için ne yaparlar? Problemi değerlendirir. Çözüm stratejisi geliştirir. (plan yapar) Bilgisayarcının problemi çözmek için oluşturduğu plana algoritma denir. İkiye ayrılır. İşlem adımları Akış Şeması
İşlem Adımları Algoritması Her hangi bir sorunun çözümü için izlenecek yolun adımlar halinde yazılmasıdır. Akış Şeması Algoritması Her hangi bir sorunun çözümü için izlenecek yolun adımlarının çizilmesidir.
Bilgisayar Problemi Girilen iki sayının toplamını alan programı yapınız. Bu programı yapmak için öncelikle programın planını, yani algoritmasını veya akış şemasını çizmek veya işlem adımlarını yapmak gerekir. Birlikte programın algoritmasının işlem adımlarını yazalım.
İki sayıyı toplayan algoritmanın işlem adımları 1. Adım: Başla 2. Adım: Birinci Sayıyı Al. 3. adıma git 3. Adım: Birinci sayıyı bir değişkene aktar.(birinci sayı= a1) 4. adıma git 4. Adım: İkinci Sayıyı Al. 5. adıma git 5. Adım: İkinci sayıyı bir değişkene aktar.(ikinci sayı= a2) 6. adıma git 6. Adım: Değişkenleri topla. (a1+a2) 7. adıma git 7. Adım: Sonucu ekrana yazdır. 8. adıma git. 8. Adım: Dur
Akış Şeması Şimdi iki sayıyı toplayan algoritmanın akış şeması algoritmasını çizelim. Bunun için öncelikle akış şemasında kullanılacak olan şekillerin ne anlam ifade ettiğini öğrenelim. İpucu: Öğreneceğimiz şekillerin anlamı tüm dünyada aynı anlamı ifade etmektedir.
Programa veri girişinin yapılacağını belirtmek için kullanılır. Akış Şeması Şekiller ve Anlamı Matematiksel işlem yapılacağını belirtmek için kullanılır. Değerin çıktısını yazdırmak için kullanılır. Karar verme aşamasında kullanılır. Programın başlangıcını ve bitişini belirtmek için kullanılır.
İki sayıyı toplayan algoritmanın akış şeması Başla Birinci sayıyı al. Birinci sayıyı değişkene aktar. Birinci sayı=a1 İkinci sayıyı al. İkinci sayıyı değişkene aktar. İkinci sayı=a2 Değişkenleri topla. (a1+a2) Sonucu Yazdır Dur
Algoritma Bilgisayarcının problemi çözmek için oluşturduğu plana algoritma denir. İkiye ayrılır. İşlem adımları Akış Şeması Akış Şeması Şekiller ve Anlamı Matematiksel işlem yapılacağını belirtmek için kullanılır. Değerin çıktısını yazdırmak için kullanılır. Karar verme aşamasında kullanılır. Programın başlangıcını ve bitişini belirtmek için kullanılır. Programa veri girişinin yapılacağını belirtmek için kullanılır.
İşlem adımları algoritması İki sayıyı toplayan algoritmalar Akış Şeması algoritması 1. Adım: Başla 2. Adım: Birinci Sayıyı Al. 3. adıma git 3. Adım: Birinci sayıyı bir değişkene aktar. (Birinci sayı= a1) 4. adıma git 4. Adım: İkinci Sayıyı Al. 5. adıma git Başla Birinci sayıyı al. Birinci sayıyı değişkene aktar. Birinci sayı=a1 İkinci sayıyı al. 5. Adım: İkinci sayıyı bir değişkene aktar. (İkinci sayı= a2) 6.adıma git 6. Adım: Değişkenleri topla. (a1+a2) 7. adıma git 7. Adım: Sonucu ekrana yazdır. 8. adıma git. 8. Adım: Dur İkinci sayıyı değişkene aktar. İkinci sayı=a2 Değişkenleri topla. (a1+a2) Sonucu Yazdır Dur
Ödev Siz de 3 sayının toplamını yapan programın algoritmalarını çiziniz. (İşlem adımları ve akış şeması)
İşlem adımları algoritması 1. Adım: Başla üç sayıyı toplayan algoritmalar Akış Şeması algoritması 2. Adım: Birinci Sayıyı Al. 3. adıma git 3. Adım: Birinci sayıyı bir değişkene aktar. (Birinci sayı= a1) 4. adıma git 4. Adım: İkinci Sayıyı Al. 5. adıma git 5. Adım: İkinci sayıyı bir değişkene aktar. (İkinci sayı= a2) 6.adıma git 6. Adım: Üçüncü Sayıyı Al. 7. adıma git 7. Adım: Üçüncü sayıyı bir değişkene aktar. (Üçüncü sayı= a3) 8.adıma git 8. Adım: Değişkenleri topla. (a1+a2+a3) 9. adıma git 9. Adım: Sonucu ekrana yazdır. 10. adıma git. 10. Adım: Dur Başla Birinci sayıyı al. Birinci sayıyı değişkene aktar. (Birinci sayı=a1) İkinci sayıyı al. İkinci sayıyı değişkene aktar. (İkinci sayı=a2) Üçüncü sayıyı al. Üçüncü sayıyı değişkene aktar. (Üçüncü sayı=a3) Değişkenleri topla. (A1+A2+A3) Sonucu Yazdır Dur
Bir sayının tek mi çift mi olduğuna söyleyen program Girilen bir sayının tek mi çift mi olduğunu söyleyen programın işlem adımlarını ve akış şemasını yapalım.
İşlem adımları algoritması 1. Adım: Başla 2. Adım: Sayıyı Al. 3. adıma git Tek mi, Çift mi? Akış Şeması algoritması Başla Sayıyı al. 3. Adım: Sayıyı bir değişkene aktar. (sayı= a1) 4. adıma git Sayıyı değişkene aktar. (Sayı=A1) 4. Adım: Sayının tek mi çift mi olduğuna karar ver. Tek ise adım 5 e, çiftse adım 6 ya git 5. Adım: Ekrana tek yazdır. 7. adıma git Tekse Sayı Tek mi Çift mi? Çiftse 6. Adım: Ekrana çift yazdır. 7. adıma git Tek yaz. Çift yaz. 7. Adım: Dur Dur
TEK Mİ ÇİFT Mİ? ÇARPMA İŞLEMİ Siz de alınan bir sayının tek mi çift mi olduğuna karar veren ve eğer tek ise 2 ile çarpan, çift ise 3 ile çarpan programın algoritmalarını yapınız.
Tek ise 2 ile, çift ise 3 ile çarpan algoritmalar İşlem adımları algoritması Akış Şeması algoritması 1. Adım: Başla 2. Adım: Sayıyı Al. 3. adıma git 3. Adım: Sayıyı bir değişkene aktar. (sayı= a1) 4. adıma git 4. Adım: Sayının tek mi çift mi olduğuna karar ver. Tek ise adım 5 e, çiftse adım 6 ya git 5. Adım: Sayıyı 2 ile çarp.(a1*2) Adım 7 ye git 6. Adım: Sayıyı 3 ile çarp.(a1*3) Adım 7 e git 7. Adım: Çarpım Sonucunu yazdır. 8. adıma git 8. Adım: Dur Tekse Başla Sayıyı al. Sayıyı değişkene aktar. (Sayı=A1) Sayı Tek mi Çift mi? Çiftse 2 ile çarp 3 ile çarp Çarpım sonucunu yazdır Dur
Yaş hesaplama Doğum tarihi girildiğinde yaşı hesaplayan programın algoritmalarını yapınız.
İşlem adımları algoritması Yaş Hesaplama Algoritmaları Akış Şeması algoritması 1. Adım: Başla 2. Adım: Doğum yılını gir. 3. Adım: Doğum yılını bir değişkene aktar. (Doğum yılı= a1) 4. adıma git 4. Adım: Doğum yılını 2014 ten çıkar. (2014-A1) 5. adıma git 5. Adım: Sonucu ekrana yazdır. 6. adıma git. 6. Adım: Dur Başla Doğum yılını gir Doğum yılını değişkene aktar. (Doğum yılı=a1) Doğum yılını 2014 ten çıkar. Sonucu yaz Dur
PROGRAMLAMA DİLLERİ Bilindiği gibi, programlama dilleri yazılımın en önemli öğelerinden biridir. Programlama dili; özetle, programcının yapmak istediği şeyleri yani bir algoritmayı bilgisayara anlatması olarak tanımlanabilir. Günümüzde kullanılan pek çok programlama dili vardır. Bu diller genel olarak bazı sınıflara ayrılırlar ve belli başlı sınıflar şu şekildedir.
PROGRAMLAMA DİLLERİ Yordamsal (Procedural) Diller (Algol, C, Pascal, Matlab ) Nesneye dayalı (Object Based / Oriented) Diller (Ada, Smalltalk, C++, Java, C#...) Fonksiyonel (Functional) Diller (Lisp, Haskell,... ) Mantıksal (Logic) Diller (Prolog,...)
PROGRAMLAMA DİLLERİ Programlama dillerinin gösterdiği özelliklere göre farklı amaçlar için farklı programlama dillerinin kullanılması daha uygundur. Uygulama alanlarına göre programlama dillerinin sınıflandırılması ise aşağıdaki gibi yapılabilir Bilimsel ve mühendislik dilleri : (Fortran, C, Pascal, Java..) Sistem programlama dilleri : (C, Assembler..) Veri tabanı dilleri : (Paradox, Dbase, Sql..) Yapay zeka dilleri : (Prolog, LISP..) Genel amaçlı : (C, Pascal, Java, Basic..)
PROGRAMLAMA DİLLERİ Görsel programlama dilleri ise, program kodlarının bir bölümünün ya da tamamının resim ve grafiksel öğeler gibi görsel biçimde bazı araçlar ile yapıldığı dillerdir ve bazen görselliğin ileri boyutlarında kod bulunmayabilir. Visual basic, Access gibi görsel programlama dilleri yaygın olarak kullanılmaktadır. Günümüzde yazılım sektöründe en çok kullanılan diller olarak örnek verilebilecek Visual Basic, C++, C# ve Java gibi nesne tabanlı programlama dilleri öğrenciler tarafından öğrenilmesi zor olan diller olarak görülmektedir
PROGRAMLAMA DİLLERİ Fakat bu durumun önüne geçebilmek ve yazılımı sevdirmek amacıyla özellikle gelişmiş ülkelerde çocuklar ve programlamaya yeni başlayanlar için hazırlanmış bazı araçlar bulunmaktadır. Örnek olarak Small Basic, Lego Mindstorms, Scratch ve Alice programlarını söyleyebiliriz. Türkiye ve ortaokul birinci sınıf öğrencileri göz önünde bulundurulduğu zaman programlama dillerinde aranacak en önemli özelliğin dil desteği olduğu düşünülebilir. Hem internet sitesi hem de program ara yüzü dikkate alındığında belirtilen araçlar içerisinde dil desteğini sağlayan aracın Scratch olduğu görülebilir. Aynı zamandamalan ve Leitner (2007) Scratch programlama dilini, Java gibi dillere geçiş kapısı olarak gördüklerini belirtmişlerdir.
SCRATCH VE PROGRAMLAMA ORTAMI ÖZELLİKLERİ Scratch in sözlükteki anlamı çizmek ve tırmalamaktır. Ancak Scratch, Disk Jokey(DJ) olarak isimlendirilen kişilerin taş plakları çalarken disk üzerinde ellerini hareket ettirmeleriyle şarkı aralarında oluşturdukları efektler için de kullanılmaktadır. Dj ler oluşturdukları efektleri birleştirirler ve böylece çaldıkları bir şarkıdan yepyeni bir şarkı üretebilirler. Programı geliştirenler bu yaratıcılıktan esinlenerek programlama ortamına bu adı vermişlerdir. Scratch 2003 yılında MIT Üniversitesi Medya Laboratuvarı tarafından geliştirilmeye başlanan ve 2007 yılında tüm dünyada yaklaşık 40 dil desteği ile yayımlanan görsel birprogramlama ortamıdır.
SCRATCH VE PROGRAMLAMA ORTAMI ÖZELLİKLERİ Programının internet sitesinde 2012 Aralık ayında, kayıtlı toplam 1.326.234 üye ve 2.959.974 proje vardır ve istatistiklere göre Scratch in her yaş grubundan kullanıcısı mevcuttur. Ancak yoğun olarak aktivite gerçekleştiren yaş grubu 9-18 yaş aralığıdır. Çocuklar, programı programlama ortamının kendi web adresinden ücretsiz olarak indirilebilir ve hazırladıkları projeleri bu siteden paylaşabilirler. Yapılan projeler dil düğmesi ile desteklenen 42 dilden birine çevrilebildiği için çocuklar herhangi bir dil engeline takılmadan iletişimlerini sürdürebilirler.
SCRATCH VE PROGRAMLAMA ORTAMI ÖZELLİKLERİ Scratch tasarım odaklı bir öğrenme yaklaşımını temsil derken aynı zamanda oyun ve öğrenmeyi bir araya getirir(çelik, 2011). Oyun ve öğrenme bir araya geldiği zaman buna, eğlenceli öğrenme denebilir ve bu durumun sadece çocuklar için değil her yaştan insan için ilgi çekici olacağı düşünülebilir. Scratch ile animasyonlar, hikâyeler ve oyunlar; ses, resim ve müzik gibi özellikler eklenerek birçok proje yapılabilir. Yüksek seviyeli dillerdeki kod yazma, Scratch ın kod blokları ile farklı bir şekil almıştır. Scratch ile öğrenciler kod yazmak yerine kod bloklarını sürükle bırak yöntemiyle birleştirip programlarını oluştururlar.
SCRATCH VE PROGRAMLAMA ORTAMI ÖZELLİKLERİ Kod bloklarının hepsi, doğru bir şekilde yerleştirilebilmesi için birbirlerine entegre olabilecek şekilde oluşturulduğundan dolayı, orta seviyeli dillerdeki söz dizimi (syntax) hataları engellenmektedir. Ayrıca Scratch ile öğrenciler, bazı kod bloklarını program alanına sürükleyip bıraktıktan sonra bir kere o kod bloğuna tıklandığında sahnede kod bloğunun ne işe yaradığını görerek öğrenebilirler.