Professional Documents
Culture Documents
Bilgisayar
Programlama I
2021-2022 Güz
Hafta 1: Giriş
2
Ajanda
• Dersin İşleyişi ve Kurallar
• Giriş
• Bilgisayarlar
• Donanımsal ve yazılımsal bileşenler
• Programlama nedir?
• Bilgisayar programı nedir?
• Programlama dili nedir?
• Bilgisayar programı nasıl yazılır?
• Ortak çalışma
3
Dersin İşleyişi ve Kurallar
➢ Teori (3) + Uygulama (2) : 5 AKTS
➢ Yüzyüze eğitim
• Pandemi devam ediyor: Maske - Sosyal mesafe - Aşı
• 40-45 dakika ders, 10-15 dakika ara
• Arada sınıf boşaltılıp havalandırılacak
• Başlangıç Saati: 09:15
➢ Derse Katılım
• Teori: en az %70, Laboratuvar: en az %80 zorunlu
• Yoklama
• Tümüne katılım tavsiye olunur
➢ Laboratuvar dersi bu hafta olmayacak, başlayacağı
zaman ilan edilecek!
4
Dersin İşleyişi ve Kurallar (devam)
➢Düzenli takip edilmesi gereken adresler
• ÖBS
• Takip etmek öğrencinin yükümlülüğü
• Duyurular, notlar, ders kayıt işlemleri
• Ekampus: Bursa Teknik Üniversitesi Öğrenme Ortamı
• Haftalık ders materyali paylaşımı: videolar, linkler, ödevler..
• Ders ve laboratuvar işleyişi ile ilgili duyurular
• http://ekampus.btu.edu.tr/
• Bölüm ve üniversite web siteleri
• Bölüm ve üniversite ile ilgili genel duyurular
• Ders programları
5
Dersin İşleyişi ve Kurallar (devam)
➢Dersle ilgili sorular
• Sınıfta
• Ders esnasında ve aralarda
• Çevrimiçi görüşme
• Randevu ile
• E-posta
• Ekampus ders sayfası forumu
➢Diğer önemli hususlar
• Lütfen akademik bütünlüğü ve dürüstlüğü sağlamamıza yardımcı olun:
• Ödevler/projeler ile ilgili alınan yardımları belirtin (kitaplar, arkadaşlar, web, vb.)
• Başkalarının çözdüğü koda veya cevaplarına bakmayın
• Çözümlerinizi başkalarına vermeyin veya bunları web'de veya ders forumunda yayınlamayın
• Başkaları tarafından yapıldığını gördüğünüz uygunsuz etkinlikleri bildirin.
• Ödevler benzerlik açısından düzenli olarak kontrol edilecek
• Dersin yürütücüsü tarafından paylaşılacak tüm materyallerin kullanımı sadece ilgili ders
kapsamında gerçekleştirilecek faaliyetler ile sınırlıdır. Bu nedenle ilgili materyallerin ders
dışında kullanımları ve/veya başka kişilerle, platformlarla paylaşımı ve çoğaltılması 5846
sayılı Fikir ve Sanat Eserleri Kanunu ile 6698 sayılı Kişisel Verilerin Korunması Kanun'larına
göre ihlal oluşturacak ve hukuki/cezai sonuç doğurabilecektir.
6
Kaynaklar
• Textbooks:
• C How to Program, by P. Deitel, H. Deitel, 8th ed., 2016, Pearson
• Problem Solving and Program Design in C, by Hanly and Koffman -
2016
• C Programming: A Modern Approach, by K.N.King, 2008
• The C Programming Language. Kernighan, Brian, and Dennis
Ritchie, 1988,
• BTÜ Kütüphanesi:
• C, the complete reference, Herbert Schildt, 4th Edition.
• C ile Programlama, P. Deitel, H. Deitel, 7. baskı, Palme, ISBN:
9786053556237
• C programlama dili, by Şerafettin Arıkan, ISBN: 9789750227820 (In
Turkish)
• Online:
• https://www.tutorialspoint.com/cprogramming/index.htm
7
Ajanda
• Dersin İşleyişi ve Kurallar
• Giriş
• Bilgisayarlar
• Donanımsal ve yazılımsal bileşenler
• Programlama nedir?
• Bilgisayar programı nedir?
• Programlama dili nedir?
• Bilgisayar programı nasıl yazılır?
• Ortak çalışma
8
Bilgisayarlar
• Heryerdeler
9
Bir bilgisayar...
... yapabilir.
Peki Nasıl?
This Photo by Unknown Author is licensed under CC BY-SA
10
Bilgisayar: Programlanabilir bir makine
Perform calculations
Data on data
Data
- Dış dünyadan veri alır • Sonuçları dış dünyaya geri gönderir
- Rakamlar, resimler, ses
11
Bilgisayar
Donanım Yazılım
(Hardware) (Software)
12
Bilgisayar Donanımı
• Ana bellek-hafıza (Main memory/RAM)
• İkincil depolama (Secondary Memory)
• İşlemci (Central Processing Unit-CPU)
• Giriş aygıtları (İnput Devices)
• Çıkış aygıtları (Output Devices)
• main memory
• secondary memory
• central processing unit
• input devices
• output devices
© 2016 Pearson Education, Ltd. All rights reserved. © 2016 Pearson Education, Ltd. All rights reserved.
15
İkincil depolama (Secondary Storage)
•İkincil depolama
• sürücüye giden güç kapalıyken bile verileri tutan
diskler veya flash sürücüler gibi birimler
• disk
• Verilerin raylar halinde düzenlenmiş manyetize
noktalarla temsil edildiği ince metal veya plastik
plaka
• optical drive
• CD, DVD veya Blu-ray Disk'teki verilere erişmek veya
bunları depolamak için lazer kullanan cihaz
• flash sürücü
• USB bağlantı noktasına takılan ve veri bitlerini
kapana kısılmış elektronlar olarak depolayan cihaz Secondary Storage Media
Low
24
Entering,
Translating,
and Running
a High-Level
Language Program
Perform calculations
Data on data
Data
- Dış dünyadan veri alır • Sonuçları dış dünyaya geri gönderir
- Rakamlar, resimler, ses
29
Bir bilgisayar programı..
30
• İnsan davranışı -> nesnelere uygulanan eylemlerin mantıksal sıralaması
• Otomatik ☺
• Basit bir süreç hayal edin: bir sayfayı elle çevirmek
Programlama
nedir?
31
• İnsan davranışı -> nesnelere uygulanan eylemlerin mantıksal sıralaması
• Otomatik ☺
• Basit bir süreç hayal edin: bir sayfayı elle çevirmek
Programlama
Bu süreçte kaç tane nöron ateşlenir?
nedir?
Kaç tane kas tepki vermeli?
hepsi belirli bir sırayla
sadece kolunuzu ve elinizi hareket ettirmek için
• Hepsi bilinçsiz
• Bilinçsizce yaptığınız şeylerin çoğunu bir zamanlar öğrenmek
zorundaydınız.
• Örn: Bir bebeğin yürümeyi öğrenirken bir ayağını diğerinin önüne koymaya nasıl
konsantre olduğunu izleyin 32
Programlama ve Problem Çözme
• Programlama ... …. bilgisayarlara görevleri yerine
getirme talimatı verme eylemi.
33
Ortak Çalışma: Fıstık Ezmesi ve Ballı Sandviç Yapımı
34
Ortak Çalışma: Fıstık Ezmesi ve Ballı Sandviç Yapımı
35
Ortak Çalışma: Fıstık Ezmesi ve Ballı Sandviç Yapımı
36
‘Başarı, başarısızlıktan başarısızlığa coşkuyu hiç
kaybetmeden gitmekten ibarettir...‘
Winston Churchill
37
Çıkarılan Dersler
✓ Çözümler iteratif (tekrarlamalı) olarak aranmalıdır
✓ İlk denemeniz muhtemelen yanlış olacaktır
▪ bu tümüyle normal
✓ Talimatlar kesin, net ve nicel olmalıdır
▪ Bilgisayar neyi başarmaya çalıştığınızı bilmiyor
✓ Çözüm tasarımınız hakkında iyi düşünün
▪ Bilgisayar neyi başarmaya çalıştığınızı bilmiyor
▪ Bir kolu hareket ettirmeleri söylenirse, durmaları söylenene kadar bir kolu hareket ettirmeye devam
edeceklerdir.
✓ Bir bilgisayarın nasıl "düşündüğünün" farkında olun
✓ İyi bir "program" veya süreç, meydana gelebilecek tüm olasılıkları hesaba katmalıdır.
▪ Birinin fıstık ezmesi kavanozunu açık bıraktığını hayal edin. ("sonsuz döngü(infinite loop)")
▪ İyi bir mühendis bu olası problemi fark edecek ve tasarıma bir kontrol ekleyecektir:
▪ Fıstık ezmesi kavanozu açık mı? Değilse, ... (kavanozu açın). Eğer öyleyse, ... (bıçağı tut vb.).
38
• Programlama adı verilen bir süreçle hem bilinçli hem de
bilinçsiz olarak düzen yaratırız
• Bilgisayar : Verileri depolayabilen, alabilen ve işleyebilen
programlanabilir bir cihazdır.
Wrap – up • Veri (Data): Bilgisayarın kullanabileceği bir biçimdeki bilgidir
- > örnek: sayılar ve harfler.
• Bilgi (Information) Soyut fikirler ve kavramlar da dahil olmak
üzere iletilebilen herhangi bir bilgidir. -> örnek: “.”
-> örnek: “Dünya yuvarlaktır.”
39
Bilgisayar programı yazmak
• Bilgisayar programı nasıl yazılır?
• Bir bilgisayar (henüz) akıllı değildir.
• Bir sorunu analiz edip (henüz) bir çözüm üretemez.
• Yapay zeka??
• Bir insan (programcı) sorunu analiz etmeli, sorunu çözmek için
yönergeler geliştirmeli ve ardından bilgisayarın yönergeleri yerine
getirmesini sağlamalıdır.
• Bir bilgisayarın izleyeceği bir program yazmak için iki aşamalı
bir süreçten geçmeliyiz: problem çözme ve uygulama
40
Understand the Translate the algorithm
problem and what the (the general solution)
solution must do into a programming
language
Specify the logical
sequences of steps that
solve the problem Have the computer
follow the instructions.
If you find errors,
Follow the steps to see analyze the program
if the solution really and algorithm, correct
does solve the problem
41
• İyi yapılandırılmış bir algoritmanız varsa, programınızı
istediğiniz dilde yazabilirsiniz.
• Algoritmalar, programlama sürecinin kalbidir!
42
Adımların özeti:
43
Haftaya görüşmek
üzere!
44