BBY 162 Programlama ve Algoritmalar

Ön Koşul

Bu dersin ön koşulu BBY 161: Bilgisayar Yazılımı dersidir. Programlama ve Algoritmalar dersini alabilmek için BBY 161 kodlu dersten başarılı olmanız gerekmektedir.

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

Çevrim İçi Referans Siteleri

Açık Eğitim Kaynakları

Ön Gereksinimler

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.