PROBLEM ÇÖZME VE ALGORİTMALAR

Slides:



Advertisements
Benzer bir sunumlar
Dr. Şeyda Serdar-Asan İTÜ Endüstri Mühendisliği Bölümü
Advertisements

Gözün kısımlarını yerleştirme oyunu
IT503 Veri Yapıları ve algoritmalar
TEST ÇÖZME TEKNİKLERİ.
Algoritma ve Akış Diyagramları
Bölüm 3 – Yapısal Programlama
Yapısal Program Geliştirme – if, if-else
Nesneye Dayalı Programlama
PROJE TABANLI ÖĞRENME.
Problem Çözme Süreci.
ÖLÇME VE DEĞERLENDİRME
Probleme Dayalı Öğrenme Modeli
24. MÜHENDİSLİK DEKANLARI KONSEYİ TOPLANTISI Mayıs 2012, Ege Üniversitesi Mühendislik Fakültesi Mühendislik Eğitiminde Tasarım Dersleri Prof. Dr.
Algoritmalar (Algoritms)
Temel tanımlar ve işleyiş
Problem Çözme Becerileri
İLKÖĞRETİMDE EĞİTİM PROGRAMLARI
Algoritmalar (Algoritms)
PROBLEME DAYALI ÖĞRENME
Neden Proje Yönetimi - PROBLEMLERİN KARMAŞIKLIĞI - TEK BİR KİŞİNİN ÇÖZÜME ULAŞMA GÜÇLÜĞÜ - DİSİPLİNLER ARASI İLİŞKİLERİN SAĞLANMASI - MADDE VE İNSAN KAYNAKLARININ.
FIZ 275 Bilgisayar Uygulamaları Ders Notu
YEŞİM KULA ÖMER MART İLKÖĞRETİM OKULU REHBER ÖĞRETMENİ
TEST ÇÖZME TEKNİKLERİ.
PROGRAM YETERLİLİKLERİ MÜHENDİSLİK FAKÜLTESİ. YÜKSEKÖĞRETİM YETERLİLİKLER ÇERÇEVESİ 1.Belli bir alanda genel ortaöğretimde kazanılan bilgi, beceri ve.
BİLİŞİM TEKNOLOJİLERİ ALANI
Araştırma Yoluyla Öğretim Stratejisi
PROBLEM ÇÖZME YAZILIMLARI
ÖDEV-BAŞARI Sevgili Öğrenciler;Ödevin eğitim hayatınızda çok önemlidir. Ödevin amaçları şunlardır Derse hazırlıklı gelmek Derste öğrenilen konuları pekiştirmek.
BİLGİSAYAR DESTEKLİ EĞİTİM UYGULAMALARI
Karar Bilimi 1. Bölüm.
VERİMLİ DERS ÇALIŞMA YÖNTEMLERİ
Programlamaya Giriş 1. Verileri İşleyerek Özet bilgiler şekline sokabilen, bu veri ve bilgileri yüksek kapasitelerde saklayıp başka ortamlara iletebilen.
DERSLERE NASIL ÇALIŞMALIYIZ
ADAPAZARI REHBERLİK ARAŞTIRMA MERKEZİ. VERİMLİ DERS ÇALIŞMA YÖNTEMLERİ.
VERİMLİ DERS ÇALIŞMA YÖNTEMLERİ
HANGİ DERSE NASIL ÇALIŞMALIYIM?
TEOG TEST ÇÖZME TEKNİKLERİ Engin DEMİRCİ.
HOŞ GELDİNİZ  REHBERLİK SERVİSİ. TEST ÇÖZME TEKNİĞİ.
 REHBERLİK SERVİSİ YAVUZ ÖCAL REHBER ÖĞRETMEN.
Kestanelik Çok Programlı Lisesi VERİMLİ DERS ÇALIŞMA YÖNTEMLERİ.
TEST ÇÖZME TEKNİKLERİ ŞAHİNBEY REHBERLİK VE ARAŞTIRMA MERKEZİ Hazırlayan: Psikolojik Danışman Gamze UĞUR.
 her sorunun bir doğru cevabı, bir çeldiricisi iki tanede kendi içinde doğru fakat kesinlikle cevap olamayan şıkkı vardır.
