Professional Documents
Culture Documents
1. ÜNİTE ETİK, GÜVENLİK VE TOPLUM Bilgiyi aktaran İnternet sitesinin adresi kontrol
Etik Değerler edilmelidir. Alan adı uzantıları birçok İnternet sitesi için
Bireylerin ahlaklı ve erdemli bir hayat yaşayabilmesi için fikir verebilir.
hangi davranışlarının doğru, hangilerinin yanlış olduğunu
araştıran bir felsefe dalıdır. Alan Adı Uzantıları
Bir konuya ya da belirli bir meslek dalına özgü etik .com ya da .net alan adı uzantısına sahip İnternet siteleri
davranışların tamamı etik değerler olarak tanımlanabilir. ticari amaçlı sitelerdir.
.gov: Devlet kurumlarının resmî sitelerinin uzantısıdır.
Bilişim teknolojilerinin ve İnternet’in kullanımı sırasında .org: Ticari amacı olmayan vakıf, dernek ve organizasyonların
uyulması gereken kuralları tanımlayan ilkelere bilişim etiği kullandığı uzantıdır.
denir. .edu: Üniversite ve akademik kuruluşların siteleri için
kullanılır.
Bilişim Teknolojileri ve İnternet Kullanımında Dikkat .k12: Okul öncesi, ilkokul, ortaokul ve lise gibi eğitim
Edilmesi Gereken Etik İlkeler kurumlarına ait uzantıdır.
a-)Fikri Mülkiyet
Creative Common
Telif hakları konusunda esneklik sağlamayı Bilgi Güvenliği Nedir?
amaçlayan, eser sahibinin haklarını koruyarak, eserlerin Kişisel ya da kurumsal düzeyde bizim için büyük önem teşkil
paylaşımını kolaylaştırıcı modeller sunan, kâr amacı eden her tür bilgiye izin alınmadan ya da yetki verilmeden
gütmeyen bir organizasyondur. erişilmesi, bilginin ifşa edilmesi, kullanımı, değiştirilmesi, yok
edilmesi gibi tehditlere karşı alınan tüm tedbirlere bilgi
güvenliği denir.
Zararlı Yazılımlar
Bilişim sistemlerinin çalışmasını bozan veya sistem içinden
bilgi çalmayı amaçlayan Virüs, Solucan, Truva Atı ya da Casus
yazılım gibi kötü niyetlerle hazırlanmış yazılım veya kod
parçaları zararlı programlar olarak adlandırılır. Bu zararlı
programlar:
İşletim sisteminin ya da diğer programların çalışmasına
engel olabilir.
Sistemdeki dosyaları silebilir, değiştirebilir ya da yeni
dosyalar ekleyebilir.
Bilişim sisteminde bulunan verilerin ele geçirilmesine
neden olabilir.
Güvenlik açıkları oluşturabilir.
Başka bilişim sistemlerine saldırı amacıyla kullanılabilir.
Bilişim sisteminin, sahibinin izni dışında kullanımına
neden olabilir.
Sistem kaynaklarının izinsiz kullanımına neden olabilir.
Virüsler, bulaştıkları bilgisayar sisteminde çalışarak sisteme
ya da programlara zarar vermek amacıyla oluşturur.
Bilgisayar Solucanları; kendi kendine çoğalan ve çalışabilen,
bulaşmak için ağ bağlantılarını kullanan kötü niyetli
programlardır.
Truva Atları, kötü niyetli programların çalışması için
kullanıcının izin vermesi ya da kendi isteği ile kurması
gerektiği için bunlara Truva Atı denmektedir. Truva Atları
saldırganların bilişim sistemi üzerinde tam yetki ile
istediklerini yapmalarına izin verir.
Casus Yazılımlar, İnternet’ten indirilerek bilgisayara bulaşan
ve gerçekte başka bir amaç ile kullanılsa bile arka planda
kullanıcıya ait bilgileri de elde etmeye çalışan programlardır.
Bunlar, sürekli reklam amaçlı pencerelerin açılması ya da
İnternet tarayıcıya yeni araçların eklenmesine neden olabilir.
Problemleri formüle edebilme, farklı ve yaratıcı Programlama, karmaşık bir süreçtir ve programcılar
çözüm yolları önerebilme, çözümü kesin ve doğru biçimde programlamada hata (bug) yapabilirler.
ifade edebilme becerisidir.
Programlama hatalarını bulma ve düzeltme işlemine hata
Problem nedir ayıklama (debugging) denilir.
Tanım 1: Teoremler veya kurallar yardımıyla
çözülmesi istenen soru, mesele (Matematik,TDK) Bir programda üç tür hata oluşabilir:
Tanım 2:Araştırılıp öğrenilmesi, düşünülüp
a.Söz dizimsel hatalar
çözümlenmesi, bir sonuca bağlanması gereken durum,
mesele,(Sorun, TDK) b.Çalışma zamanı hataları
Algoritma
Tanım 1: Orta Çağda ondalık sayı sistemine göre, son
zamanlarda ise iyi tanımlanmış kuralların ve işlemlerin adım
adım uygulanmasıyla bir sorunun giderilmesi veya sonuca en
hızlı biçimde ulaşılması işlemi, Harezmi yolu(TDK)
Tanım 2:Bir problem durumunu çözmek için ilgili
adımların mantıksal sıralanması(Kitap)
Programlama
Program
3
Bilgisayar Bilimi Ders Notları-1
3. ÜNİTE PROBLEM ÇÖZME SÜRECİ
oluşan yapıya “algoritma” denir. En lezzetli ekmeği seçmek ya
Problem Çözme Teknikleri
da işleri büyütmek için yatırım yapmak gibi problemlerin ise
İncelediğimiz problemleri çözerken çözüm sürecine destek
açık ve net ifade edilen yanıtları yoktur. Bu çözümler bilgi ve
olan bazı yaklaşımları kullandığımızıfark etmişsinizdir.
Programlama sürecinde de problemin çözümüne yönelik yol deneyim gerektirir, bir dizi deneme ve yanılma sürecinden
ve yaklaşımları belirlemek gerekir ama öncelikle genel kural
ve teknikleri bilmek yararlıdır. Bazı genel kurallar neredeyse oluşur. Doğrudan işlem adımları ile ulaşılamayan sonuçlara
tümproblemler için kullanılabilir. Bu nedenle, bu kuralları “keşfe dayalı çözümler” denir.
içselleştirir ve düşünme sürecinizin bir parçasıhâline
getirebilirseniz herhangi bir problemi çözmeye çalışırken VERİ TÜRLERİ
mutlaka bir fikriniz olur. 1) Sayısal veriler
Tüm sayı tiplerini içerir. Sayısal veri, hesaplama
a-)Her zaman bir planınız olsun işlemlerinde kullanılabilen tek veri türüdür.
Pozitif ya da negatif tam sayılar ve reel sayılar
b-)Problemi tekrar ifade edin
kullanılabilir.
c-)Problemi küçük parçalara ayırın Banka hesap numarası ya da posta kodu gibi sayısal ama
hesaplama için kullanılmayan veriler de vardır. Bu tür
d-)Önce bildiklerinizden yola çıkın veriler sayısal olarak tanımlanmaz.
e-)Problemi basitleştirin
f-)Benzerlikleri arayın
g-)Deneme yapın
h-)Asla vazgeçmeyin
2) Alfa numerik/Karakter Veri
Problem Çözme Adımları Karakter veri seti; tüm tek haneli sayılar (“0”.. “9”),
Problem çözme sürecinde en iyi kararı verebilmek için harfler (“a”..“z”, “A”..“Z”) ve özel karakterleri (“#”, “&”,
izlenmesi gereken 6 adım vardır. Problem çözme sürecinde “*”, ..) kapsar. Bu veri setinden oluşturulan değer, tırnak
bu 6 adım tam olarak uygulanmaz ise sonuç beklendiği gibi içinde belirtilir.
olmayabilir.
3) Mantıksal veri,
Veri setinde yalnızca iki kelime barındırır: doğru ve
yanlış. Bu veri evet ya da hayır şeklindeki karar verme
süreçlerinde kullanılır
Örneğin elde edilen değer, beklenen değer mi, evli mi,
arabası var mı, öğrenci lise mezunu mu gibi sonucu kesin
doğru ya da yanlış olan durumlarda mantıksal veri
tanımlaması yapılır.
Problem Çözme
4
Bilgisayar Bilimi Ders Notları-1
Fonksiyonlar
Fonksiyonlar, belirli işlemleri yürüten ve sonuçları
döndüren bir işlem kümesidir.
Bilgisayar programlama dillerinde bir veya birden çok
eylemi gerçekleştirmek için yazılan ve ana programa
parametre ve fonksiyon dönüş değeri ile bağlı olan alt
programdır. Fonksiyonlar programla dillerinin olmazsa
olmazlarındandır. Sayfalarca kod yazacağınıza
fonksiyonları kullanarak program satırlarınızı çok daha az
BİLGİSAYAR VERİYİ NASIL SAKLAR? satırlı hale getirebilirsiniz. Bu hem derleme zamanında
Bilgisayar veriyi hafızada saklar. Her bir değişken için bilgisayar donanımlarına yüklenmeyi azaltır, hem de sizin
hafızada belirli bir alan ayrılır ve bu alan her seferinde için birçok kolaylık sağlar.
tek bir değer saklayabilir. Kullanıcı, var olan değer yerine Her programlama dili, içerisinde kendine özgü
yeni bir değer atadığında eski değer silinir. Hafızada bu fonksiyonlar barındırır. Bu fonksiyonlar kütüphanesi,
konumlar geçicidir. Programın çalışması bittiğinde ya da programlama dili bilgisayara göre değişiklik gösterir.
bilgisayar kapatıldığında bu veriler silinir.
Verilerin daha sonra tekrar kullanılması gerekiyorsa sabit
disk gibi kalıcı bir konuma kaydedilmeleri gerekir. Bu
şekilde kaydedilen verilere “dosya” adı verilir. Temel
anlamda program dosyaları ve veri dosyaları olmak üzere
iki dosya türü vardır.
Sabitler
“Sabit” olarak tanımlanan veriler problemin çözüm
süreci boyunca asla değişmeyen değerlerdir. Sabit
değerler sayısal, karakter ya da özel semboller olabilir.
Program çalıştığı sürece bu değer kendisine verilen isim
ile çağrılır ve değeri asla değiştirilemez. Örneğin, pi
değeri değişmeyen bir değer olacağı için sabit olarak
tanımlanmalıdır.
Değişkenler
5
Bilgisayar Bilimi Ders Notları-1
İfade ve Eşitlikler
İşlem Önceliği
Matematiksel, mantıksal ve ilişkisel operatörlerin bir
hiyerarşisi yani öncelikleri vardır.
En içteki ayraçtan en dıştakine doğru işlem yapılmalı,
ayraç içerisinde ise işlem önceliklerine dikkat edilmelidir.
6
Bilgisayar Bilimi Ders Notları-1
4. ÜNİTE PROBLEM ÇÖZME YAKLAŞIMLARI oluşturur. Akış şeması, program geliştirmeye başlamadan
Söz Dizimi önceki son adımdır. Akış şemasında hatalar rahatlıkla görülüp
Bilgisayarın işletim sistemi, dili ve uygulamalarına ilişkin düzeltilebilir. Akış şemalarını oluşturmak için kullanılan
kurallara “söz dizimi” denir. Bir hata oluşursa buna “yazılım evrensel simgeler ve bu her bir simgenin anlamı vardır.
hatası”; hatayı bulup düzenleme işlemine ise “hata
ayıklama” denir.
Problem çözme sürecini destekleyen düzenleme araçları:
1. Problem Analiz Çizelgesi
2. Etkileşim Çizelgesi
Dahili ve Harici Dokümantasyon
Örnek:
4. Algoritmalar
Bu çizelgeleri geliştirdikten sonraki adım, yapılacak işlemleri
bilgisayarın anladığı dilde yazabilmektir. Bu yönergeler
“algoritma” olarak adlandırılır. “Sözde kod” algoritmaya çok
benzer bir dildir ve bazen algoritma yerine kullanılabilir.
Algoritmayı oluşturmak, bilgisayarda problem çözme
sürecinin en zor bölümüdür. Modüller etkileşim çizelgesinden
ve süreç GSÇ çizelgesinden alınır. Algoritmadaki işlem sayısı,
programcının problemi çözme yoluna bağlıdır.
5. Akış Şemaları
Problem çözme surecimiz, bilgisayarın iletişim kurma
yöntemi ile şekillenir. Algoritma, bilgisayara hangi işlemi
hangi sırada yapması gerektiğini söyleyen yönergeler
bütünüdür. Akış şeması ise algoritmanın görsel gösterimidir.
Programcı, oluşturulan algoritmadan grafiksel gösterimler
7
Bilgisayar Bilimi Ders Notları-1
5. ÜNİTE PROGRAMLAMA YAPISI
Bu bölümden itibaren çözümleri bilgisayarın c) Döngüsel yapı, bir dizi işlemi tekrarlamak için
daha iyi anlayıp işleyebilmesi için kullanılan teknikler kullanılır.
anlatılacaktır. Diğer bir ifade ile bu teknikler, algoritmayı
oluşturan yönergeleri farklı biçimlerde yazmanıza
olanak sağlayacaktır.
Göstergeler
8
Bilgisayar Bilimi Ders Notları-1
ç) Durumsal yapı ise belirli bir duruma göre farklı zamandan kazanç sağlar. Modülleri oluştururken
işlemlerin yapılmasına olanak sağlar. aşağıdaki noktalara dikkat edilmesi önerilir.
3. Tekrarlayan işlemlerin tekrar tekrar yazılmasını Farklı modüller bir problemin çözümü için bir
önlemek için modüler yapı kullanınız. araya gelebilir. Program yönetimini kolaylaştırmak için
bir modül birden fazla modülden de oluşabilir.
4. Okunabilirliği ve anlaşılırlığı artırmak için anlamlı
değişken isimleri seçiniz ve çok iyi dokümantasyon Bağımlılık ve Birleşim
hazırlayınız.
Problem çözme sürecindeki en zor adım, çözümü
Modüller ve İşlevleri parçalara ayırmaktır. Her bir modülün hangi
işlemlerden oluşması gerektiği önemli bir karardır.
Bir yazarın, kitabını yazmaya başlamadan önce
Modüller hem farklı işlemleri yürütecek kadar
konuyu ve bölümleri düşünmesi, bir aşçının menüyü
birbirinden bağımsız olmalı hem de aynı veriler ile
hazırlamaya başlamadan önce yemek türlerini,
çalışacak kadar birleşik olmalıdır. Birbirine zıt bu iki
malzemeleri ve miktarları düşünmesi gibi bir
kavram bağlılık ve birleşim olarak adlandırılır. “Bağlılık”
programcıda programı yazmaya başlamadan önce
bir modülün diğer modüllerden bağımsız çalışabilme
detaylı bir biçimde problemi irdelemeli ve işlemleri
yeteneğidir. Her bir modül, bağımsız olarak tanımlanmış
gruplandırmalıdır. Ne zaman modüller etkileşim
işlem setini çalıştırır ve sonucu gönderir. Ancak
çizelgesinde doğru sıralanmış ise programcı her bir
modüller çalışırken verileri almaları ve sonucu
modül için kodu yazmaya başlayabilir. İyi bir programcı
göndermeleri sürecinde bilgi paylaşır. Bu veri paylaşımı
algoritmayı her bir modül için test eder, sorunlar varsa
sürecinde “birleşim” yaşanır. Birleşim, modüller arası
hemen çözüm üretir. Büyük bir program yerine küçük
iletişim oluşmasını sağlar.
parçaları kontrol etmek daha kolaydır ve bu,
9
Bilgisayar Bilimi Ders Notları-1
Yerel ve Global Değişkenler modülde bu değer için hafızada ayrılmış farklı bir yer
vardır. Böylece değeri ile çağırılan değişken için hafızada
Bir modül içinde tanımlanmış değişkenler iki farklı yer ayrılmıştır ve bunlar, farklı modüller
“yerel”; modüller dışında program genelinde tarafından değiştirilebilir.
kullanılmak üzere tanımlanmış değişkenler ise “global”
değişkenler olarak adlandırılır. Aralarındaki en önemli
fark, kapsamlarıdır. Bu kapsam, değişkenin ne zaman
nerede kullanılabileceğini belirler.Yerel değişkenler,
yalnızca tanımlandıkları modül içerisinde kullanılabilir.
Diğer modüllerin bu değişkenlere ilişkin hiçbir bilgisi
bulunmaz.Global olarak tanımlanan değişkenler ise
bütün modüller tarafından tanınır. Program çalıştığı
sürece hafızada tutulan ve işlem yapılabilen
değişkenlerdir.
Dönen Değerler
1. Yerel değişkenler
2. Parametreler
3. Dönen değerler