3. TEMA: ALGORİTMA VE BİLİŞİM
MAB2. Matematiksel Problem Çözme
KB2.4. Çözümleme, KB2.15. Yansıtma
E1.1. Merak, E3.11. Özgün Düşünme
SDB3.2. Esneklik
D8. Mahremiyet, D16. Sorumluluk, D17. Tasarruf, D18. Temizlik
OB2. Dijital Okuryazarlık, OB4. Görsel Okuryazarlık
MAT.9.3.1. Algoritma temelli yaklaşımlarla problem çözebilme
a) Algoritmik yaklaşımla ele alınabilecek bir problemdeki işlem ve süreçlere yönelik bileşenleri belirler.
b) Problem durumlarında temsillerle (liste, tablo, çizge, akış şeması, algoritmik doğal dil, sözde kod gibi) matematiksel yapılar arasındaki ilişkileri belirler.
c) Problem durumlarındaki sözel, görsel veya cebirsel ifadeleri algoritmik dile dönüştürür.
ç) Karşılaşılan problem durumlarında geçen algoritmik dili; sözel, görsel veya cebirsel olarak açıklar.
d) Karşılaşılan problem durumlarında algoritma temelli bir çözüm stratejisi oluşturur.
e) Karşılaşılan problem durumlarında seçtiği algoritma temelli çözüm stratejisini kullanır.
f) Karşılaşılan problem durumlarında seçtiği algoritma temelli çözüm stratejisini kontrol eder.
g) Algoritma temelli çözülebilen problemlerin olası çözüm stratejilerini gözden geçirir.
ğ) Algoritma temelli çözülebilen problemlerde çözüme ulaştıran stratejilere yönelik çıkarımlar yapar.
h) Algoritma temelli çözülebilen problemlerde çözüme ulaştıran stratejilere yönelik çıkarımları değerlendirir.
MAT.9.3.2. Algoritmik yapılar içerisindeki mantık bağlaçlarını ve niceleyicileri çözümleyebilme
a) Algoritmik yapılar içerisinde kullanılan mantık bağlaçlarını ve niceleyicileri belirler.
b) Algoritmik yapılar ile mantık bağlaçları ve niceleyiciler arasındaki ilişkileri belirler.
MAT.9.3.3. Mantık bağlaçları ve niceleyicilerin algoritmalarda kullanımına yönelik edindiği deneyimi farklı matematiksel görev ve problemlere yansıtabilme
a) Karşılaştığı algoritmalardaki mantık bağlaçları ve niceleyicilerin kullanımını gözden geçirir.
b) Matematiksel problem çözme, doğrulama ve ispat süreçlerinde mantık bağlaçları ve niceleyicilerin kullanımına yönelik çıkarımlar yapar.
c) Mantık bağlaçları ve niceleyicilerin matematiksel dil ve sembolizmin yalınlık ve kesinliğindeki rolünü değerlendirir.
Algoritma Temelli Problemler, Mantık Bağlaçları ve Niceleyiciler
- Çizge ve diyagramlar, etkin problem çözme araçlarıdır.
- Şifrelemede ve şifre çözmede algoritmalar kullanılır.
- Mantık bağlaçları ve niceleyiciler, algoritmaların temel ögelerindendir.
- Matematiksel doğrulama ve ispat süreçleri, algoritmik bir yaklaşımla gerçekleştirilebilir.
akış şeması, algoritma, çizge, mantık bağlaçları, niceleyiciler, sözde kod, şifreleme
Öğrenme çıktıları; çalışma kâğıdı, performans görevi ve araştırma ödevi ile değerlendirilebilir.
Programlama dillerindeki kodlamalarda yer alan algoritmaların (sıralama ve arama algoritmaları gibi) çözümlenmesine ve bu kodlamalarla ilgili akış şemaları oluşturulmasına yönelik verilen performans görevi, analitik dereceli puanlama anahtarı kullanılarak değerlendirilebilir.
Akış şeması oluşturma, çizge oluşturma, kodlama yapma yöntemlerini kullanmayı gerektiren problemlerin yer aldığı çalışma kâğıtları analitik dereceli puanlama anahtarı kullanılarak değerlendirilebilir. Öz değerlendirme formuyla öğrencilerin kendilerini değerlendirmeleri istenebilir.
Gerçek yaşam durumlarında ve bilişim sistemlerinde şifreleme algoritmalarının kullanımlarının araştırılmasına yönelik verilen araştırma ödevinin değerlendirilebilmesi için hazırlık, içerik ve sunum süreçlerini içine alan derecelendirme ölçeği hazırlanabilir.
Algoritmik yapılardaki, matematiksel önermelerdeki ve matematiksel ispatlardaki mantık bağlaçları ve niceleyicilerin anlamlarını çözümleme ve yorumlamaya dönük çalışma kâğıdı; öz değerlendirme formuyla değerlendirilebilir.
Öğrencilerin tek, çift ve ardışık tam sayıları bildiği; bir doğal sayının asal olup olmadığını ve asal çarpanlarını belirleyebildiği; bir doğal sayıyı basamak değerlerine göre çözümleyebildiği; bir doğal sayının çarpanlarını ve katlarını belirleyebildiği; bölünen, bölen, bölüm ve kalan kavramlarını bildiği; iki doğal sayının ortak bölenlerini ve ortak katlarını belirleyebildiği; mantık bağlaçları ile niceleyicileri bildiği ve doğrusal fonksiyonları tanıdığı kabul edilmektedir. Ayrıca öğrencilerin aritmetik ve cebirsel işlemler içeren bir problem durumunun aşamalarını algoritmik olarak (doğal dil, akış şeması ya da sözde kod) ifade edebildiği kabul edilmektedir.
Öğrencilerin doğal sayıların ve tam sayıların özellikleri, bölme algoritması ve doğal sayılarda bölünebilme ile ilgili bilgi ve becerilerinin belirlenebilmesi için soru cevap tekniği uygulanır. Gerçek yaşam durumu problemleri üzerinden algoritma dilinin kullanımı ile ilgili ön bilgilerin ve ihtiyaçların tespit edilmesine yönelik çalışmalar yapılır. Ayrıca öğrencilere sözel matematik önermelerini mantık bağlaçları ve niceleyiciler kullanarak ifade etmelerine yönelik açık uçlu sorular sorulur.
Öğrencilerin algoritma hakkındaki bilgilerini ve düşüncelerini ortaya çıkarmak için bilişim ve iletişim alanlarındaki günümüz teknolojik gelişmeleri bağlamında sınıf içi tartışma yapılır. Bilişim teknolojilerinin temelinde yatan matematiksel fikirlerin neler olduğu, algoritmanın önemi, işlevi ve matematikle olan ilişkisi hakkında bir sunum yapılır. Bu şekilde öğrencilerin teknolojide dünyayı etkileyen yeni gelişmelerin (programlama dilleri, makine öğrenmesi, yapay zekâ gibi) arkasında yatan matematiği fark etmeleri sağlanır. Akış şemalarının farklı alanlarda kullanımına yönelik örneklere yer verilir. Bu bağlamda sibernetik alanında Cezeri’nin çalışmaları örnek gösterilir. Euler’in (Öyler) Königsberg (Könisberk) köprüsü problemi tarihî bağlamı ile birlikte tanıtılarak öğrencilerin probleme dair fikir üretmeleri beklenebilir. Gerçek yaşam durumlarında özel bilgilerin şifrelenerek korunmasının algoritmayla nasıl mümkün olabileceği sorgulanır. Ulusal güvenlik açısından şifreleme teknolojileri ve siber güvenlik sistemlerinde (kimlik ve erişim yönetimi, bulut güvenliği gibi) ülkemizin gelişmesinin önemi vurgulanır.
MAT.9.3.1
Ortaokulda önce işlemleri, ardından cebirsel ifadeleri algoritmik bir dille ifade etmeyi öğrenen, algoritma oluşturma süreçlerinin gerektirdiği sistematik ve mantıksal düşünmeyi deneyimleyen öğrencilerin bu sınıf seviyesinde algoritmik düşünme temelli problem çözebilmeleri beklenmektedir. Algoritma kelimesinin kökeni tartışılır ve kelimenin Batı dillerine Harizmi'nin isminin okunuşundan geçtiğine yer verilir. Böylece öğrencilerin kültürel mirasa yönelik duyarlı olmaları sağlanır.
Verilen bir görevin ya da problemin matematiksel temsili için liste, tablo, çizge, akış şeması oluşturma ile algoritmik doğal dil veya sözde kod yazma yöntemlerinden uygun olanlar belirlenir (MAB3). Problem durumlarında verilen çizge, şifrelenmiş metin, kod öbeği gibi temsiller ile algoritma arasında ilişkiler kurulur. Örneğin periyodik durumlar içeren (nöbet tutma gibi) doğal sayı problemleri, asal çarpanlara ayırma, verilen iki sayının aralarında asal olup olmadığını belirleme, ilk 100 doğal sayı içinden asal olanları tespit etme (Eratosthenes kalburu), bölme algoritması, bilinen bölünebilme kurallarını algoritmik dille ifade etme gibi görevlere yer verilir. Ayrıca en az deneme yaparak çözüm bulmayı gerektiren ve arama algoritmalarının uygulaması olan problemler (aynı ebatlara sahip n tane madenî para içinden kütlesi farklı olan 1 tanesini en az tartımla bulma ya da akıldan tutulan bir doğal sayıyı cevabı evet/hayır olan en az sayıda soru ile bulma gibi) ele alınır.
Bilgi teknolojileri ve iletişimde mesajları şifrelemek için algoritmaların nasıl kullanılabileceği sorgulanır; metinlere, sayılara veya sembollere verilen sayısal değerlerle ikili sisteme (binary) dönüştürülmesi bir şifreleme örneği olarak ele alınır (E1.1, E3.11). Çizge kuramının temel kavramları olarak ayrıt (çizgi) ve düğüm (nokta) açıklandıktan sonra (çizge kuramı ile ilgili teoremlere girilmeden ve çizge sınıflandırmaları yapılmadan) öğrencilerin çizgelerin matematiksel problem çözmede etkili bir araç olarak nasıl kullanılabileceğine yönelik fikir geliştirmesi sağlanır. Köprü kurmada incelenen Königsberg köprüsü probleminden hareketle köprüler ayrıt, bölgeler düğüm kabul edilerek problem; bir çizge şeması ile temsil edilir. El kaldırmadan çizilen şekiller, şehirleri birbirine bağlayan en kısa yol, tokalaşma sayısı, sosyal ağlarda bilginin yayılımı gibi problemlerde farklı bir çözüm yolu olarak çizgelerin kullanılabileceği gösterilir (SDB3.2). Ayrıca bilgisayar bilimlerinin temelinde yer alan ve çeşitli programlama dilleri kullanılarak yazılan kodların tümünün algoritmalardan oluştuğuna ilişkin basit örnekler incelenir (MAB3). Sıkça kullanılan, bilinen program ya da uygulamaların algoritmalarını (akış şemaları ya da sözde kodlarını) incelemek için araştırma ödevi verilebilir.
Algoritma diline ait yapıların (doğal dil, akış şeması, sözde kod) problem durumlarında nasıl kullanılacağı belirlenir. Örneğin verilen bir doğrusal fonksiyonun sıfırını bulmayı sağlayan algoritmanın nasıl olabileceği tartışılır. Karşılaşılan problem durumlarındaki sözel, görsel veya cebirsel temsillerin algoritmik bir dile dönüştürülebilmesinde işlem adımlarının takip edilmesi üzerinde durulur (MAB3). Bir gerçek yaşam problemine çözüm getiren basit bazı programların (kilo ve boy bilgileri girildiğinde vücut kitle indeksinin hesaplanması gibi) algoritmasını yazma (doğal dil ya da akış şeması) veya verilen bir algoritmanın hangi problemin çözümü olduğunu belirleme çalışmalarına yer verilir. Oluşturulan algoritmaların geçerliliği, algoritmaya girilen değerlerden elde edilen çıktıların bir tabloya aktarılarak değerlendirildiği algoritma testiyle sınanır. Benzer şekilde şifreleme ve çizge içeren problemlerdeki algoritma örnekleri incelenir. Bilgisayar bilimlerinde sıkça kullanılan algoritmaların (sıralama, arama algoritmaları gibi) çözümlenmesine yönelik araştırma ödevi verilebilir.
Karşılaşılan problem durumları algoritmik bir dile dönüştürülerek probleme dair bir çözüm stratejisi elde edilir. Örneğin şifrelenmiş bir metnin hangi kural kullanılarak şifrelendiğini saptayabilmek veya belirli sayıda kişiden oluşan bir grupta herkesin birbiri ile tokalaşması durumunda toplam tokalaşma sayısını tespit edebilmek için algoritma oluşturulur. Oluşturulan algoritma, problemin nasıl çözülebileceğine dair stratejiyi içerir. Bir gerçek yaşam durumundan hareketle [daha temiz bir çevreye sahip olmak amacıyla (D18.3) her gün çalışan bir çöp arabasının yakıt tüketimini azaltmak için (D17.3) şehrin sokaklarını en kısa yoldan dolaşabilmesi gibi] çözüm için bir çizge tasarlanır. Tasarlanan çizgelerle elde edilen sonuçlar tartışılır. Algoritma temelli oluşturulan çözüm stratejisi uygun şekilde kullanılarak problemin çözümü sağlanır. Öğrencilere akış şeması okuma ve yazma, sözde kod okuma ve yazma veya çizge oluşturma yöntemlerini kullanmayı gerektiren problemlerin yer aldığı çalışma kâğıtları verilir. Çözülen problem, başka algoritmalar kullanılarak veya kullanılmadan (örneğin matematiksel araç ve teknolojiden yararlanılarak) tekrar çözülür ve önceki adımda elde edilen çözümün doğruluğu kontrol edilir. Matematiksel araç ve teknolojiyi kullanırken dijital kaynakları belirleme ve bu kaynakları kullanarak dijital yetkinlikleri güncelleme gibi beceriler işe koşulur (MAB5, OB2).
İncelenen problemin algoritma temelli olan veya olmayan olası tüm çözüm stratejileri ele alınır. Örneğin sözel bir problemin çözümü, hem çizge şeması oluşturularak hem de tablo kullanılarak yapılır (MAB3). Bu şekilde algoritma temelli çözümlerin diğer çözümlerden farklı yönleri saptanır. Mevcut problemin algoritma temelli çözümlerinden yararlanılarak çıkarımlar yapılır. Elde edilen bu çıkarımlar, problemlerin çözümündeki kullanışlılığı açısından değerlendirilir. Öğrencilere kişisel bilgilerin korunmasıyla ilgili olarak bilişim sistemlerinde kullanılan şifreleme algoritmaları hakkında araştırma yaptırılır (D8.2). Öğrencilerden görevi zamanında ve eksiksiz tamamlamaları beklenir. Böylece öğrencilerin sorumluluk değerini kazanmaları desteklenir (D16.3). Öğrencilere programlama dillerindeki kodlamalarda yer alan algoritmaların çözümlenmesine ve akış şemalarının oluşturulmasına yönelik performans görevi verilebilir.
MAT.9.3.2
Gerçek yaşam durumlarında ve sözel problem metinlerinde (nesneleri/kişileri iki ya da üç özelliğe göre sınıflandırmayı içeren problemler, çizge veya şifreleme içeren problemler gibi) geçen önermelerdeki mantık bağlaçları (ve, veya, ya da, ise) ve niceleyicilerin (her, bazı) anlamları değerlendirilir. Problem durumlarında yer alan bu mantık bağlaçları ve niceleyicilerin anlamları belirlenir. Öğrencilerin algoritma temelli problemlerde mantık bağlaçları ve niceleyicilere olan ihtiyacın sebebini sorgulaması sağlanır. Bu mantık bağlaçları ve niceleyicilerin algoritma temelli problemlerdeki kullanımı ve işlevi, problem çözümlerine ilişkin algoritmik dil (doğal dil, akış şeması ya da sözde kod) oluşturularak belirlenir (OB4). Öğrencilere algoritmik yapılar içindeki mantık bağlaçlarına ve niceleyicilere yönelik çalışma kâğıdı verilebilir.
MAT.9.3.3
İncelenen algoritmalardan hangilerinde mantık bağlaçları ve niceleyicilere ihtiyaç duyulduğu ve bunların nasıl kullanıldığı gözden geçirilir. ''Mantık bağlaçları ve niceleyicilerin farklı kullanım alanları nelerdir?'', ''Mantık bağlaçları ve niceleyicilerin algoritmalarda ne tür işlevleri bulunur?'' gibi sorular sorulur. Bu şekilde mantık bağlaçlarının ve niceleyicilerin hem algoritmalardaki hem de matematiksel doğrulama ve ispat süreçlerindeki önemi üzerine öğrencilerin tartışmaları sağlanır. Basit bir önerme (“Her tek sayının karesi de tektir.” gibi) alınarak bu önermenin doğruluğu, hem algoritma hem de cebirsel ispat adımları ile gösterilir. Bir problemin ve çözümünün, matematiksel bir önermenin ve doğrulama ya da ispat aşamalarının ifade edilmesinde sözel, sembolik ve algoritmik dilin birlikte kullanıldığı uygulamalar yapılır. Böylece mantık bağlaçları ve niceleyicilerin matematiksel dildeki kritik rolünü öğrencilerin fark etmeleri sağlanır. Aynı zamanda mantık bağlaçları ve niceleyicilerin matematiğin sembolik dilinin yalın, kesin ve evrensel bir biçimde oluşumunda önemli bir rolü olduğuna yönelik değerlendirmelerde bulunmaları desteklenir. Öğrencilere algoritmik yapılarda, matematiksel önerme ve ispatlarda kullanılan mantık bağlaçları ve niceleyicilerin anlamlarını çözümleme ve yorumlamaya yönelik çalışma kâğıdı verilebilir.
(*) Verilen iki sayının en büyük ortak bölenini bulma amacıyla bir algoritma oluşturma görevinden hareketle Öklid algoritmasının incelendiği çalışmalara yer verilir. Öz yinelemeli (rekürsif) algoritma örnekleri Öklid algoritması ile ilişkilendirilerek öğrencilerden benzer örneklerin araştırılması istenir. (*) Şifrelenmiş mesaj metinlerinde şifreleme algoritmasının tespitine ve metnin ortaya çıkarılmasına yönelik çalışmalar yapılır. Öğrencilere kriptolojide kullanılan asal sayı test algoritmaları ile ilgili araştırma ödevi verilir.
(*) Öğrencilerden bilgisayar bilimine ait problemlerde kullanılan farklı algoritmaların (sıralama algoritmaları gibi) sağladığı avantajlara yönelik araştırma yapmaları ve sonuçlarını sınıf ortamında paylaşmaları istenir. (*) İkili arama ağacı yöntemini kullanmayı gerektiren problem durumlarına yer verilir.
(*) Farklı problem türlerinden (tokalaşma sayısı, Euler’in köprü problemi gibi) hareketle öğrencilerin çizgelerin kenar ve köşe sayıları arasındaki ilişkiler bağlamında çizge kuramındaki temel kavram ve genellemelere ulaşmaları sağlanır. Örneğin platonik cisimler incelenerek öğrencilerin Euler karakteristiğini keşfetmeleri sağlanır. Çizge ile temsil edilebilecek bir problemde en kısa yolu ya da tam turu bulmak için çeşitli algoritmaların kullanılabileceği farklı örneklere yer verilir. Euler turu, Hamilton (Hemıltın) turu ve gezgin satıcı problemi hakkında öğrencilere araştırma ödevi verilir. Öğrencilerin problem çözümüne yönelik elde ettikleri algoritmaları bildikleri bir programlama diline aktararak bilgisayarda çalıştırmaları sağlanır.
Akış şemaları oluşturulması gerektiren problemlerde adım sayısı daha az olan ve basit algoritmik işlemler içeren problem örnekleri tercih edilir. Benzer şekilde şifre veya ikili sistemde (binary) kod oluşturmada, bunları çözümlemeyi gerektiren problemlerde öğrencilerin bilgi ve beceri düzeylerine göre basitleştirmeler yapılır.
Algoritmaların kullanıldığı gerçek yaşam durumu örnekleri, öğrencilerin yakın çevresi dikkate alınarak çeşitlendirilir. Böylelikle öğrencilerin konuya karşı olan ilgi ve motivasyonları artırılır. Algoritmaların temsil edilebileceği tangram, sudoku, kakuro gibi somut materyaller kullanılır. Algoritmaları çözümleyebilmeye ve yorumlayabilmeye yönelik, kişiselleştirilmiş geri bildirimler verilerek değerlendirmeler yapılır.
Algoritma temelli problemler ile ilgili performans görevleri ve çalışma kâğıtları için öğrencilere daha fazla zaman verilir. Geri bildirimlerde ve değerlendirmelerde çoklu ortam (sözlü, yazılı, görsel gibi) kullanılır.
Programa yönelik görüş ve önerileriniz için karekodu akıllı cihazınıza okutunuz.