Bu sayfada ders içeriklerine destek olması amacıyla sunulmuş çeşitli araçlar bulunmaktadır. LAB, ödev ve vize ve final sınavlarına hazırlık için kullanılacaktır.
Araç Adı
İçerik
Adres
Akış Diyagramı Uygulaması
Akış diyagramlarının öğrenilmesinde faydalı bir araçtır. Aracın kullanım kılavuzuna erişmek için tıklayınız.
Öğrencilerin soru sorup yanıt alabileceği bir soru cevap sistemi sunulmaktadır. Ders duyuruları, öğrenci soruları ve cevapları için bir platformdur. Aşağıdan erişebilirsiniz.
2019-2020 Yılı Verilen Projeler ve Öğrencilerin Hazırladığı Proje Teslim Dosyaları:
Yapay Zeka ile Kanser Tespiti
Bu proje yapay zeka uygulamalarında kullanılan bir algoritma olan kNN (k Nearest Neighborhood, En Yakın k Komşu) algoritması gerçeklenecektir. Gerçeklenen algoritma ile, UC Irvine Üniversitesi’nin sağlamış olduğu Göğüs Kanseri verileri işlenecektir. Hasta olup olmadığı belli olmayan bir kişinin verileri sisteme beslenerek, hastalık tahmini yapılacaktır.
Bu projede görüntü işleme uygulamalarında sıklıkla kullanılan bazı filtreler gerçeklenecektir. Filtreler, görüntüyü yumuşatma, görüntüdeki gürültüleri azaltma, kenar bulma, görüntü keskinleştirme ve inceltme olarak sıralanabilir.
Tarihte ilk bilinen şifreleme yöntemi olan Sezar şifreleme yöntemi ile şifreleme ve çözme yapılacaktır. Bu şifrede, her harf o harften birkaç sonraki harf kullanılarak yazılır. Bir metin içeren dosya okunup, şifrelenerek kaydedilecektir. Şifrelenmiş dosyalar çözülerek kaydedilecektir.
RLE (Run Length Encoding) kayıpsız bir sıkıştırma yöntemidir. Birçok büyük sıkıştırma algoritmasının alt algoritmalarındandır (Örn. JPEG sıkıştırma). Veri içindeki tekrarları tespit eder ve tekrarları ortadan kaldırarak veri boyutunu azaltır. Bu projede verilecek test dosyası RLE algoritması ile sıkıştırılarak kaydedilecek. Sıkıştırılmış olan dosya tekrar çözülerek orijinal dosya geri elde edilecektir.
Pong Oyunu, 2 boyutlu grafiklere sahip bir tenis oyunudur. Tek kişilik bir oyundur. Bilgisayar’a karşı yarışılır. Görsel içeriğin hazırlanması için SDL (Simple DirectMedia Layer) kütüphanesi kullanılmaktadır. Verilen başlangıç tasarımının üzerine bilgisayar’ın otonom hareketlerini yapacak bir algoritma geliştirilecektir.
Adam asmaca oyunu, daha önceden belirlenmiş olan bir kelimenin tahmin edilmesine dayalı bir oyundur. Oyun başladığında belirlenmiş olan gizli kelimenin harflerinin kullanıcıdan tahmin edilmesi istenmektedir. Kelimenin harfi doğru tahmin edildiğinde ilgili harfler yerleri ile birlikte gösterilir. Yanlış tahmin edildikçe ekrana adım adım asılan bir adam çizdirilir.
Bu dersin amacı algoritma tasarımı, analizi ve optimizasyonu yapabilme becerisi kazandırmaktır. Ders kapsamında problem çözme, C dili ile çeşitli algoritma geliştirme yöntemleri aktarılmaktadır. Kontrol yapıları, döngüler, fonksiyonlar, diziler, işaretçiler kullanılarak bilgisayar programlarının tasarımları öğretilmektedir. Dosya işleme, yapılar ve kullanım alanları, yeniden kullanılabilir kod kavramı ve verimli kod geliştirme kavramları hakkında bilgi verilmektedir.
Ders Saatleri (Teorik + Lab)
Salı 09.00-13.00
Öğretim Elemanları ve Ofis Saatleri
Dr. Öğr. Üyesi Vecdi Emre Levent, Ofis 311 – Pazartesi 17.00-18.00, Salı 16.00-17.00
Dersin referans kaynakları aşağıda listelenmektedir.
Kernighan & Ritchie, The C Programming Language, Prentice Hall
Deitel & Deitel, C How to Program, Prentice Hall
Problem Solving & Programming Design In C, Fourth Edition, Jeri R. Hanly and Elliot B. Koffman
Introduction to Algorithms, Third Edition, T.H. Cormen, C.E. Leiserson, R.L. Rivest and C. Stein, MIT Press
Yazılımlar
C dili ile geliştirilecek olan uygulamalar, Visual Studio Community kullanılarak derlenecektir.
Dersler
Dersin haftalık 2 saat teorik, 2 saat laboratuvar bölümü bulunmaktadır. Öğretim üyesi tarafından verilen ders materyallerinin ders öncesi incelenip, ders sonrasında ise tekrar edilmesi beklenmektedir.
Öğrenim Çıktıları
Bir problemin birden çok çözüm yöntemini kıyasyabilme
Basit veri yapılarıyla algoritma kurma becerisi
Yeniden kullanılabilir ve optimize kod tasarımı
Özyinelemeli fonksiyonlar ile tasarım
C dili ile algoritma geliştirme kabiliyeti
Quizler
Dönem içerisinde iki adet quiz yapılacaktır. 30 dk süre verilecektir. Quiz tarihi bir hafta önceden duyurulacaktır.
Notlandırma
Derslere %80 oranında devam zorunludur.
Dönem notu; vize, lablar, ödevler, proje ve final sınavı ile belirlenecektir. Değerlendirme yüzdeleri aşağıdaki tabloda verilmiştir.
Faaliyetler
Oranlar
Vize
%15
Ödev/Quiz
%10
Lab
%15
Proje
%40
Final
%20
Bonus
5 Puan’a kadar
Ödev ve quizlerin teslim saati üzerinden her geçen saat için 5 puan kesilecektir.
Dönem sonu notunun karşılık geldiği ağırlık ve harf notu aşağıdaki tabloda verilmiştir.
Dönem Notu
Ağırlık
Harf Notu
90-100
4.00
AA
85-89
3.50
BA
80-84
3.00
BB
75-79
2.50
CB
65-74
2.00
CC
50-64
1.50
DC
45-49
1.00
DD
0 -44
0
FF
Beklenen Efor
Öğrencinin dönem içinde göstermesi beklenen efor tablosu aşağıda verilmiştir.
İçerik
Saat
Kaç Defa
Ara Toplam
Derse Hazırlık
2
14
28
Ders Tekrarı
2
14
28
Ödev
4
6
24
Proje
48
1
48
Sınıf Dersi
4
14
56
Ara Sınav ve Final
3
2
6
Öğrenciler dersten başarılı olmak için dönem boyunca ortalama 190 saat harcamaları beklenmektedir.
Verilecek her bir ödev için test girişi ve beklenen çıkışlar paylaşılacaktır. Ancak ödev kontrolü yapılırken sizinle paylaşılmamış başka test durumları da denenecektir. Çalışma zamanı, beklenenden çok uzun süren kodlar yanlış olarak değerlendirilebilir.
Teori
Kod, istenen algoritmanın tasarımı olmalıdır. En optimum çözüm beklenmemektedir. Ancak bellek ve çalışma zamanı beklenenden çok fazla olmamalıdır.
Yazılı Ödevler
Ödev kendi el yazınız ile yazılmalıdır. Ödev cevap kağıtının üzerinde, dersin adı, öğrenci adı ve soyadı, öğrenci numarası ve tarih bulunmalıdır.
Akademik Dürüstlük
Ödevin amacı, ders hakkında derinlemesine araştırma yapmayı öğrenmek ve pratik bilgiler kazanmayı sağlamaktır. Verilen ödevler hakkında, diğer öğrenciler ile birlikte çalışma teşvik edilmektedir. Çalışma grubu oluşturan öğrenciler, kendi başına çalışan öğrencilere göre sınavlarda daha başarılı olmaktadırlar.
Ancak bir ödevi çözmek için başkaları ile birlikte çalışsanız bile, her bir sorunun çözümünü yardım almadan kendiniz yapmalısınız. Çözümünüzü bir araştırma yolu ile elde ederseniz (örn. bir internet araması), çözümü kendi cümle ve/veya kodunuz ile ifade etmelisiniz. Çözümü sözlü olarak sorulduğunda, öğrencinin açıklayabilmesi beklenmektedir.
Verilen ödev bir kod ise, kendinizin yazması gerekmektedir. Hata ayıklamada başkalarından yardım alabilirsiniz. Kodda intihal tespiti için manuel ve otomatik mekanizmalar kullanılacaktır. İntihal, sınav içi kopya ve benzeri davranışlar disiplin yönetmeliğine göre cezalandırılır.
Important Note: Some links may be broken, if you send me an e-mail I can send you the file.
Course Description: Bu dersin amacı algoritma tasarımı, analizi ve optimizasyonu yapabilme becerisi kazandırmaktır. Ders kapsamında problem çözme, C dili ile çeşitli algoritma geliştirme yöntemleri aktarılmaktadır. Kontrol yapıları, döngüler, fonksiyonlar, diziler, işaretçiler kullanılarak bilgisayar programlarının tasarımları öğretilmektedir. Dosya işleme, yapılar ve kullanım alanları, yeniden kullanılabilir kod kavramı ve verimli kod geliştirme kavramları hakkında bilgi verilmektedir.