15 Nisan 2009 Çarşamba

BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ GÜNLÜK PLAN

























DERSİN ADI

BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ

SINIFI

10. SINIFLAR

ÜNİTENİN ADI / NO

PROGRAMLAMA TEMELLERİ

KONU

PROGRAMLAMA DİLLERİ

ÖNERİLEN SÜRE

4 Ders Saati

ÖĞRENCİ KAZANIMLARI /

HEDEF VE DAVRANIŞLAR

Amaçlar

1. Programlama dillerini işlevlerine göre ayırt Edebilme.

2. Program yazmaya hazırlık yapabilme.

3. Program yazım araçlarını kullanabilme.

ÖĞRETME – ÖĞRENME- YÖNTEM VE TEKNİKLERİ

Anlatım, uygulama.

KULLANILAN EĞİTİM TEKNOLOJİLERİ

Modül, Projeksiyon. Bilgisayar.













ÖZET

Bilgisayarın anladığıdil; makine dili



Temel olarak makine dilinde; mantıksal işlemler, aritmetik işlemler, dallanma

işlemleri ve veri hareket işlemleri yapabiliriz. Bu işlemleri kullanarak ister basit ister çok karmaşık programlar yazabilirsiniz.

“Assembly dili” makine dilinden daha rahat yazılmasına rağmen, hala bazı

dezavantajlara sahiptir:



  • Yavaşve çok yer kaplayan programlar oluşur. (bu satır hatalı assembly yazılan programlar az yer kaplar ve yavaş çalışmazlar)

  • Başka dile çevrilmeleri zordur.

  • Çok uzun program yazımına elverişli değildir.


Dillerin genel görünümleri










Ekrana “Selam!” yazan bu örnek İngilizce diline benzer kodlamaya sahiptir. İnsanların konuşma diline yakın olan dillere “yüksek seviye dil” denilmiştir.

Aslında programlama dilinin İngilizce olması şart değildir. Kendi dilimizde olan örnek program Tupol‡ ile yazılmıştır.


Bir dilin okunaklı ve kolay yazılabilir olması dışında, bilgisayarın donanımına

Ulaşması ve başka bilgisayarda da rahatlıkla çalışması gereklidir. Yüksek seviye bir dili “makine diline” çeviren programlara “derleyici – compiler” denir. Derleyiciyi aynen Fransızca bir kitabın Türkçeye çevrilmesini sağlamak gibi düşünülebilir.

C programlama dili diğer Cobol ve Fortran gibi dillerden daha basit olduğu için, C

dilini makine diline çeviren birçok derleyici yazılmıştır. C dili böylece öyle çok

yaygınlaşmıştır ki, bu dile uyumlu olan diller ortaya çıkmıştır. Mesela C++ (c plus plus), Java, Perl, Python ve C# (c sharp) gibi. Birçok program C veya C++ ile yapılmıştır: Windows, Unix, Microsoft Office gibi...


Mühendisler diğer insanların rahatça program yazmaları için Basic (Beginners All

Purpose Symbolic Instruction Code - 1964) ve Pascal (1971) gibi diller üretmişlerdir. Basit bir dilden yola çıkılarak istenen dile geçiş yapılabilir.

Lisp 1950’li yıllarda yapılmışbir derlenebilen mantık programlama dilidir. Prolog

(“programming in logic” kelimelerinin kısaltması) adındaki 1972 yılında ortaya çıkan dil ise, “mantık programlama dili” olarak tarif edilebilir. Komut dizileri yerine mantık deyimleri ile program yazılır. Genellikle yapay zekâ ile ilgili konularda kullanılır. Yazımı ve kuralları çok basittir.

Yüksek seviyeli dillerin genel özelliklerini şöyle özetleyebiliriz:



  • “Makine diline” göre daha şişkin ve yavaş kod meydana getirirler.

  • Tüm sistem kaynaklarına ulaşılamayabilir, tabii amacınız disk yardımcı

  • programı(Norton SystemWorks…) gibi program yazmak değilse…

  • Bir derleyici gereklidir.

  • Kısa zamanda program yazmaya başlanır.

  • Öğrenme ve ustalaşma için geçen zaman fazla değildir.

  • Yanlışlıkla sistem kaynaklarının bozulmaması için kalkanları vardır.

  • Okuması ve değiştirmesi kolaydır.

  • Başka bilgisayar çeşitlerinde de çalışabilirler, yani taşınabilirdirler.


Hızlı Uygulama Geliştirme Ortamları

Pencereler, kaydırma çubukları, araç çubukları, menüler programcının daha hızlı bir

şekilde program yapmasına sebep olduğu için, bu ortamlara “Hızlı Uygulama Geliştirme – Rapid Application Development (RAD)” denilmiştir. Görsel Programlama Dilleri (VisualProgramming Languages) olarak da adlandırılırlar. Programcı oluşturacağı programın ara birimini, istediği gibi tasarlayabilir ve bu ara birimi işlevsel hâle getiren kod kısmını yazabilir.

