Bilgisayar Programlamasına ve Veri Analizine Giriş

Slides:



Advertisements
Benzer bir sunumlar
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Advertisements

FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
Bilgisayar Programlama I
Değişken , Veri Türleri ve Operatörler
C Programlama Diline Giriş
Dizi (array) değişkenleri
BPR151 ALGORİTMA VE PROGRAMLAMA - I
NESNEYE DAYALI MODELLEME VE TASARIM
Tek Tablo İçinde Sorgulamalar
JavaScript Javascript , Netscape firması tarafından C dilinden esinlenilerek yazılmıştır Yazılma amacı Html'in sahip olmadığı bazı özelliklerin web sayfalarında.
Yapısal Program Geliştirme – if, if-else
OPERATÖRLER.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
İnternet Programcılığı II
METODLAR Canan Işıl. 1 İçindekiler Açıklamalar, Örnekler, Sorularınız? Kaynakça, Teşekkürler..
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
C ile Programlamaya Giriş
DEĞİŞKENLER, VERİ TÜRLERİ VE OPERATÖRLER
İnternet Programlama PHP.
Temel Kavramlar, İşlemler, Operatörler
İnternet Programcılığı II
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
İnternet Programlama - 2
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Dyned sunusu.
PROGRAMLAMA 2. Hafta TEMEL KAVRAMLAR.
Python Programlama Dilini Oyun Oynayarak Öğreniyorum
DynEd İngilizce Dil Eğitimi Sistemi Kurulumu
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
Değişkenler Programda Değişken Tanımlama. Değişken nedir? (Variables) Program içinde kullanılan veri(data)nin tutulduğu alanın adıdır. Her veri bir tür.
BMS-301 Kabuk Programlama Güz 2015 (5. Sunu) (Yrd. Doç. Dr. Deniz Dal)
Adım Adım Algoritma.
ALGORİTMA NEDİR? İster bilgisayarda, ister matematikte, isterse günlük hayatta karşımıza çıkan her problemin çözüm yolu vardır. Örneğin yemek yerken farkında.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Bilgisayar Programlamaya Giriş - 1
PROGRAMLAMAYA GİRİŞ VE ALGORİTMA
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
BİLGİSAYAR PROGRAMLAMA DERSİ
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
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.
C Programlama Dili Bilgisayar Mühendisliği.
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H11
VERİ TÜRLERİ.
ACTIONSCRIPT TEMELLER İ SAVAŞ TUNÇER
Bilgisayar Programlamasına ve Veri Analizine Giriş
Bilgisayar Programlamasına ve Veri Analizine Giriş
Bilgisayar Programlamasına ve Veri Analizine Giriş
Bilgisayar Programlamasına ve Veri Analizine Giriş
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
Veri Tipleri 12/4/2018.
Bilgisayar Programlama
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
Bilgisayar Programlamasına ve Veri Analizine Giriş - VII
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bilgisayar Programlamasına ve Veri Analizine Giriş
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Bilgisayar Programlamasına ve Veri Analizine Giriş
Google Colab Dosyaları Nasıl Kullanılır?
Bilgisayar Programlamasına ve Veri Analizine Giriş - VII
Bilgisayar Programlamasına ve Veri Analizine Giriş - III
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Fonksiyonlar-1.
Bilgisayar Programlamasına ve Veri Analizine Giriş - VI
Sunum transkripti:

Bilgisayar Programlamasına ve Veri Analizine Giriş Sabancı Üniversitesi Lise Yaz Okulu 2017 - 2. Dönem 1. ders 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Biz kimiz? Hocanız Erkay Savaş erkays@sabanciuniv.edu Ofis: FENS 1098 Asistanlarınız Barkın Kaplan barkinkaplan@sabanciuniv.edu Ofis saati (sorularınız için): 17:00 – 18:00 Burak Ayaz bayaz@sabanciuniv.edu Ofis saati (sorularınız için): 11:00 – 12:00 Muhammed Kerem Kahraman kkerem@sabanciuniv.edu Ofis saati (sorularınız için): 10:00 – 11:00 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Biz kimiz? Asistanlarınız Çağrı Uluç Yıldırımoğlu cagriuluc@sabanciuniv.edu Ofis saati (sorularınız için): 13:00 – 14:00 Bahadır Yurtkulu byurtkulu@sabanciuniv.edu Ofis saati (sorularınız için): 12:00 – 13:00 Ömer Serhat Dai omerdai@sabanciuniv.edu Ofis saati (sorularınız için): 14:00 – 15:00 Ofis saatleri FENS L068'de olacak. 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Bu derste neler yapacağız? Bilgisayar Programlamasına Giriş Temel Programlama Mantığı Algoritma Bilgisayarı Tanıyacağız “Python” programlama dilini öğreneceğiz Veri Analizi Twitter verilerinden faydalı/aradığımız bilgileri elde edeceğiz Başka veri işleme tekniklerini de göreceğiz Örn. şifreleme 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Ders Notları ve Örnek Kodlar Ders notlarını (bu ppt dosyaları) ve bazı örnek kodlar http://people.sabanciuniv.edu/erkays/lyo2017 adresinden dağıtılıyor olacak Her dersten sonraki birkaç saat içinde 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Önce Bir Film İzleyelim! 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Neden Programlama Öğrenmeliyiz? Çünkü bize düşünmeyi öğretir Yaşantımızın (özel ya da mesleki) her alanında faydalı Bilgisayar okur-yazarlığı Programlama ile ilgili bir meslek seçebiliriz (Bilgisayar mühendisi, sistem mühendisi vb.) Okulda ödevlerimizi yapmamıza yardımcı olabilir  Programlama gerçekten eğlencelidir  17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Bilgisayarın Temel Bileşenleri 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Merkezi İşlem Birimi CPU 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Bilgisayar Belleği 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Giriş Cihazları 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Çıkış Cihazları 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Bilgisayarı Programlamak Bilgisayar aslında kendi başına bir şey yapamaz Bu açıdan çok da akıllı değildir. Akıllı olan biziz! Bilgisayara yapılacak işi biz tarif ederiz, Bilgisayar da bunu çok hızlı bir şekilde yapar Bunun için bilgisayarın dilini konuşmamız gerekir Bilgisayar bizim dilimizi konuşamaz! 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Algoritma Bilgisayara yapılacak işi nasıl tarif ederiz? Yapılacak işin nasıl yapılacağını bilmemiz gerekir Bunun için algoritmalar vardır “Algoritma, matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, belli bir problemi çözmek veya belirli bir amaca ulaşmak için çizilen yola algoritma denir.” Aslında, algoritma bilgisayarın anlayacağı şekilde bir çözüm yönteminin adım adım tarifidir. 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

ALGORİTMA Lamba çalışmıyor bilgisayarın anlayacağı şekilde bir çözüm yönteminin adım adım tarifidir. Lambanın fişi takılı mı? Hayır Fişi tak Evet Ampul patlak mı? Evet Ampulü değiştir Hayır Yeni bir lamba al! 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Algoritma Örneği Verilen beş tane tam sayının içinden en küçüğünü bulmak istediğimizi farz edelim {x, y, z, t, w} Bu değişkenler her seferinde farklı değerler alabilir {10, 5, 19, 14, 17} {87, 45, 33, 40, 77} Herhangi bir beş sayı için çalışan bir yöntem bulmamız gerekiyor 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

