WebALGO: Algoritma Öğreniminde Internet Tabanlı Bir Eğitimsel Materyal Geliştirilmesi



Benzer belgeler
Anahtar Sözcükler: Algoritmalar, bilgisayar programlama, internet tabanlı eğitim, bilgisayar eğitimi, çalıştırma tablosu

EM205 26/9/2014. Programlamaya giriş Algoritmalar. Amaçlar

LOJĠK KAPILAR ĠÇĠN BĠR EĞĠTĠM ARACI AN EDUCATIONAL TOOL FOR LOGIC GATES

MÜFREDAT DERS LİSTESİ

Dr.Öğr.Üyesi HACER ÖZYURT

SOFTWARE ENGINEERING PRACTICE Ders İzlence Formu. Kodu: CSE401 Dersin Adı: SOFTWARE ENGINEERING PRACTICE Toplam Saat

DERS BİLGİLERİ Haftalık Dersin Adı Kodu Yıl Yarıyıl TUL Saati Kredi AKTS

Program AkıĢ Kontrol Yapıları

ANKARA ÜNİVERSİTESİ A ÖĞRENCİ İŞLERİ DAİRE BAŞKANLIĞI

Fundamentals of Object-Oriented Programming (COMPE 723) Ders Detayları

EĞİTİM Doktora Orta Doğu Teknik Üniversitesi, Ankara Eğitim Fakültesi, Bilgisayar Öğretimi ve Teknolojileri Bölümü

GEZİNME ADAPTASYONU: NEDEN VE NASIL?

SOFTWARE ENGINEERING Ders İzlence Formu. Kodu:CSE400 Dersin Adı: SOFTWARE ENGINEERING Toplam Saat