Veri Tabanı (Database) Programcılığı

Bilgisayarların en çok kullanım alanı ise, bilgi kaydetme ve düzeltmedir. İsimler, adresler, elektronik posta adresleri, telefon numaraları, iş deneyimleri, muhasebe geçmişleri gibi bilgiler veri tabanlarında saklanır. En çok kullanılan veri tabanı programları; Microsoft Access, MSSQL ve MySQL’dir.

Verileri düzenleme için kendilerine has dilleri vardır. Bu dile SQL (Structured Query

Language – Yapısal Sorgu Dili) denir.

Veri tabanı programcılığının dezavantajları şunlardır:

 Veri tabanı programları, veri tabanını işleyen program sistemde kurulu değilse

çalıştırılamazlar.

 Sadece veri tabanı programını kullanarak antivirüs, oyun, kelime işlemci gibi

program yapamazsınız.

Betik (Script) Programcılığı

Betik dilleri normalde diğer programlama dillerinden daha kolaydır. Bu diller ile

kullanıcıya yardımcı bazı işlemler yapılabilir.

Web Programcılığı

İnternet sitesi tasarlamak amacıyla geliştirilmiş bir dildir. HTML en temel web programlama dilidir. Bunun yanında, java script, php, asp gibi diller de vardır.


ÖLÇME DEĞERLENDİRME


  • Programlama dillerinin üstünlüğünü neye göre belirleyebiliriz.

  • Web programcılığında hangi diller kullanılır?

  • Görsel programlama ile Veritabanı programlama arasında ne gibi bir fark vardır.

DERSİN DİĞER DERSLERLE İLİŞKİSİ


PLANIN UYGULAMASINA İLİŞKİN AÇIKLAMALAR


Bilişim Teknolojilerinin Temelleri Günlül Plan




















DERSİN ADI

BİLİŞİM TEKNOLOJİLERİNİN TEMELLERİ

SINIFI

10. SINIFLAR

ÜNİTENİN ADI / NO

PROGRAMLAMA TEMELLERİ

KONU

PROGRAMLAMA DİLLERİ

ÖNERİLEN SÜRE

4 Ders Saati



ÖĞRENCİ KAZANIMLARI /

HEDEF VE DAVRANIŞLAR


Amaçlar

1. Programlama dillerini işlevlerine göre ayırt Edebilme.

2. Program yazmaya hazırlık yapabilme.

3. Program yazım araçlarını kullanabilme.




ÖĞRETME – ÖĞRENME- YÖNTEM VE TEKNİKLERİ


Anlatım, uygulama.




KULLANILAN EĞİTİM TEKNOLOJİLERİ


Modül, Projeksiyon. Bilgisayar.





















ÖZET

Bilgisayar; ekonomi, bilim, mühendislik, eğitim ve askeri alanlarda yardımcı olması için üretilmiştir. Çok karmaşık formüllerin sonucunu kısa zamanda elde etmek için programlar yazılmıştır. Özellikle İkinci Dünya Savaşı veri şifreleme ve silahların hedefi daha doğru bulması gibi konular sebebi ile bilgisayarın gelişimi hızlanmıştır. Bir programlama dilini neden öğreniriz? Bu sorunun cevabı, eğlence için, bir ihtiyacı gidermek için, kariyer için veya zekânızı kanıtlamak için olabilir. Para kazanmak her ne kadar birincil hedef gibi görünse de, eğer işinizi severek yapmıyor iseniz, ne kadar kazandığınızın pek önemi olmaz.

Eğer bilgisayara ne yapması gerektiğini söylemezseniz, hiçbir şey icra etmez.


Bilgisayara yaptırmak istediğiniz şeyi iki şekilde gerçekleştirebilirsiniz:



  • Adım adım bir program yazarak

  • Uygun bir program satın alarak


Bazı programların giriş ve çıkışları:



İyi bir programın temel özellikleri şunlardır:

Doğruluk : Verilen görevlerin tam olarak yerine getirilmesidir.


Dayanıklılık : Beklenmedik hatalardan dolayı programın çalışması

kesilmemelidir.


Genişletilebilme : İleri aşamalarda görevlerin değişikliği veya yenilerinin

eklenmesi kolay olmalıdır.


Basitlik : Karmaşık tasarımlardan kaçınmak gerekir.


Modülerlik : Program kodları başka programlar içinde de kullanılabilmelidir.

Uyumluluk : Başka bilgisayar ve sistemlerde çalışabilmelidir.


Kontrol edilebilirlik : Hata olabilecek yerlere açıklayıcı hata mesajları konul malıdır.


