Problem: Giderilmek istenen her güçlüğe problem
denir.
Bir
durumun problem olarak tanımlanabilmesi için şu iki koşulu taşıması gerekir.
1.
Kişide rahatsızlık uyandırmalı.
2.
Birden fazla çözüm yolu olmalı.
Bilgi işlemsel
düşünme: Bilgisayar biliminin
kavramlarından yararlanarak problem çözme, sistem tasarlama ve insan
davranışlarını anlama olarak tanımlanabilir.
Ayrıca Bilgisayar Bilimi Öğretmenleri Birliği (Computer Science Teachers Association - CSTA) ve Uluslararası Eğitimde Teknoloji Topluluğu (International Society for Teachnology in Education - ISTE) tarafından tanımlandığı şekliyle bilgi işlemsel düşünme aşağıdaki özellikleri barındıran bir problem çözme sürecidir.
Ayrıca Bilgisayar Bilimi Öğretmenleri Birliği (Computer Science Teachers Association - CSTA) ve Uluslararası Eğitimde Teknoloji Topluluğu (International Society for Teachnology in Education - ISTE) tarafından tanımlandığı şekliyle bilgi işlemsel düşünme aşağıdaki özellikleri barındıran bir problem çözme sürecidir.
•
Problemleri bilgisayar veya başka araçlar yardımı ile çözebilir hale getirme
•
Mantıklı bir şekilde verileri düzenleme ve çözümleme
•
Model ve benzetim desteği ile verileri sunma
•
Algoritmik düşünme çerçevesinde çözümleri otomatikleştirme
•
Kaynakları verimli bir şekilde kullanarak uygun çözümleri tanımlama, çözümleme
ve uygulama
•
Bulunan çözümü farklı problemlere transfer etme ve genelleştirme
Hata Ayıklama Nedir?
Programlama,
karmaşık bir süreçtir ve programcılar programlamada hata (bug) yapabilirler.
Programlama
hatalarını bulma ve düzeltme işlemine hata ayıklama (debugging) denilir.
Bir
programda üç tur hata oluşabilir:
1. Söz dizimsel hatalar: Söz dizimi, programın yapısı ve bu yapı hakkındaki
kurallar demektir. Örneğin Türkçede bir cümle büyük harfle başlamalı ve uygun
bir noktalama işaretiyle sona ermelidir.
2. Çalışma zamanı hataları: Bu hatalar ancak program çalıştırıldıktan sonra ortaya cıkar.
Hesaplanması mümkün olmayan işlemler (sıfıra bölünme) ya da hiç gerçekleşmeyecek
koşulların (5<3) yürütülmesi gibi durumlarda ortaya çıkar.
3. Anlam bilimsel hatalar: Bu durumda program, genellikle hata vermeden çalışır
ancak çoğu zaman beklenen sonucu üretmez. Bu yüzden programı satır satır çalıştırarak,
farklı adımlardaki çıktıları gözlemleyerek nerede mantık hatası yapıldığını
bularak program doğru bicimde çalışana kadar bu hataları ayıklamak gerekir.
Günlük hayatta problem çözme: Problem çözme, amaca ulaşabilmek için alternatifler arasından
en uygun yolu belirlemektir. Alternatifler, farklı koşul ve beklentilere göre şekillenir.
En uygun çözüm ise farklı koşul ve durumlar için değişiklik gösterebilir. Bu
nedenle farklı kişiler ve problemler için çözüm önerileri de farklılık gösterebilir.
PROBLEM ÇÖZME SÜRECİ
Problem
Çözme Teknikleri
Her Zaman Bir
Planınız Olsun: Belirsiz
bir durumu yaşamak yerine her zaman bir planınız olmalıdır. Bu, en önemli
kuraldır.
Problemi Tekrar
İfade Edin: probleme
ilişkin bir yanlış anlamanın ortaya çıkmasına ya da hedefin daha iyi
anlaşılmasına neden olur.
Problemi Küçük
Parçalara Ayırın: Verilen
problemi adımlara ya da bölümlere ayırmak, çözümü kolaylaştırır. Bir problemi
iki bölüme ayırdığımız düşünüldüğünde, her bir
Önce Bildiklerinizden
Yola Çıkın: Problemi
küçük parçalara bölerek çözebildiğiniz parçadan başlayınız.
Problemi
Basitleştirin: Çözmekte
zorlandığınız bir problemle karşılaşırsanız problemin kapsamını daraltmayı
deneyebilirsiniz.
Benzerlikleri
Arayın: Burada
ele aldığımız benzerlik kavramı, çözülmesi istenen problemle önceden çözülen
problem arasındaki olası örtüşme ya da yeni çözüme ilham verme olarak
tanımlanabilir.
Deneme
Yapın: Bazen bir
problemi çözmenin en kolay yolu denemek ve sonuçlarını gözlemlemektir. Bu,
tahmin etmekten çok farklıdır. Bir çözümü tahminen öngörmek ile kodu yazarak
denemek ve sonuçlarını incelemek çok farklı sonuçlar verir. Böylece problemi
çözebilmek için gereken ipuçlarını elde edebilirsiniz.
Asla
Vazgeçmeyin: Asla
vazgeçmemek, kişisel bir özelliktir. Kararlılık, güven ve istek önemlidir.
Problem
Çözme Adımları
Problem
çözme surecinde en iyi kararı verebilmek için izlenmesi gereken 6 adım vardır
1. Problemi Tanımlama: Problemi
çözmeye başlamadan önce problemin acık, anlaşılır ve çok doğru Bir şekilde tanımlanmış
olması gerekir. Problemin ne olduğunu bilemezseniz onu çözemezsiniz.
2. Problemi Anlama: Çözüme
doğru yol almadan önce problemi çok iyi anladığınızdan emin olmanız gerekir.
Problemin neler içerdiğini ve kapsamını doğru anlamalısınız.
3. Problemin
Çözümü İçin Farklı Yol ve Yöntemler Belirleme:
Problemin çözümü için olabildiğince Farklı yol ve yöntem belirlemeli ve bu
listenin, tüm olasılıkları içerdiğinden emin olmalısınız. Problem çözmek için
tek bir yol yoktur; pek çok yol vardır.
4. Farklı Çözüm
Yolları Listesi İçerisinden En İyi Çözümü Seçme: Bu adımda her bir çözümün olumlu ve olumsuz yönlerini
ortaya koymalısınız. Bu nedenle değerlendirme yapabilmek için ölçütler oluşturmalısınız.
Problem
çözmek için tek bir yol yoktur; en iyi yol vardır.
5. Seçilen Çözüm
Yolu ile Problemi Çözmek İçin Gerekli Yönergeleri Oluşturma: Bu adımda numaralandırılmış ve adım yönergeler oluşturmanız
gerekir. Bu yönergelerin ikinci adımda belirtilen bilgi tabanı kapsamında olmasına
dikkat ediniz.
6. Çözümü
Değerlendirme: Çözümü test etmek ya da değerlendirmek,
sonucun doğruluğunu
Kontrol
etmek anlamına gelir. Sonuç yanlış cıkmış ya da bireyin beklentilerini karşılamamış
ise problem çözme surecine baştan başlamak gerekir.
PROBLEM TÜRLERİ
Problemlerin
her zaman sıradan çözümleri olmaz. Kek yapmak ya da araba kullanmak gibi
problemleri çözmek için bir dizi eylem gerekir. Adım adım yönergelere dayalı
olan bu çözümlere “algoritmik çözümler” denir. En iyi yolu seçtikten
sonra sonuca, ilgili adımları izleyerek ulaşılır. Bu adımlardan oluşan yapıya “algoritma”
denir.
En lezzetli ekmeği seçmek ya da işleri
büyütmek için yatırım yapmak gibi problemlerin ise acık ve net ifade edilen yanıtları
yoktur. Bu çözümler bilgi ve deneyim gerektirir, bir dizi deneme ve yanılma
surecinden oluşur. Doğrudan işlem adımları ile ulaşılamayan sonuçlara “keşfe
dayalı çözümler” denir.
PROBLEM ÇÖZME
KAVRAMLARI
Günlük
hayatta karşılaştığımız problemler çok çeşitli olmasına rağmen bilgisayar ile
çözebildiğimiz Yalnızca 3 tür vardır:
1.
Hesaplamalı–matematiksel işlem ve süreçler içeren problemler,
2.
Mantıksal–ilişkisel süreçler içeren problemler,
3.
Tekrarlayan–matematiksel ya da mantıksal bir dizi işlemin yinelenme surecini
içeren problemler.
Bu
bolümde, bilgisayara ilişkin temel kavramlar ve belirtilen türdeki problemleri
çözmek için kullanılan ifade ve eşitlikler anlatılmaktadır.
“Sabit” ve “değişken” önemli iki kavramdır. Programcı işlenmemiş halde veriyi
alır, işlenmiş hale yani bilgiye dönüştürür. Bunlar eşitlik ve ifadelerin yapı
taşlarıdır. Programcı, problemi çözebilmek için gereken sabit ve değişkenleri,
uygun “veri türü”de, örneğin sayısal olarak tanımlar.
Diğer
önemli kavramlar ise operatör ve fonksiyonlardır. “Operatör”, sabit ve değişkenler arasındaki
ilişkileri gösteren, eşitlik ve ifadelerde kullanılan işaret ve sembolleri
ifade eder. Operatörlerin belirli bir hiyerarşik yapı içerisinde kullanılması
gerekir. Operatörler sabit ve değişkenlerle birlikte kullanıldığında“eşitlik” ve “ifade” olarak adlandırılan yapılar oluşur.
Eşitlik ve ifadeler ise çözüm surecinin yapı taşları olan işlemlerdir.
“Fonksiyonlar” bir dizi işlem seti
olarak tanımlanabilir.
Tüm bu kavramları anlamadan bilgisayarlar ile problem
çözmek olası değildir.
2 Yorumlar
Hocam çok yardımı oldu teşekkürler
YanıtlaSilsevindim Kıvanç ;)
Sil