BİLİŞİM TEKNOLOJİLERİ DERS KİTAPLARI
PROGRAMLAMA MANTIĞI, ALGORİTMA PROBLEM ÇÖZME
Özel Gereksinimli Öğrenciler ve Fen Öğretimi
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
T.C. ÖMER HALİSDEMİR ÜNİVERSİTESİ EĞİTİM FAKÜLTESİ BİLGİSAYAR VE ÖĞRETİM TEKNOLOJİLERİ ÖĞRETMENLİĞİ EĞİTİMDE BİLİŞİM TEKNOLOJİLERİ – 2 DERSİ ALGORİTMALAR.
Teknoloji ve tasarım dersi
ANKARA ÜNİVERSİTESİ SAĞLIK BİLİMLERİ FAKÜLTESİ SOSYAL HİZMET BÖLÜMÜ
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Problem Çözme ve Algoritmalar
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
Eğitimde Teknoloji Kullanımı
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
VERİ TÜRLERİ.
Erken Çocukluk Döneminde Sağlık Bilimleri Fakültesi
Fen Öğretiminin Genel Amaçları Prof. Dr. Fitnat KAPTAN Arş. Gör. Dr
VERİMLİ DERS ÇALIŞMA, MOTİVASYON VE BAŞARILI OLMA
Problem Çözme ve Algoritmalar
PROBLEM ÇÖZME.
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
PROBLEM ÇÖZME VE ALGORİTMALAR
Problem Çözme Yaklaşımları
Fırat Üniversitesi Mühendislik Fakültesi Elektrik-Elektronik Müh.
Problem Çözme Kavramları ve Yaklaşımlar
Bilgisayar Bilimi Problem Çözme Süreci-2.
Problem Çözme ve Algoritmalar
BİLİŞİM TEKNOLOJİLERİ VE YAZILIM DERSİ
Bilgisayar Bilimi Problem Çözme Süreci-1.
KODLAMA ve BECERİLER Dr. Osman EROL.
Sunum transkripti:

PROBLEM ÇÖZME VE ALGORİTMALAR Selim ÇELİK www.selimcelik.com.tr Hürriyet Anadolu Lisesi

NELER ÖĞRENECEĞİZ? NE YAPACAĞIZ? KAZANIMLAR: 1.2.1.1. Problem çözme sürecindeki temel kavramları açıklar. 1.2.1.2. Problem türlerini açıklar. 1.2.1.3. Günlük hayatta karşılaştığı problemler için çözüm yolları önerir KONULAR: Programlama Nedir? Programlamada Hata Giderme Nedir? Bilgi İşlemsel Düşünme Nedir? Donanım/Yazılım ve Girdi Çıktı Aygıtları Nedir? Problem Çözme Teknikleri ETKİNLİKLER: Bilgi Yarışması Etkinliği (Donanım? mı Yazılım mı? ve Girdi/Çıktı Aygıtı mı?) CODE.ORG Hata Ayıklama KonusuPuzzle Tamamlama Online Hanoi Kulesi Oynama Bilgi İşlemsel Düşünme ile Bilge Kunduz Problemleri Çözme

düşünmek ve programlama ne demektir? PROGRAMLAMA NEDİR ? Bir bilgisayar bilimcisi gibi düşünmek ve programlama ne demektir?

APPLE CEO’SU TİM COOK: (2017 Haberi) «Kodlama Öğrenmek, İngilizce Öğrenmekten Çok Daha Önemli Eğer gelişmeler bu yönde devam ederse, programlama dilleri gelecekte yabancı dil bilmek kadar mühim olacak ve her mesleki alan bir şekilde kodlama bilgisine ihtiyaç duyacak. Bunları sadece biz değil, sayısız dünya çapında yapılan disiplinler arası araştırmalar da vurguluyor.» 

PROGRAMLAMA NEDİR ? BİLGİSAYAR BİLİMİ Bilgisayar bilimcileri genel olarak matematiksel sembolleri, işlemleri kullanır, mühendisler gibi tasarım yapar ve bilim insanları gibi deney yaparak teknoloji desteği ile çözüm üretir. BİLGİSAYAR BİLİMİ DOĞA BİLİMLERİ MATEMATİK MÜHENDİSLİK