Kolay kullanım : Kullanıcılara birimi kolay olmalı ve rahat öğrenilebilmelidir.


Parçalanabilirlik : Problemin küçük parçalara ayrılarak yazılmasıdır.


Anlaşılırlık : Başkasının yazıldığı program elden geçirilirken rahatça

okunabilmelidir.


Koruma : Modüller birbirlerine müdahale etmemelidirler.


Temel olarak bir algoritma, bilgisayara belli bir problemin çözümünü anlatmaktır.

Dünya problemlerden oluştuğuna göre, pratikte insanların yazabileceği program sayısı ve çeşitliliğinin bitmesi çok zordur. Büyük bir problemin bilgisayara yaptırılması için, genellikle küçük parçalara bölmek gereklidir.

Örneğin bir oyunda şu adımları çözmek gerekebilir:



  • Kullanıcının bir nesneyi (araba, adam, uzay gemisi…) nasıl hareket ettirebileceği

  • Nesnenin duvar, uçurum veya çevredeki başka nesnelere göre çarpmadan, düşmeden nasıl hareket edeceği

  • Gerçekçi olarak çevre tasarımı yapmak

  • Gelen merminin nereye çarptığını bulmak ve oyuncunun sağlık durumunu ekrana yazmak


Programlama genellikle zor değildir, ama zaman harcayan bir iştir.

Eğer adım adım bir yeri tarif edebiliyorsanız, program yazabilirsiniz. Bir bilgisayar aptal olduğuna göre ona ne yapacağını adım adım anlatmanız gereklidir.

Arkadaşınıza evinizin yolunu tarif ederken:



  • Yayla mahallesine git

  • Çınar sokağına git

  • Trafik ışıklarından sağa dön

  • İki sokak ileride sola dön


Bir insan için kolay olan bu adımlar bilgisayarda yazıldığında hiçbir anlam ifade etmez:



  • Yayla mahallesine nasıl gideceğim?

  • Çınar sokağını nasıl belirleyeceğim?

  • Işıklardan ne kadar sonra sağa döneceğim?

  • Sola dönünce arabayı nasıl park edeceğim?


Bilgisayar Programı İçin Neler Bilmeliyim?


İstek: Önünüze ne kadar engel çıksa da, isteğiniz varsa öğrenirsiniz. (Kanuni olmayan bir şey ile ilgileniyorsanız, hapishanede geçirilecek zamanınız olabilir!)

Meraklılık: Bu sayede öğreneceğiniz dil size angarya gibi gelmez.

Hayal gücü: Böylece daha ilginç ve faydalı program yapabilirsiniz.


Programlama Dili


Bilgisayara yapmasını istediğimiz işlemleri söylemek için kodlar kullanılır. Bu kodlara kısaca “programlama dili” denir. Programlama dili bilgisayar ile aramızdaki iletişimi sağlar.

Komutlar bir araya gelerek “program” meydana getirir. Belli bir dil ile yazılmış komutlara “kaynak kod” da diyebiliriz.


Neden Birçok Programlama Dili Vardır?


Her programlama dili özel bir amaca hizmet eder. İnsanlar farklı problemleri çözmek için değişik programlama dilleri yazmışlardır. Temelde bilgisayarlar 1 ve 0’lardan oluşan ikilik sayı* sistemindeki dili anlarlar. Buna “makine dili” denir:


0010 1010 0001 1101

0011 1100 1010 1111

0101 0110 1101 0101

1101 1111 0010 1001


Makine dilinin dezavantajları, kodları yazarken hata yapılma olasılığının fazla olması ve yazımının uzun sürmesidir. Makine dilinin daha rahat programlanması için 1950’li yıllarda “assembly dili” geliştirilmiştir. “Assembly dili” basit, hatırlanması kolay deyimlerden oluşur. Programcılar 1 ve 0 ile program yazma yerine “assembly” dilini geliştirmişlerdir, bilgisayarın bu yazılanlarla ilgili hiçbir fikri yoktur. Bu sebeple programcılar “assembly dil” komutlarını“makine dili”ne çeviren programlar yazmışlardır. Bu programlara “makine dili çeviricisi - assembler” denir. Böylece “assembly dili” ile yazılmışbir kod, bilgisayarın anlayabileceği “makine dili”ne dönüşmüş olur.


Bir çevrim örneği: (1100)2 = 1 * 23 + 1 * 22 + 0 * 21 + 0 * 20 = 8 + 4 = (12)10



Soru: (10101) in 10 luk sistemdeki karşılığı nedir.



ÖLÇME DEĞERLENDİRME


  • Makine dili nedir?

  • Programlama dili nedir?

  • Makine dili ile programlama dili arasında nasıl bir ilişki vardır?


DERSİN DİĞER DERSLERLE İLİŞKİSİ


PLANIN UYGULAMASINA İLİŞKİN AÇIKLAMALAR