Yazılım Mühendisliği (İngilizce) | |||||
Lisans | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF-LLL: 6. Düzey |
Ders Kodu: | MATH111 | ||||
Ders İsmi: | Ayrık Matematik | ||||
Ders Yarıyılı: | Güz | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | İngilizce | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Zorunlu | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Prof. Dr. SELÇUK DEMİR | ||||
Dersi Veren(ler): | Dr. Öğr. Üy. FUNDA ÖZDEMIR | ||||
Dersin Yardımcıları: |
Dersin Amacı: | Biçimsel matematiksel akıl yürütme teknikleri, algoritma formülasyonu, zaman karmaşıklığı hesabı, temel sayma teknikleri, ilişkiler, çizgeler ve ağaçlar gibi ayrık matematiksel yapıları tanıtmaktır. Ders, bilgisayar bilimi gibi hesaplama gerektiren alanlar için gerekli matematiksel altyapının kazanılması ve edinilen becerilerin pratik problemlere uygulanmasını hedeflemektedir. |
Dersin İçeriği: | Mantık, ispat yöntemleri, kümeler, fonksiyonlar, diziler, toplamlar, algoritmalar, fonksiyonların büyümesi, algoritmaların karmaşıklığı, temel sayılar teorisi, kriptografi, sayma, yineleme bağıntılarının çözümü, ilişkiler, çizgeler ve ağaçlar başlıklarından oluşmaktadır. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Matematiksel argümanları ve doğal dildeki cümleleri, sembolik mantık dili aracılığıyla ifade etme becerisi kazanır; verilen bir argümanın geçerli olup olmadığına mantık ve çıkarım kurallarını kullanarak karar verir ve basit matematiksel ispatlar yapar. 2) Sahtekodlarla bilgisayar programlarını biçimsel matematik diliyle yazar ve algoritmaları zaman karmaşıklığı açısından analiz eder. 3) Modüler aritmetik, tamsayı gösterimleri ve asallık gibi temel sayılar teorisine ait kavramları ve kriptografideki temel uygulamalarını kavrar. 4) Sayma ilkelerini anlar ve uygular. 5) Yineleme bağıntılarını çözer. 6) Bağıntı, çizge ve ağaçların temel özelliklerini bilir. |
Hafta | Konu | Ön Hazırlık |
1) | Önerme mantığı ve uygulamaları; önerme fonksiyonu ve niceleyiciler | |
2) | Çıkarım kuralları, ispat yöntemleri | |
3) | Kümeler, fonksiyonlar, diziler ve toplamlar | |
4) | Algoritmalar | |
5) | Fonksiyonların büyümesi, Algoritma karmaşıklığı | |
6) | Bölünebilirlik, modüler aritmetik, tamsayı gösterimleri | |
7) | Asal sayılar, en büyük ortak bölen, kongrüans çözme | |
8) | Arasınav | |
9) | Kriptografi | |
10) | Matematiksel tümevarım, güçlü tümevarım ve iyi sıralama | |
11) | Sayma | |
12) | Yineleme bağıntıları ve çözümü | |
13) | İlişkiler | |
14) | Çizgeler ve ağaçlar |
Ders Notları / Kitaplar: | Discrete Mathematics and Its Applications, Kenneth H. Rosen, McGraw-Hill Education |
Diğer Kaynaklar: | Discrete Mathematics, Richard Johnsonbaugh, Pearson |
Course Learning Outcomes | 1 |
2 |
3 |
4 |
5 |
6 |
|||||
---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | |||||||||||
1) Matematik, fen bilimleri ve yazılım mühendisliğine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | 3 | 3 | 3 | 3 | 3 | 3 | |||||
2) Karmaşık yazılım mühendisliği problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | |||||||||||
3) Karmaşık bir yazılım sistemini, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama, gerçekleştirme, sınama, doğrulama, ölçme ve bakımını yapma becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | |||||||||||
4) Yazılım mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | |||||||||||
5) Karmaşık mühendislik problemlerinin veya yazılım mühendisliği araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | |||||||||||
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | |||||||||||
7) Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | |||||||||||
8) Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | |||||||||||
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve yazılım mühendisliği uygulamalarında kullanılan standartlar hakkında bilgi. | |||||||||||
10) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. | |||||||||||
11) Yazılım mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın yazılım mühendisliği alanına yansıyan sorunları hakkında bilgi; yazılım mühendisliği çözümlerinin hukuksal sonuçları konusunda farkındalık. |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Matematik, fen bilimleri ve yazılım mühendisliğine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinin çözümünde kullanabilme becerisi. | 3 |
2) | Karmaşık yazılım mühendisliği problemlerini tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | |
3) | Karmaşık bir yazılım sistemini, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama, gerçekleştirme, sınama, doğrulama, ölçme ve bakımını yapma becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | |
4) | Yazılım mühendisliği uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | |
5) | Karmaşık mühendislik problemlerinin veya yazılım mühendisliği araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. | |
6) | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | |
7) | Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi. | |
8) | Yaşam boyu öğrenmenin gerekliliği konusunda farkındalık; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi. | |
9) | Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk ve yazılım mühendisliği uygulamalarında kullanılan standartlar hakkında bilgi. | |
10) | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. | |
11) | Yazılım mühendisliği uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın yazılım mühendisliği alanına yansıyan sorunları hakkında bilgi; yazılım mühendisliği çözümlerinin hukuksal sonuçları konusunda farkındalık. |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Ara Sınavlar | 1 | % 40 |
Final | 1 | % 60 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 40 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 60 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Aktiviteye Hazırlık | Aktivitede Harçanan Süre | Aktivite Gereksinimi İçin Süre | İş Yükü | ||
Ders Saati | 13 | 0 | 3 | 39 | |||
Sınıf Dışı Ders Çalışması | 13 | 0 | 5 | 65 | |||
Ara Sınavlar | 1 | 13 | 2 | 15 | |||
Final | 1 | 23 | 2 | 25 | |||
Toplam İş Yükü | 144 |