Categories
Algorithms and Programming II

Detailed Course Description

Ders Açıklaması

Bu dersin amacı, nesneye yönelimli programlama ilkelerini ve C ++ ‘ı kullanan teknikleri kapsar. Konular arasında işaretçiler, sınıflar, opreratör aşırı yükleme, veri soyutlama, bilgi gizleme, enkapsülasyon, kalıtım, polimorfizm, dosya işleme, şablonlar, istisnalar, tasarım kalıpları ve düşük seviye dil özellikleri bulunur.

Ders Saatleri (Teorik + Lab)

Perşembe 9.00-13.00

Öğretim Elemanları ve Ofis Saatleri

Dr. Öğr. Üyesi Vecdi Emre Levent, Ofis 311 – Perşembe 15.00-17.00

Arş. Gör. Uğur Özbalkan, Ofis 311 –  Salı 16.00-17.00, Cuma 16.00-17.00

Ön Gereksinimler

Yok

Yardımcı Kaynaklar

Dersin referans kaynakları aşağıda listelenmektedir.

  • Thinking in C++: Introduction to Standard C++, Bruce Eckel, Pearson
  • C++ How to Program, Paul Deitel, Pearson
  • C++ Primer, Stanley Lippman, Addison-Wesley Professional
  • Effective Modern C++, Scott Meyers, Shroff Publishers & Distributors

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ı

  • Okunabilir kodlar yazmak için standartları ve ilkeler
  • Bir programda hata tespiti ve hata ayıklama becerileri
  • Program modülü olarak hizmet veren bir sınıf tasarımı
  • Nesneye yönelik tasarım kavramlarını (kalıtım, polimorfizm ve bilgi gizleme) anlamak
  • C++ dili ile yazılmış uygulama ve sınıf kütüphanesi içeren projeler geliştirebilmek

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.

FaaliyetlerOranlar
Vize%20
Ödev/Quiz%10
Lab%15
Proje%30
Final%25
Bonus5 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 NotuAğırlıkHarf Notu
90-1004.00AA
85-893.50BA
80-843.00BB
75-792.50CB
65-742.00CC
50-641.50DC
45-491.00DD
0 -440FF

Beklenen Efor

Öğrencinin dönem içinde göstermesi beklenen efor tablosu aşağıda verilmiştir.

İçerikSaatKaç DefaAra Toplam
Derse Hazırlık21428
Ders Tekrarı21428
Ödev4624
Proje48148
Sınıf Dersi41456
Ara Sınav ve Final326


Öğrenciler dersten başarılı olmak için dönem boyunca ortalama 190 saat harcamaları beklenmektedir.

Kodlama Ödevleri

Kodlama ödevlerinin notlandırılması, kodun doğruluğu, kalite ve algoritmik gerçeklemedeki detayları incelenerek yapılacaktır.

Doğruluk

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.