Bir bilgisayar bilimcisi için en önemli beceri kod ezberlemek değil, problem çözme becerisidir.

Problem çözme; problemleri formüle edebilme, farklı ve yaratıcı çözüm yolları önerebilme, çözümü kesin ve doğru biçimde ifade edebilme becerisidir. Bu beceri sizlere hem günlük ve iş hayatınızda hem de üniversite ve beceri sınavlarında çok fayda sağlayacaktır.

Programlama aynı zamanda bir düşünme biçimidir Programlama aynı zamanda bir düşünme biçimidir. Programlama, hem problem çözme becerisi hem de bilgi işlemsel düşünme becerisine sahip olmayı gerektirir.

BİLGİ İŞLEMSEL DÜŞÜNME • 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

BİLGİ İŞLEMSEL DÜŞÜNME • Kaynakları verimli bir şekilde kullanarak uygun çözümleri tanımlama, çözümleme ve uygulama • Bulunan çözümü farklı problemlere transfer etme ve genelleştirme

Bilgi işlemsel düşünme sayesinde siz öğrenciler bilgisayarlar ile çözümlerini otomatik hâle getirip problemleri daha etkili çözebilecek ve düşünmenin sınırlarını genişletebileceksiniz. Bilgisayar biliminin kavramlarını ve ilkelerini öğrendiğiniz zaman gittikçe değişen teknolojik hayata ve iş yaşamına daha iyi hazırlanabileceksiniz.

PROGRAMLAMA NEDİR?

Kısaca yazılım geliştirme, test etme ve bakımını yapma sürecidir PROGRAMLAMA: Bilgisayarın donanıma (?) nasıl davranacağını anlatan, bilgisayara yön veren komutlar ve işlemler bütünüdür. Kısaca yazılım geliştirme, test etme ve bakımını yapma sürecidir

DONANIM MI ? YAZILIM MI ?

DONANIM MI? YAZILIM MI?

DONANIM MI? YAZILIM MI?

DONANIM MI? YAZILIM MI?

DONANIM MI? YAZILIM MI?

DONANIM MI? YAZILIM MI?

DONANIM MI? YAZILIM MI?

SONUÇ OLARAK; DONANIM BİLGİSAYARIN FİZİKSEL ELLE TUTULUR PARÇALARIDIR, YAZILIM İSE FİZİKSEL PARÇALARI KULLANMAMIZI SAĞLAYAN KOMUTLARLA OLUŞTURULAN PRORAMLARDIR.

PROGRAM NEDİR ? Bir iş yada hesaplamayı yapmak için oluşturulan komutlardır. Bu işlemler matematiksel yada mantıksal olabilirler.

GİRDİ NEDİR ? Sizin bilgisayara bilgi vermenizdir. Klavyeden, dosyadan veya başka bir aygıttan veri almadır

ÇIKTI NEDİR ? Ekranda veriyi görüntüleme veya veriyi dosyaya veya başka bir aygıta göndermedir.

AYGITLARINI PEKİŞTİRELİM GİRDİ/ÇIKTI AYGITLARINI PEKİŞTİRELİM

Girdi Aygıtımıdır? Çıktı Aygıtımıdır?

Girdi Aygıtımıdır? Çıktı Aygıtımıdır?

Girdi Aygıtımıdır? Çıktı Aygıtımıdır?

Girdi Aygıtımıdır? Çıktı Aygıtımıdır?

Girdi Aygıtımıdır? Çıktı Aygıtımıdır?

Girdi Aygıtımıdır? Çıktı Aygıtımıdır?

Sadece mantıksal düşünmeniz yeterlidir. MATEMATİK Toplama, çarpma gibi bazı temel matematiksel işlemleri gerçekleştirmedir. Kodlama yapabilmek için temel matematikten daha fazlasını bilmenize gerek yoktur. Sadece mantıksal düşünmeniz yeterlidir.

HATA AYIKLAMA Program yazarken (Kodlama yaparken) Bazı hatalarla karışılacaksınız