En Küçük Sayıyı Bulma Algoritması 5 SAYIDAN EN KÜÇÜĞÜNÜ BULMA ALGORİTMASI 10 , 5 , 19 , 2 , 17 1. adım: İlk sayıyı mavi kutunun içine yaz 5 10 2 2. adım: İkinci sayı ile mavi kutudaki sayıyı karşılaştır, küçük olanını mavi kutuya yaz. 3. adım: Üçüncü sayı ile mavi kutudaki sayıyı karşılaştır, küçük olanını mavi kutuya yaz. 4. adım: Dördüncü sayı ile mavi kutudaki sayıyı karşılaştır, küçük olanını mavi kutuya yaz. 5. adım: Beşinci sayı ile mavi kutudaki sayıyı karşılaştır, küçük olanını mavi kutuya yaz. 6. adım: Mavi kutudaki sayı en küçük sayıdır. 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Algoritma Örneği Beş tane tam sayıyı büyükten küçüğe sıralamak istediğimizi farz edelim x, y, z, t, w Bu değişkenler her seferinde farklı değerler alabilir 10, 5, 19, 14, 17 87, 45, 33, 40, 77 Herhangi bir beş sayı için çalışan bir yöntem bulmamız gerekiyor 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sıralama Kontrol Algoritması Verilen sayıların zaten sıralı olup olmadığını nasıl kontrol edebiliriz? 5, 10, 14, 17, 19 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sıralama Algoritması 10, 5, 19, 14, 17 5, 10, 19, 14, 17 5, 10, 14, 19, 17 5, 10, 14, 17, 19 87, 45, 33, 40, 77 45, 87, 33, 40, 77 45, 33, 87, 40, 77 45, 33, 40, 87, 77 45, 33, 40, 77, 87 33, 45, 40, 77, 87 33, 40, 45, 77, 87 Bu Kabarcık Sıralama (İngilizce «Bubble Sort») algoritmasıdır. 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Neden Python? Kullanımı kolay olmasına rağmen güçlü bir dil olması Okunma kolaylılığı Hem Internet yazılımlarında, hem de çevrim dışı (offline) yazılımlarda kullanılabilmesi Python kullanıcılarının birbirlerine olan modül destekleri Yazması eğlenceli olması  17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Neden Python? 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Python’u Nasıl İndiririz ve Kurarız? https://www.python.org/downloads/release/python-2712/ Genel Sayfa Windows x86-64 MSI installer 64bit AMD işlemciler için Windows x86 MSI installer Daha genel 32 ve 64 bir işlemciler için, Windows kullanıyorsanız önce bunu deneyin Mac OS X 32-bit i386/PPC installer MacOS 10.5 için Mac OS X 64-bit/32-bit installer MacOS 10.6 için – eğer Mac kullanıyorsanız ve MacOS versiyonunu bilmiyorsanız önce bunu deneyin Dosyayı indirdikten sonra çift tıklayıp açın. Yüklemede gösterilen talimatları yerine getirin 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Python’u Nasıl Kurarız? 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

IDLE: Çalışma Ortamımız 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Program Yazabiliriz 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Programlarımızı Saklayabiliriz 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Programlarımızı Saklayabiliriz 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sakladığımız Programı Çalıştırabiliriz 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

