Tanım
Programlama, bilgisayar programlarının yazılması, test edilmesi ve bakımının yapılması sürecine verilen isimdir. Bir diğer deyişle programlama, bilgisayarın ya da hesaplama kapasitesi olan bir birimin donanımının çalışmasına yön veren komutlar, kelimeler, süreçler ve aritmetik işlemlerdir. (https://bilgeis.net/#/course?68)
Algoritma, belli bir problemi çözmek veya belirli bir amaca ulaşmak için tasarlanan yol. Matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesidir. Genellikle bilgisayar programlamada kullanılır ve tüm programlama dillerinin temeli algoritmaya dayanır. Aynı zamanda algoritma tek bir problemi çözecek davranışın, temel işleri yapan komutların veya deyimlerin adım adım ortaya konulmasıdır ve bu adımların sıralamasına dikkat edilmelidir. Bir problem çözülürken algoritmik ve sezgisel (herustic) olmak üzere iki yaklaşım vardır. Algoritmik yaklaşımda da çözüm için olası yöntemlerden en uygun olan seçilir ve yapılması gerekenler adım adım ortaya konulur. Algoritmayı belirtmek için ; metinsel olarak düz ifade ve akış diyagramı olmak üzere 2 yöntem kullanılır. Algoritmalar bir programlama dili vasıtasıyla bilgisayarlar tarafından işletilebilirler.
İlk algoritma, el Harezmi tarafından “Hisab el-cebir ve el-mukabala” kitabında sunulmuştur. Algoritma sözcüğü de El Harizmi’nin isminin Avrupalılarca telaffuzundan doğmuştur. (https://tr.0wikipedia.org/wiki/Algoritma)
Derse Erişim & İletişim
- Twitter: #BBY162
- ePosta: orcunmadran@gmail.com
Çevrim İçi Referans Siteleri
- python.org
- Python 3 Docs – https://docs.python.org/3/
Açık Eğitim Kaynakları
- KhanAcademy Türkçe > Algoritmalar
- Bilgeİş > Python Programlama 1 – Python Programlama 2
- MIT OCW > Introduction to Computer Science and Programming in Python
- EDX (Microsoft) > Introduction to Python I: Absolute Beginner
- EDX (Microsoft) > Introduction to Python II: Fundamentals
- EDX (Microsoft) > Introduction to Python III: Creating Scalable, Robust, Interactive Code
- EDX (University of Texas at Arlington) – Introduction to Programming Using Python
Ön Gereksinimler
- Python 3 – https://wiki.python.org/moin/BeginnersGuide/Download
- Python 3 Yükleme – https://www.python.org/downloads/
- Python IDE – Jet Brains PyCharm CE & EDU – https://www.jetbrains.com/pycharm/
- GitHub Hesabı – https://github.com/
PIP Kullanımı ve Ek Paketler
Değerlendirme
Proje Teslim Dokümanı için tıklayınız.
- Bilgeİş Python 1 ve 2 derslerinden sertifika alınması (%10)
Teslim Tarihi: 30 Nisan 2019
Açıklama: Bilgeİş portalından aldığınız sertifikaları GitHub hesabınızdaki BBY162 adlı deponun içine sertifika01.pdf ve sertifika02.pdf olarak yükleyiniz. - Uygulama 01 (%5)
Teslim Tarihi: 2 Nisan 2019, 23:59
Açıklama: 5 soruluk basit bir test uygulamasının puanlama sistemi ile birlikte python kodunu yazınız ve GitHub hesabınızdaki BBY162 adlı deponun içine uygulama01.py olarak yükleyiniz. - Uygulama 02 (%5)
Teslim Tarihi: 9 Nisan 2019, 23:59
Açıklama: 5 soruluk basit bir test uygulamasının (liste öğeleri ve döngüler mutlaka kullanılacaktır) python kodunu yazınız ve GitHub hesabınızdaki BBY162 adlı deponun içine uygulama02.py olarak yükleyiniz. - Uygulama 03 (%10)
Teslim Tarihi: 16.04.2019
Açıklama: Tüm özellikleri ile çalışan bir adam asmaca oyununun python kodunu yazınız ve GitHub hesabınızdaki BBY162 adlı deponun içine uygulama03.py olarak yükleyiniz. - Uygulama 04 – Mini Sınav (%10)
Teslim Tarihi: 24 Nisan 2019, Ders Saati
Sınav dosyası: Mini Sınav
Açıklama: Mini sınavda yer alan üç sorunun cevabını tek bir dosya içerisinde yorum bölümleri ile soruları ayırarak hazırlayınız ve GitHub hesabınızdaki BBY162 adlı deponun içine uygulama04.py olarak yükleyiniz. - Dönem içi alınan toplam notunuzu (%40) öğrenmek için tıklayınız.
- Final Projesi (%60)
Teslim Tarihi: 11 Haziran 2019, Salı, 23:59 – GitHub
Sunum Tarihi (Final Sınavı): 12 Haziran 2019, Çarşamba, 13:30 – Lab
Teslim Şekli: Hazırlanacak projenin tüm dosyaları GitHub hesabınızdaki BBY162Final adlı deponun içinde olacaktır. Python projenizde ilk çalıştırılacak olan dosyanın adını index.py olarak belirlemeniz gerekmektedir. Projenizi “Final Sınavı” kapsamında Lab’da sunmanız gerekmektedir
Açıklama: Final projesi temel özellikleri ile basit bir kütüphane kataloğu olacaktır. Final projesinin modüler bir yapıda kodlanması gerekmektedir. Kodlama yapılırken nesne yönelimli programlama prensiplerine bağlı kalınarak sınıflar ve modüller kullanılmalıdır. Bu elektronik kataloğun sahip olması gereken özellikler aşağıda listelenmiştir:- Yazılım içinde navigasyonu sağlayacak bir menü.
- Katalogdaki eserlerin listelenmesi.
- Yeni eser girişi (Eser Adı, Yazar Adı, Tarih).
- Eser adına, yazar adına ya da tarihe göre arama ve arama sonuçlarının listelenmesi.
- Katalogdaki veriler TXT dosyasına yazılacak ve okunacaktır. Herhangi bir veritabanı yapısı kullanılmasına gerek yoktur.