Söz Dizimsel Hatalar HATA AYIKLAMA NEDİR? Çalışma Zamanı Hataları Anlam Bilimsel Hatalar HATA AYIKLAMA NEDİR?

SÖZ DİZİMSEL HATALAR Söz dizimi, programın yapısı 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. Bu kurallara uymayan cümlelere “Söz dizimi hatası içermektedir.” diyebiliriz. Programlama dilleri için söz dizimi, yoruma açık olmayacak şekilde kesin ve net ifadeler içermelidir. Aksi takdirde program, söz dizimi hatası verir ve programın doğru çalışmasını bekleyemeyiz.

‘’ merhaba. ben yasin? ‘’ SÖZ DİZİMSEL HATALAR Cümle küçük hafle başlamış YANLIŞ İsim küçük harfle yazılmış YANLIŞ Cümle nokta ile bitmeliydi YANLIŞ Kodlama yaparken de buna benzer bazı temel kurallara dikkat etmeniz gerekmektedir.

ÇALIŞMA ZAMANI HATALARI Bu hatalar ancak program çalıştırıldıktan sonra ortaya çı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.

ANLAM BİLİMSEL HATALAR Bu durumda program, genellikle hata vermeden çalışır ancak çoğu zaman beklenen sonucu üretmez Programlamayı öğrenirken kazanılacak önemli becerilerden biri de hata ayıklamadır.

Günlük Hayatta Problem Çözme Günlük hayatımızda problemlerimizi çözmek için yaşantımızı etkileyen pek çok karar veririz. Karşılaştığımız problemler, televizyonda hangi kanalı seyretsem gibi basit de olabilir, hangi mesleği seçmeliyim gibi çok önemli de olabilir

En iyi kararı vermek aslında problem çözmektir En iyi kararı vermek aslında problem çözmektir. İnsan hayatı aslında bir problem çözme sürecidir. Genellikle bir problemin birden fazla çözümü vardır, her bir çözüm bir alternatif olarak düşünülebilir. Problem çözme, amaca ulaşabilmek için alternatifler arasından en uygun yolu belirlemektir.

PROBLEM ÇÖZME SÜRECİ

Problem Çözme Teknikleri Her Zaman Bir Planınız Olsun Problemi Tekrar İfade Edin Problemi Küçük Parçalara Ayırın Önce Bildiklerinizden Yola Çıkın Problemi Basitleştirin Benzerlikleri Arayın Deneme Yapın Asla Vazgeçmeyin

HER ZAMAN BİR PLANINIZ OLSUN Planlama Yapmak=Hedef Belirlemek Ve Bu Hedefe Ulaşmak Planınız olmazsa tek bir hedefiniz olur; o da problemi çözmektir. Bu durumda problemi çözene kadar herhangi bir başarı kaydetmiş olmazsınız. Sadece nihai hedefe ulaşmaya çalışmak, her başarısızlıkta moralin bozulmasına neden olabilir. Ama küçük hedeflerden bile oluşan bir plan yaparsanız çözüme yönelik adımlar attığınızı ve zamanı etkili biçimde kullandığınızı göreceksiniz. Her bir adımda kendinize güveniniz artacak ve çözüme bir adım daha yaklaşmış olacaksınız

PROBLEMİ TEKRAR İFADE EDİN Problemi tekrar ifade etmek, göremediğimiz bir ayrıntıyı görmemizi ya da problemi daha kolay çözmek adına bir ipucu yakalamamızı sağlayabilir. Hatta bazen probleme ilişkin bir yanlış anlamanın ortaya çıkmasına ya da hedefin daha iyi anlaşılmasına neden olur.

PROBLEMİ KÜÇÜK PARÇALARA AYIRIN Bir problemi iki bölüme ayırdığımız düşünüldüğünde, her bir parçanın çözümünün tümünü çözmeye göre yarı yarıya kolaylaştığını düşünebiliriz. Bir problemi çözülebilir küçük parçalara bölmek, çözüm işlemini kolaylaştırır ve hızlandırır.