MÜHENDİSLİK FAKÜLTESİ / ENSTİTÜSÜ / YÜKSEKOKULU BİLİŞİM SİSTEMLERİ MÜHENDİSLİĞİ BÖLÜMÜ /ABD LİSANS PROGRAMI - 2 ( yılı öncesinde birinci

PROGRAMLAMA ALGORĠTMA

EĞİTİM-ÖĞRETİM YILI MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ (İNGİLİZCE) BÖLÜMÜ DERS PROGRAMINDA YAPILAN DEĞİŞİKLİKLER

Yrd.Doç.Dr. ÖZCAN ÖZYURT

Arş. Gör. Raziye SANCAR

ANKARA ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ

Bilgisayar Programlama Öğretiminde Yapay Zekâ Tabanlı Bir Yazılım Sisteminin GeliĢtirilmesi ve Değerlendirilmesi

Görev Unvanı Alan Üniversite Yıl Prof. Dr. Elek.-Eln Müh. Çukurova Üniversitesi Eylül 2014

Yrd.Doç.Dr. Özlem Çakır

LCD Panelli Etkileşimli Tahtanın Özel Eğitim Uygulama Okullarında Kullanımı

BMT 101 Algoritma ve Programlama I 3. Hafta. Yük. Müh. Köksal GÜNDOĞDU 1

Nesne Tabanlı Programlama (COMPE 225) Ders Detayları

TEMEL BİLGİTEKNOLOJİLERİ

Yönetim Bilişim Sistemleri (Karma) - 1. yarıyıl Hukukun Temelleri Fundamentals of Law TR

Algoritmalar ve Programlama. Algoritma

Açık ve Uzaktan Öğretimde Farklılaştırılmış Öğretim. Hasan UÇAR, Bilecik Şeyh Edebali Üniversitesi Doç. Dr. Alper Tolga KUMTEPE, Anadolu Üniversitesi

Proje Yürütücüsü: Doç. Dr. Selahattin ARSLAN (KTÜ, Fatih Eğitim Fakültesi)

DOKUZ EYLUL UNIVERSITY FACULTY OF ENGINEERING OFFICE OF THE DEAN COURSE / MODULE / BLOCK DETAILS ACADEMIC YEAR / SEMESTER. Course Code: IND 4912

4. Bölüm Programlamaya Giriş

Uzaktan Eğitim ve E-Öğrenme (ISE 424) Ders Detayları

DOKUZ EYLUL UNIVERSITY FACULTY OF ENGINEERING OFFICE OF THE DEAN COURSE / MODULE / BLOCK DETAILS ACADEMIC YEAR / SEMESTER. Course Code: CME 4002

SİNYAL TEMELLERİ İÇİN BİR YAZILIMSAL EĞİTİM ARACI TASARIMI A SOFTWARE EDUCATIONAL MATERIAL ON SIGNAL FUNDAMENTALS

Educational On-line Programmes for Teachers and Students

BİLİŞİM SUÇLARIYLA MÜCADELEDE ÜNİVERSİTE VE EMNİYET İŞBİRLİĞİ: BİR EĞİTİM SÜRECİ

- Yurtiçinde ULUSLARARASI Bilimsel Toplantılarda Sunulan ve Bilimsel Toplantı Kitabında Yayınlanan Bildiriler

ANKARA ÜNİVERSİTESİ A ÖĞRENCİ İŞLERİ DAİRE BAŞKANLIĞI

Yrd.Doç.Dr. ÖZEL SEBETCİ

DERS BİLGİ FORMU DERS BİLGİLERİ. Türü Zorunlu/ Seçmeli DERS PLANI

Bilgisayar Mühendisliğinin Temelleri (COMPE 100) Ders Detayları

Mobil Yazılım Mühendisliği (SE 570) Ders Detayları

Ders Tanıtım Formu (Türkçe) Form 2a: Ders Adı Kodu Yarıyıl T+U Saat Kredi AKTS

ÖZGEÇMİŞ VE ESERLER LİSTESİ

Bilgisayarlara ve Programlamaya Giriş (COMPE 101) Ders Detayları

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 3. Bölüm Veri Tipleri ve Değişkenler

Object Oriented Programming Ders İzlence Formu

Kitlesel Açık Çevrimiçi Derslerde tasarımın önemi (editöre mektup)

T.C. ADANA BİLİM VE TEKNOLOJİ ÜNİVERSİTESİ ENDÜSTRİ MÜHENDİSLİĞİ BÖLÜM DERS BİLDİRİM FORMU (%100 İNGİLİZCE PROGRAM)

SOFTWARE ENGINEERS EDUCATION SOFTWARE REQUIREMENTS/ INSPECTION RESEARCH FINANCIAL INFORMATION SYSTEMS DISASTER MANAGEMENT INFORMATION SYSTEMS

Nesne Tabanlı Programlama (COMPE 225) Ders Detayları

Hansel zeki bir çocukmuģ. Sabah ormana doğru yürürlerken, akģam yemeğinde cebine sakladığı kuru ekmeğin kırıntılarını (yere iz bırakıp kaybolmamak ve

Dersin Kodu Dersin Adı Dersin Türü Yıl Yarıyıl AKTS

Sistem Modelleme ve Simülasyon (SE 360) Ders Detayları

Arş. Gör. Dr. Mücahit KÖSE

Eğitim ve Öğretim Araştırmaları Dergisi Journal of Research in Education and Teaching Kasım 2017 Cilt: 6 Sayı: 4 ISSN:

YÖNETİM BİLİŞİM SİSTEMLERİ BÖLÜMÜ YENİ DERS MÜFREDATI (1) FAKÜLTESİ: İŞLETME FAKÜLTESİ / BUSINESS SCHOOL

T.C. ERCİYES ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ EĞİTİM ÖĞRETİM YILI DERS KATALOĞU

Dersin Türü (Course Type) Zorunlu (Compulsory)[Χ] Seçmeli (Elective) [ ]

Bilgisayar Programlama (COMPE 102) Ders Detayları

BİLİŞİM TEKNOLOJİLERİ ALANI THE INFORMATION TECHNOLOGIES DEPARTMENT

Eğitim ve Öğretim Araştırmaları Dergisi Journal of Research in Education and Teaching Şubat 2017 Cilt: 6 Sayı: 1 Makale No: 04 ISSN:

Bilgisayar Oyunları ve Simulasyon (COMPE 376) Ders Detayları

ONLINE EĞİTİMLER. Zehra SAYIN etwinning Uzaktan Eğitim Sorumlusu Aralık 2015 etwinning 6. Ulusal Konferansı Antalya

Ankara Üniversitesi, Eğitim Bilimleri Enstitüsü, Bilgisayar ve Öğretim Teknolojileri Eğitimi Anabilim Dalı, Eğitim Teknolojisi Programı.

ÖZGEÇMİŞ. Derece Alan Üniversite Yıl. Y. Lisans Matematik Eğitimi University of Warwick 2010 Y. Lisans Matematik Eğitimi University of Cambridge 2012

PROFESSIONAL DEVELOPMENT POLICY OPTIONS

DOKUZ EYLUL UNIVERSITY FACULTY OF ENGINEERING OFFICE OF THE DEAN COURSE / MODULE / BLOCK DETAILS ACADEMIC YEAR / SEMESTER

ÖZGEÇMİŞ. 1. Adı Soyadı : Birim BALCI 2. Doğum Tarihi : Unvanı : Yrd. Doç. Dr. 4. Öğrenim Durumu: Derece Alan Üniversite Yıl Lisans

Computer Networks Ders İzlence Formu

Düzenlenmesi, Program Yazmak ve Çalıştırmak. Alt Programlar, Modüller ve Arşiv. Fonksiyonları

EĞİTİM ÖĞRETİM MÜNEVVER ÖZTÜRK ORTAOKULU II. DÖNEM BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ DERS NOTLARI

BENİM DÜNYAM ÇOCUK OYUNU: BİR MOBİL UYGULAMA

ALGORİTMA TASARIMI VE SCRATCH UYGULAMASI

Kitap Tanıtımı: İlköğretimde Kaynaştırma

EBG101 PROGRAMLAMA TEMELLERİ VE ALGORİTMA

DURSUN AKASLAN ARAŞTIRMA GÖREVLİSİ DOKTOR

Yazılım Mühendisliğinin Temelleri (SE 100) Ders Detayları

Uzaktan Eğitim ve E-Öğrenme

Hacer ÖZYURT¹, Özcan ÖZYURT 2, Hasan KARAL 3

Bilgisayar Temelli Eğitsel Oyunların Müşteri Merkezli (İhtiyaca Cevap Verici) Değerlendirme Yaklaşımına Göre Değerlendirilmesi

Yaz.Müh.Ders Notları #6 1

COURSES OFFERED FOR ERASMUS INCOMING STUDENTS

Mühendislik Fakültesi Elektrik-Elektronik Mühendisliği C Programlama 7. Bölüm Metot Tanımlama ve Kullanma

BİLGİ VE BELGE YÖNETİMİ BÖLÜMÜ LİSANS EĞİTİM BAHAR DÖNEMİ PROGRAMI

İTÜ DERS KATALOG FORMU (COURSE CATALOGUE FORM)

Bilgi Sistemleri Tasarımı (SE 503) Ders Detayları

Öğrenciler analiz programları hakkında bilgi sahibi olurlar

T.C. MALTEPE ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ YAZILIM MÜHENDİSLİĞİ LİSANS PROGRAMI Bahar Yarıyılı

Eğitim ve Öğretim Araştırmaları Dergisi Journal of Research in Education and Teaching Kasım 2017 Cilt: 6 Sayı: 4 ISSN:

Bilgisayar Mühendisliğine Giriş (COMPE 111) Ders Detayları

HESAP TABLOSU PROGRAMLARI

Yard. Doç. Dr. İrfan DELİ. Matematik

Bulut Bilişim (ISE 514) Ders Detayları

Veritabanı Tasarım ve Yönetimi (COMPE 341) Ders Detayları

Nesneye Dayalı Analiz ve Tasarım (SE 321) Ders Detayları

PROBLEM ÇÖZME PROGRAMLAMA ve ÖZGÜN ÜRÜN GELİŞTİRME

R. Orçun Madran & Yasemin Gülbahar BAŞKENT ÜNİVERSİTESİ

A. SCI ve SCIE Kapsamındaki Yayınlar

Transkript:

WebALGO: Algoritma Öğreniminde Internet Tabanlı Bir Eğitimsel Materyal Geliştirilmesi Utku Köse 1 1 UĢak Üniversitesi, Bilgisayar Bilimleri Uygulama ve AraĢtırma Merkezi, UĢak utku.kose@usak.edu.tr Özet: Genel olarak bu çalıģmanın amacı, bilgisayar programlama öğreniminde kritik öneme sahip olan algoritma kavramının anlaģılması için kullanılabilen, Internet tabanlı bir eğitimsel materyali tanıtmak ve değerlendirmektir. Öğrencilere çeģitli zaman aralıklarıyla Internet üzerinden algoritma problemleri sunan bu sistemde, tasarlanan bilgisayar algoritmalarının çalıģmasını test etmek amacıyla, adım adım çalıģtırma yaklaģımına dayalı, ÇalıĢtırma Tablosu adı verilen, basit ancak etkin bir tablo yapısı kullanılmaktadır. Daha önce öğrencilerin ilgisini çekmesi nedeniyle Web ortamına taģınmıģ olan ÇalıĢtırma Tablosu yaklaģımı üzerine kurulu bu eğitimsel materyal, verilen bir algoritmanın çözülmesi istenen problemi gerçekten çözüp çözmediğinin test edilmesini sağlamaktadır. Algoritmaların sağlamasına yönelik bu test süreci sayesinde bireyler, algoritmik düģünce mantığı ve algoritma tasarımına yönelik bilgi ve becerileri pekiģtirebilmektedir. Anahtar Sözcükler: algoritmalar, bilgisayar programlama, internet tabanlı eğitim, bilgisayar eğitimi, çalıģtırma tablosu WebALGO: Development of an Internet Based Educational Material on Learning Algorithm Abstract: Generally objective of this work is to introduce and evaluate an Internet based educational material that can be used for understanding the algorithm concept, which has a critical importance on learning computer programming. In this system, which provides algorithm problems to students in several time periods over Internet, a simple but effective table structure, which is called as Running Table and based on step-by-step running approach, is used in order to test working of designed computer algorithms. With this educational material on Running Table approach, which has taken students attract, it is possible to test an algorithm if it can solve a specific problem really or not. Thanks to this test process, individuals can consolidate their knowledge and abilities in the sense of algorithmic thinking logic and algorithm design. Keywords: algorithms, computer programming, internet based education computer education, running table

1. Giriş BiliĢim Çağı nın gereği olarak, bilgisayar odaklı birçok farklı bilgi ve becerinin etkin bir Ģekilde elde edilmesi oldukça önemlidir. Özellikle bilgisayar odaklı çalıģmalarda istendik amaçlara ulaģmak için bazı becerilerin bilinmesi daha fazla önem kazanmaktadır. Bilgisayar programlama, özellikle Bilgisayar Bilimleri nde ön planda olan, bilgisayar donanım bileģenlerinin ve genel anlamda bilgisayar tabanlı sistemlerin isteklerimiz doğrultusunda çalıģabilmesi ve problemlere çözümler üretebilmesi konusunda yönlendirilebilmesi adına sahip olunması gereken bir beceridir. KuĢkusuz ki, günümüz hızlı geliģme ve iyileģmeleri neticesinde farklı teknolojileri de etkileyen ve çok-disiplinli bir yapıya odaklanan Bilgisayar Bilimleri; bilgisayar programlamaya yönelik temel düzeyde bilgi ve becerilerin farklı araģtırma / bilim / faaliyet alanlarında da gerekli bir hale gelmesine sebep olmuģtur [1-3]. Bilgisayar programlamaya yönelik artan bu ilgi, bilgisayar programlamaya yönelik söz konusu bilgi ve becerilerin kazandırılması yönünde eğitimsel süreçlerin de birçok araģtırmaya konu olmasını sağlamıģtır. Süregelen çalıģmalar ve eğitimsel eğilimler incelendiğinde, bilgisayar programlama öğretiminde genel yaklaģımın, algoritma adı verilen kavramın öğrenenlere anlatılması Ģeklinde olduğunu görebiliriz. Bu yaklaģım bağlamında problem çözümlerinin algoritmik düģünce mantığıyla ortaya konulması ve problem çözümlerinin sonlu ve organize adımlar bir biçimde ifade edildiği algoritmaların oluģturulması süreçleri izlenmekte, hatta algoritmaların Ģekilsel gösterimi olan akıģ Ģemaları ile bilgisayar programlama mantığının temelleri atılmaktadır. Bilgisayar programlamanın temellerine yönelik dersler ve kurslar dikkate alındığında; izlenen eğitimsel yolların ifade edilen çerçevede gerçekleģtirildiği kolaylıkla görülebilmektedir. Bu noktada dikkat çeken sorun, algoritmaların nasıl çalıģtığı konusunda yaģanan tereddütler neticesinde algoritmik düģünce ve bilgisayar programlama mantığının sağlam temellere oturtulamamasıdır. Söz konusu problem, çeģitli yazılımsal çözümlerle giderilmeye çalıģılmakta; eğitimsel temellere dayalı farklı yaklaģım, yöntem ve tekniklerle de etkin çözümler elde edilmeye çalıģılmaktadır [4-9]. Hatta son geliģmeler, bilgisayar ve bilgisayar destekli sistemler olmaksızın algoritmik düģünce mantığını aģılamaya çalıģan somut araçların da kullanımını gözler önüne sermektedir [10-12]. Burada önemli olan nokta, algoritmaların çalıģma Ģeklini anlamaya yönelik, pekiģtirme niteliğindeki yolların iģe koģulabilmesidir. Yapılan açıklamalar kapsamında bu çalıģmanın amacı, bilgisayar programlama öğreniminde kritik öneme sahip olan algoritma kavramının anlaģılması için kullanılabilen, Internet tabanlı bir eğitimsel materyali tanıtmak ve değerlendirmektir. Öğrencilere çeģitli zaman aralıklarıyla Internet üzerinden algoritma problemleri sunan bu sistemde, tasarlanan bilgisayar algoritmalarının çalıģmasını test etmek amacıyla, adım adım çalıģtırma yaklaģımına dayalı, ÇalıĢtırma Tablosu adı verilen, basit ancak etkin bir tablo yapısı kullanılmaktadır. Daha önce öğrencilerin ilgisini çekmesi nedeniyle Web ortamına taģınmıģ olan ÇalıĢtırma Tablosu yaklaģımı üzerine kurulu bu eğitimsel materyal, verilen bir algoritmanın çözülmesi istenen problemi gerçekten çözüp çözmediğinin test edilmesini sağlamaktadır. Algoritmaların sağlamasına yönelik bu test süreci sayesinde bireyler, algoritmik düģünce mantığı ve algoritma tasarımına yönelik bilgi ve becerileri pekiģtirebilmektedir. Ġlgili araģtırma konusu bağlamında, çalıģmanın ilerleyen bölümleri Ģu Ģekilde organize edilmiģtir: Bir sonraki bölüm altında, geliģtirilen Internet tabanlı materyalin temellerinde yer alan ÇalıĢtırma Tablosu yaklaģımına dair temel bilgilerden bahsedilmektedir. Ardından; Üçüncü Bölüm altında, ilgili yaklaģımın kullanıldığı,

WebALGO adlı yazılım ortamı ve genel çalıģma Ģekli tanıtılarak, üniversite öğrencileri arasında gerçekleģtirilen değerlendirme sürecine odaklanılmaktadır. ÇalıĢma, ulaģılan sonuçların ve gelecek çalıģma yönelimlerinin tartıģıldığı Dördüncü Bölüm ile sona ermektedir. 2. Çalıştırma Tablosu Yaklaşımı ÇalıĢtırma Tablosu, yazılan bir algoritmanın, ifade edilen problemi gerçekten çözüp çözmediğini anlamak adına, örnek değerler bütünü ile kontrol iģlemi yapılmasını sağlayan bir tablo düzeneği / yapısıdır. ÇalıĢtırma Tablosu nun kullanımı oldukça basit olmakla birlikte sadece belli baģlı bazı kurallara dikkat etmek gerekmektedir. Bir bakıma ÇalıĢtırma Tablosu nun kullanım Ģeklini de tarif eden bu kuralları kısaca Ģu Ģekilde açıklayabiliriz: Kural 1: Algoritmadaki her bir değiģken için tabloda bir sütun kullanılır ve sütunun baģına ilgili değiģkenin adı yazılır. Bunun dıģında, algoritmada ADIM sütunu ve (eğer algoritmada ekrana yazdırma yapılmıģsa) EKRAN sütunu sabittir. ADIM sütununun en solda, EKRAN sütununun da ADIM sütununun hemen sağında yer alması yerinde olacaktır. Kural 2: Algoritmada ekranı temizleme gibi bir komut kullanılmadığı sürece; ekrana yazdırılanlar, EKRAN sütununda (her yeni ekrana yazdırma adımında) alt alta eklenerek yazılır. Kural 3: Mantıken, bir değiģkenin aldığı son değer, baģka adımlarda değiģkenin içeriğine müdahale olmadığı sürece sabit kalır ve dolayısıyla yeni adımlarda da ilgili değiģkenin hücresine yazılmaya devam edilir. Eğer bir adımda ilgili değiģkenin değeri değiģirse, yeni değer, daire içine alınarak ilgili hücreye yazılır. Kural 4: Eğer Ģartlarında satır iki parça halinde kullanılır; üstteki parçaya Ģart yazılır ve Ģartın DOĞRU mu YANLIġ mı olduğu yazılır; alt parçaya ise sütunların değerleri yazılmaya devam edilir. Kural 5: Bir sütun içerisine her adımda değer yazılır [eski veya yeni değer(ler)]. Sadece algoritma baģladıktan sonra ilgili bir sütun içerisinde henüz bir değer değiģimi yoksa tire ( ) karakteri kullanılabilir. Kural 6: Klavyeden okuma yapılan adımlarda, EKRAN sütunundaki kısma okunan değer yazılıp sonrasına (enter) ibaresi konularak, ilgili değerin klavyeden yazılıp, Enter tuģuna basılarak okunması sağlandığı ifade edilebilir. Kural 7: Eğer problem çözümüne yönelik genel algoritma birden fazla algoritma bloğuna dayalı bir biçimde oluģturulmuģsa, o andaki algoritma adımının esasında hangi algoritma bloğunda olduğunu göstermek için ek olarak BLOK sütunu da eklenebilmektedir. Böylece algoritmik çözüm adımlarının iģlevler boyutunda irdelenmesi sağlanmaktadır. ÇalıĢtırma Tablosu na yönelik Ģöyle bir örnek ortaya koyabiliriz: Örnek 1: Klavyeden girilen baģlangıç ve bitiģ değerlerine bağlı olarak; ilgili aralıktaki tamsayıların çarpımını bulup, ekrana yazdıran algoritma: A1- BaĢla A2- carpim = 1 A3- BaĢlangıç değerini giriniz: yaz A4- baslangic oku A5- BitiĢ değerini giriniz: yaz A6- bitis oku A7- carpim = carpim * baslangic - Eğer (baslangic!= bitis) ise baslangic = baslangic + 1 ve A7 ye git A9- Sonuç: carpim yaz A10- Dur

Bu algoritmanın ÇalıĢtırma Tablosu ortamında test edilmesine yönelik örnek bir çözüm Ģekli Tablo 1 altında gösterilmiģtir. Tablo 1. Örnek 1 deki algoritma için bir ÇalıĢtırma Tablosu çözümü ADIM EKRAN baslangic bitis carpim A1 BAŞLA A2 - - - 1 A3 BaĢlangıç değerini giriniz: - - 1 A4 (enter) 1-1 A5 1-1 BitiĢ değerini giriniz: A6 (enter) A7 A7 A7 A7 A7 A9 Sonuç: 120 A10 1 5 1 1 5 1 Eğer (baslangic!= bitiģ) DOĞRU 2 5 1 2 5 2 Eğer (baslangic!= bitiģ) DOĞRU 3 5 1 3 5 6 Eğer (baslangic!= bitiģ) DOĞRU 4 5 6 Eğer (baslangic!= bitiģ) DOĞRU Eğer (baslangic!= bitiģ) YANLIġ DUR 4 5 24 5 5 24 5 5 120 5 5 120 5 5 120 Örnek 1 deki algoritma için gerçekleģtirilen ÇalıĢtırma Tablosu çözümünden de anlaģılacağı üzere; klavyeden girilen iki değer arasındaki (değerler dâhil) sayıların çarpımı, ilgili algoritma tarafından doğru bulunabilmektedir. Burada örnek çözüm 1 ve 5 değerleri için yapılmıģ olsa da; farklı değerler için çıkacak sonuçlar da incelenerek algoritmanın adım adım çalıģtırılması; yani

testi gerçekleģtirilmiģ olmaktadır. Bu noktada öğrenenler, algoritmadaki çözüme yönelik yazım hataları dıģında; mantık hatası olup olmadığını da denetlemek suretiyle algoritmik düģünce mantığını sağlama yoluyla pekiģtirme yoluna gidebilmektedir. Söz konusu bu yaklaģımın anlaģılması oldukça basit olmakla birlikte, uygulamadaki pratikliği de dikkat çekmektedir. Bir baģka örnek olarak ise: Örnek 2: Klavyeden girilen bir sayının faktöriyelini bulup (x!), ekrana yazdıran algoritma: A1- BaĢla A2- faktoriyel = 1 A3- Bir sayı giriniz: yaz A4- x oku A5- faktoriyel = faktoriyel * x A6- Eğer (x > 1) ise x = x - 1 ve A5 ye git A7- Sonuç: faktoriyel yaz - Dur 3. Çalıştırma Tablosu ve Internet Tabanlı Bir Eğitimsel Materyal: WebALGO ÇalıĢtırma Tablosu nun eğitimsel süreçlerde daha hızlı ve etkin kullanılabilmesi adına, söz konusu yapıyı kolay bir Ģekilde tasarlamaya imkân sağlayan bir yazılım sistemi daha önceleri ortaya konmuģtur. C# programlama dili yardımıyla bir tür Windows Form programı olarak tasarlanan ve geliģtirilen bu yazılım ile birlikte, öğrenenlerin sağlamasını yapacakları algoritmalara ait ÇalıĢtırma Tablosu yapılarını bilgisayar ortamında oluģturup değerlendirme yapabilmeleri sağlanmıģtır. Yazılımsal ÇalıĢtırma Tablosu, tipik sağlama tablosu içerisindeki sütunlarda ve ilgili alanlarda yer alan düzenlemelerin yardımcı araçlarla kolaylıkla yapılabildiği, kullanıcının her adım gösterimini ve adımlar içerisinde gerçekleģen kontrolleri veya değiģken değer değiģimi gibi durumları pratik bir Ģekilde tanımlayıp gösterebildiği, etkileģimli bir ortam sunmaktadır. Yazılımsal ÇalıĢtırma Tablosu na ait genel arayüz - ekran görüntüsü ġekil 1 altında gösterilmiģtir. Sonraki süreçlerde bu yazılımın öğrenciler tarafından sevilmesi ve ilgiyle kullanılması, araģtırmacının aklında Internet / Web ortamının avantajlarından faydalanarak, daha etkin bir sürecin elde edilebileceği fikrini ortaya çıkarmıģtır. Sonuç olarak da, geliģtirilmiģ olan sisteme Web desteği getirilmiģ ve öğreticinin kendi arayüzünden sunduğu örnek ÇalıĢtırma Tablosu problemlerinin otomatik olarak öğrencilerin havuzuna düģtüğü bir eğitimsel ortam tasarlanmıģtır. GeliĢtirilmiĢ olan bu yeni Internet tabanlı eğitimsel materyale, Web Odaklı Algoritma Öğrenimi düģüncesinden türetilen, WebALGO adı verilmiģtir. 4. Değerlendirme WebALGO nun algoritma ve dolayısıyla bilgisayar programlama öğretimi aģamasındaki etkinliğini değerlendirmek adına uygulamaya dayalı bir test yaklaģımı ortaya konulmuģtur. Buna göre, ilgili yazılım ortamının, UĢak Üniversitesi Bilgisayar Programcılığı Ön Lisans programına kayıtlı 92 öğrenci tarafından, Programlama Temelleri ve Programlamaya GiriĢ adlı dersler kapsamında (bir yarı-yıl süresince) kullanılması sağlanmıģ ve 14 haftalık sürece tekabül eden ders sonunda, 10 adet ifade içeren bir anket uygulanarak çeģitli bulgular elde edilmiģtir. WebALGO nun, ilgili dersler boyunca kullanımına ve etkinliğine iliģkin düģüncelere odaklanan anket çalıģması ile birlikte, Likert Ölçeği ne göre (1: Tamamen Katılmıyorum ; 2: Katılmıyorum ; 3: Karasızım ; 4: Katılıyorum ; 5: Tamamen Katılıyorum ) elde edilmiģ olan bulgular Tablo 2 de sunulmuģtur.

Şekil 1. Yazılımsal ÇalıĢtırma Tablosu na ait genel arayüz - ekran görüntüsü Tablo 2. WebALGO nun kullanım / test sürecine yönelik uygulanan anket ve elde edilen bulgular İfade WebALGO ile algoritma kavramını daha iyi anladım. WebALGO ile bilgisayar programlama öğretilebilir. ÇalıĢtırma Tablosu yaklaģımı öğrenme etkinliğimi olumsuz etkiledi. Programlama derslerinde buna benzer süreçlerin yer almasını isterim. ÇalıĢtırma Tablosu ile adım adım çalıģtırmayı anladım. ÇalıĢtırma Tablosu ile algoritmalardaki Dönütler* 1 2 3 4 5 1 4 18 28 41 2 5 15 33 37 34 38 13 7 0 1 5 13 30 43 0 1 11 26 54 1 3 29 31 28 mantık hatalarını daha kolay bulabilirim. Web üzerinden problem sunulmasını sevdim. ÇalıĢtırma Tablosu bilgisayar programlamayı daha iyi anlamamı sağladı. WebALGO ile değiģken, Ģart kontrolü, döngüler gibi; programlama yaklaģımlarını anladım. WebALGO nun geliģtirilmesini isterim. Toplam Katılımcı: 92 1 1 8 26 56 2 6 18 24 42 0 5 12 18 48 0 1 22 27 42 *Likert Ölçeği: 1: Tamamen Katılmıyorum ; 2: Katılmıyorum ; 3: Karasızım ; 4: Katılıyorum ; 5: Tamamen Katılıyorum Elde edilen bulgular, değerlendirme sürecine dâhil olan öğrencilerin genel anlamda WebALGO nun eğitimsel süreçlerde

kullanımından memnun olduğunu göstermektedir. Bu bağlamda geliģtirilen Internet / Web tabanlı yazılımın ve içerisinde iģe koģulan ÇalıĢtırma Tablosu yaklaģımın etkin bir rol oynadığından bahsetmemiz mümkündür. 5. Sonuç ve Gelecek Çalışmalar Bu çalıģma kapsamında, bilgisayar programlama öğretiminde etkin bir araç olarak kullanılabileceği düģünülen; WebALGO yazılımı kısaca tanıtılmıģtır. Temel anlamda algoritmaların adım adım çalıģtırılmak suretiyle sağlamasının yapılması mantığından yola çıkan ÇalıĢtırma Tablosu yaklaģımını içeren bu yazılım, söz konusu öğrenim sürecinin organize bir Ģekilde Internet üzerinden sunulmasına etkin katkı sağlamaktadır. Bunun yanında WebALGO, bilgisayar programlama kapsamında önemli olan değiģkenler, Ģart kontrolleri, döngüler gibi kavramların özellik ve iģlevlerinin ön plana çıkarılmasına odaklanmıģ bir algoritmik düģünce mantığı geliģtirme serüveninin de adımlarını atmaktadır. WebALGO nun değerlendirme süreci ile birlikte üniversite öğrencilerinden olumlu dönütler alması, eğitimsel anlamda etkin bir yol izlendiği konusunda olumlu fikirler oluģmasını sağlamıģtır. Bu noktada yazılım içerisinde sunulan ÇalıĢtırma Tablosu yaklaģımına yönelik olumlu eğilimler de dikkat çekmiģtir. Özellikle değerlendirme süreciyle elde edilen bulgular, WebALGO nun ilerleyen zamanlarda geliģtirilmesi yönünde çeģitli fikirlerin de oluģmasını sağlamıģtır. Buna göre, yazılım içerisindeki ÇalıĢtırma Tablosu nun daha karmaģık programlama yaklaģımlarını (Örneğin Nesne Yönelimli / Tabanlı Programlama) kapsayacak bir biçimde geniģletilmesi ve böylece WebALGO nun de kapsamının geniģletilmesi düģünülmektedir. Ayrıca WebALGO nun Android, ios, ve Windows Phone gibi iģletim sistemlerini kapsayacak Ģekilde, hem Web browser bazlı, hem de mobil bazlı olarak düzenlenmesi de düģünülmektedir. 6. Kaynaklar [1] Santos-Carrillo, R. The importance of coding, Teq It s all about learning, [Online] http://www.teq.com/blog/2013/12/part- 1-importance-coding/ (2013). [2] Crow, D. Why every child should learn to code, The Guardian, [Online] http://www.theguardian.com/technology/2014/feb/ 07/year-of-code-dan-crow-songkick/ (2014). [3] Tynker, Four reasons why kids should learn programming, Tynker, [Online] http://www.tynker.com/blog/articles/stemeducation/four-reasons-why-kids-should-learnprogramming/ (2013). [4] Corbett, A. T. and Anderson J. R Student modeling in an intelligent programming tutor, E. Lemut, B. du Boulay, G. Dettori (Ed.), Cognitive Models and Intelligent Environments for Learning Programming, New York, Springer-Verlag: 135-144, (1993). [5] Jiménez-Díaz, G., Gómez-Albarrán, M., Gómez-Martín, M. A. and González-Calero, P. A. ViRPlay: Playing roles to understand dynamic behavior, Workshop on Pedagogies and Tools for the Teaching and Learning of Object Oriented Concepts, (2005). [6] Baghaei, N. A collaborative constraintbased adaptive system for learning objectoriented analysis and design using UML, V. P. Wade, H. Ashman, B. Smyth (Ed.), Adaptive Hypermedia and Adaptive Web- Based Systems, Berlin, Springer: 398-403, (2006).

[7] Othman, A. A., Pislaru, C. and Impes, A. M. Improving the quality of technologyenhanced learning for computer programming courses, International Journal of Information and Education Technology, 4 (1): 83-88, (2014). [8] Powell, L. M. and Wimmer, H. Evaluating the effectiveness of self-created student screencasts as a tool to increase student learning outcomes in a hands-on computer programming course, Proceedings of the Information Systems Educators Conference, 2167: 1435, (2014). [9] Malliarakis, C., Satratzemi, M. and Xinogalos, S. Educational games for teaching computer programming, C. Karagiannidis, P. Politis, I. Karasavvidis (Ed.), Research on e-learning and ICT in Education, New York, Springer-Verlag: 87-98, (2014). [10] Henderson, P. Computer science unplugged, Journal of Computing Sciences in Colleges, 23(3): 168-168, (2008). [11] Bell, T., Alexander, J., Freeman, I. And Grimley, M. Computer science unplugged: School students doing real computing without computers, The New Zealand Journal of Applied Computing and Information Technology, 13(1): 20-29, (2009). [12] Visnjic, F. From 0 to C Teaching programming using a tangible approach, Creative Applications Network, [Online] http://www.creativeapplications.net/theory/from-0- to-c-teaching-programming-using-a-tangibleapproach/ (2012).