PYTHON IDLE VE PYTHON SHELL IDLE kodunuzu yazıp kaydedebileceğiniz bir yerdir. F5 tuşu yazdığınız kodu Shell’in içinde yürütür. IDLE yerine “Notepad++”, “Skite”, “PyCharm” gibi başka editörler de kullanılabilir. Özellikle “PyCharm” Python için iyi bir editördür, çünkü kodun yazım sürecinde programcıya destek olur. Shell de kod için kullanılabilir, ama kodunuz yazılıp yürütüldükten sonra kaydedilmez. Shell kısa kodların test edilmesi için idealdir. Önemli Not: Program içinde hiçbir yerde Türkçe karakter (ı,İ,ç,Ç,ö,Ö,ş,Ş,ü,Ü,ğ,Ğ) kullanmayın; kullanırsanız programınız kaydedilemez ve programınızı kaydedemeden kaybedebilirsiniz. 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Aritmetik İşlemler >>> 103*5 515 >>> 100/2 50 >>> 101/2 >>> 11.0/2 5.5 >>> 111/4.0 27.75 Tam sayılar arasında yapılan bölme işlemi "tam sayı bölmesi"dir . Daima alta yuvarlar. "Reel (float) sayı bölmesi" yapmak için sayılardan en az bir tanesi reel sayı olmalıdır. 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Aritmetik İşlemlerde Öncelikler >>> 1+2*3 7 >>> (1+2)*3 9 >>> 2.0/2.0*2.0 2.0 >>> 2.0/(2.0*2.0) 0.5 Çarpma ve bölme işlemleri, toplama ve çıkarma işlemlerinden daha önce yapılır. Gerekiyorsa parantez kullanarak toplama çıkarma işlemlerinin önce yapılmasını sağlayabiliriz. Önce parantezlerin içi yapılır. Çarpma ve bölme işlemleri yazıldıkları sırayla (soldan sağa) yapılırlar. Önceliklendirme yapmak gerekiyorsa, yine parantez kullanarak bunu sağlayabiliriz. 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Değer Tipleri >>> 5 5 >>> 3+6 9 >>> 3.5 3.5 >>> 3.5 + 0.6 4.1 >>> 3.5 + 0.5 4.0 >>> 10/2 >>> 11/2 5 bir tam sayı (int) değeridir 3+6 ifadesi bir tam sayı değeridir (çünkü bu ifadenin hesaplanmış değeri olan 9 bir tam sayı değeridir) 3.5 bir reel sayı (float) değeridir 3.5 + 0.6 ifadesi bir reel sayı değeridir (çünkü bu ifadenin hesaplanmış değeri olan 4.1 bir reel sayı değeridir) 3.5 + 0.5 ifadesi bir reel sayı değeridir (çünkü bu ifadenin hesaplanmış değeri olan 4.0 bir reel sayı değeridir) 10/2 ifadesi bir tam sayı değeridir (çünkü bu ifadenin hesaplanmış değeri olan 5 bir tam sayı değeridir) 11/2 ifadesinin tipi nedir? 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Değer Tipleri >>> "Merhaba Dunya" 'Merhaba Dunya' >>> "Isminiz nedir?" 'Isminiz nedir?' >>> 'Merhaba Dunya' "Merhaba Dunya" ifadesi bir yazı (string) değeridir "Isminiz nedir?" ifadesi bir yazı değeridir 'Merhaba Dunya' ifadesi bir yazı değeridir 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Değişkenler Değişik değer alabilirler. Bilgisayarda değişkenler, değişik değerleri koyacağımız kutucuklar olarak düşünülebilir. >>> a = 1 >>> a 1 >>> b = 2 >>> a+b*3 7 >>> b = 4 >>> a+b 5 >>> Hiçbir şey olmadı!!! Aslında oldu… a isminde bir değişken yaratıldı ve değeri 1 olarak atandı. Değişkenin tipini nasıl biliyor? Atadığımız değerin tipinden otomatik olarak alıyor. Matematikteki değişkenlerle karıştırmamalıyız! >>> x = 5 >>> x 5 >>> print x >>> x = x+2 7 Daha önce yaratılan b değişkeninin değeri 4 olarak değiştirildi. Sadece x demekten ne farkı var? Shell içerisinde yok, ama program içerisinde var. Deneyelim… 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Küçük-büyük harfe duyarlı Python’da komutlar ve değişken isimleri büyük harf / küçük harfe duyarlıdır. >>> a = 1 >>> a 1 >>> A Traceback (most recent call last): File "<pyshell#3>", line 1, in <module> A NameError: name 'A' is not defined >>> A=2 >>> a+A 3 >>> print a >>> Print a SyntaxError: invalid syntax Büyük A ve küçük a iki farklı değişken ismidir. Büyük P ile başlayan Print tanımlı bir fonksiyon olmadığı için hata alıyoruz. 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu

Sabancı Üniversitesi Lise Yaz Okulu Değişken Tipleri “String” bir karakter dizisidir. >>> ad = Erkay Traceback (most recent call last): File "<pyshell#13>", line 1, in <module> ad = Erkay NameError: name ‘Erkay' is not defined >>> ad = "Erkay" >>> print "Merhaba", ad Merhaba Erkay >>> print "Bana", ad, "deme,", ad, "Hocam de" Bana Erkay deme, Erkay Hocam de! >>> print "Bana %s deme, %s Hocam de" %(ad, ad) 17.09.2018 Sabancı Üniversitesi Lise Yaz Okulu