ÖNCE BİLDİKLERİNİZDEN YOLA ÇIKIN Problemi küçük parçalara bölerek çözebildiğiniz parçadan başlayınız. Bu parçaları çözerken diğer parçalarla ilgili olarak aklınıza yeni fikirler geldiğini ve aynı zamanda kendinize olan güvenin arttığını göreceksiniz.

PROBLEMİ BASİTLEŞTİRİN Temel amacınız problemi basitçe ifade etmeye çalışmak olmalıdır. Çözüm için denediğiniz yaklaşımlar, size gerçek çözüm için yol gösterecektir. Problemi basitleştirmek size aslında problemdeki zorluğun neden kaynaklandığını da gösterecektir.

BENZERLİKLERİ ARAYIN Çözülmesi istenen problemle önceden çözülen problem arasındaki olası örtüşme ya da yeni çözüme ilham verme olarak tanımlanabilir.

DENEME YAPIN Bazen bir problemi çözmenin en kolay yolu denemek ve sonuçlarını gözlemlemektir. Bu nedenle programda önemli noktalara gözlemek amacıyla değerverebiliriz. Değerlerin değişimini gözleyerek çözüme daha hızlı ulaşabiliriz.

ASLA VAZGEÇMEYİN Kararlılık, güven ve istek kaybolduğu zaman açık düşünemezsiniz, İşler gittikçe zorlaşır. Hatta öfke ve kızgınlığa bile dönüşebilir. Ekrandaki program kodu çalışmadığı zaman programcı koda değil, kendisine kızmaktadır. Bu noktada moralimizin bozulmasına izin vererek aslında başarısız olmak için bir bahane üretmiş oluruz. Problemden tamamen uzaklaşarak geçirilecek vakit sonrasında çok daha verimli çalışmak olasıdır.

BİLGE KUNDUZ ÖDEV SORU ÇÖZÜMLERİ

BİLGE KUNDUZ ÖDEV SORU ÇÖZÜMLERİ

BİLGE KUNDUZ ÖDEV SORU ÇÖZÜMLERİ

BİLGE KUNDUZ ÖDEV SORU ÇÖZÜMLERİ

BİLGE KUNDUZ ÖDEV SORU ÇÖZÜMLERİ

BİLGE KUNDUZ ÖDEV SORU ÇÖZÜMLERİ

BİLGE KUNDUZ ÖDEV SORU ÇÖZÜMLERİ

Tilki, Kaz ve Mısır Çuvalı?

Bir çiftçinin tilki, kaz ve mısır çuvalını nehrin karşısına geçirmesi gerekmektedir. Çiftçinin bu işlemi gerçekleştirmek için küçük bir teknesi var ancak bu teknede çiftçi ile birlikte en fazla bir nesneye daha yer var.

Ne yazık ki tilki ve kaz açtır Ne yazık ki tilki ve kaz açtır. Bu yüzden tilki kaz ile yalnız kalamaz çünkü tilki kazı yiyebilir. Aynı şekilde kaz ve mısır çuvalı yalnız bırakılamaz çünkü kaz mısırı yiyebilir. Bu koşullarda çiftçi nehrin karşısına tilki, kaz ve mısırı sorunsuz bir şekilde nasıl geçirebilir?

9x9 boyutlu bir tablo kısmen (1-9 arası) sayı ile doldurulur ve oyuncu belirli kısıtlamalara göre boş kareleri doldurmalıdır.

Her bir satır ve sütunda, her rakam tam olarak bir kez yazılmalıdır ve her doldurulmuş 3x3 alanda her bir rakam tam olarak bir kez yer almalıdır.

O zaman, 1-9 arasındaki her bir sayıyı; bulunduğu satır, sütun ve kare içinde yalnızca bir kez kullanılacak biçimde nasıl doldururuz?

Hanoi Kulesi A C B

Yukarıdaki şekilde çeşitli renklerle gösterilen tahta parçaları, A çivisinden C çivisine aşağıdaki kurallara göre geçirilmek istenmektedir.

Küçük tahtaların üstüne büyük tahtalar olmaz. Aynı anda sadece bir tahta oynatılabilir. Buna göre tahtaları A’dan C’ye taşıyınız. Bu soruda 5 tahta parçasının C çivisine taşınması gerekmektedir