Lisans Dersleri

Birinci Sınıf

Course Code Ders Adı Tanım Ön Koşul(lar)
CENG 111 Bilgisayar Mühendisliği Kavramları

Bölüm hakkında ve genel olarak Bilgisayar Mühendisliği ile ilgili bilgi vermeyi ve tanıtmayı amaçlayan bir oryantasyon eğitimi. Fakültenin tanıtımı ve çeşitli aktiviteler hakkında bilgi verilmesi. Üniversite içindeki ve diğer çevre kuruluş ve firmalardaki bilgisayar merkezlerinin gezilerek incelenmesi. Temel bilgisayar terimleri: terminoloji, sistem bileşenleri and işleyişi.Internet, Internet Servis Yazılımları, www, e-mail, Windows-Unix-Dos İşletim Sistemleri, Java ile kodlama, Masaüstü Yazılımları.

Öğrenim Çıktıları:

  1. Bilgisayar biliminde kullanılan temel kavramları ve tanımları kullanabilme.
  2. Problemleri analiz edebilme ve çözümler üretebilme.
  3. Bilgisayar muhendisliginin uygulama alanlarını açıklayabilme

 

Konu
Bilgisayar mühendisliğine giriş
Veri depolama
Veri işleme
İşletim sistemleri
Bilgisayar ağları ve internet
Algoritmalar
Algoritmalar (devam)
Programlama dilleri
Yazılım mühendisliği
Veri yapıları
Dosya yapıları
Veri tabanı sistemleri
Yapay zeka
Genel değerlendirme
CENG 112 Veri Yapıları

Veri, veri yapıları ve veri tiplerinin temel kavramları: dizinler, katarlar, doğrusal yapılar, sıralı arama ve sıralama teknikleri, yığınlar, kuyruklar, imleçler, bağlaçlı listeler. M-way arama teknikleri and B-tree’ler.

Öğrenim Çıktıları:

  1. Soyut veri yapılarını kullanabilme ve tasarlayabilme.
  2. Dizi ve bağlı veri yapılarını gerçekleştirebilme.
  3. Özyinelemeli veri yapıları ve algoritmaları tasarlayıp analiz edebilme.
  4. Abstract Veri Tipleri tasarlayıp gerçekleştirebilme.
  5. Arama için kullanılan veri yapıları ve algoritmaları gerçekleştirebilme ve kullanabilme.
KONU
Giriş
Veri Soyutlama
Kuyruklar ve Yığınlar
Algoritma Analizi
Özyinelemeli Veri Yapıları: Bağlı Listeler ve Ağaçlar
Temel Sıralama Yöntemleri: Seçme, Yerleştirme ve Kabuk Sıralama
Birleştirerek Sıralama
Hızlı Sıralama
Öbekler (Heaps) ve Öncelikli Kuyruklar
Sembol Tabloları ve İkili Arama
İkili Arama Ağaçları
Dengeli Arama Ağaçları
Karma Tablolar
Çizge Yapıları ve Çizge Ziyaret Yöntemleri
CENG 113
CENG 113 Programlamaya Giriş

Bilgisayar programlamanın temelleri: sıra, seçim, tekrar, imla, derleme, test etme ve düzeltme, prosedürler, parametreler, dizinler, nesne, yukarıdan aşağı yapılanmış tasarım, açılım ve stil. Bilgisayarların kullanılmasıyla büyük çaplı problemlerin çözümüne ilk adım. Algoritmalar ve bunlarla ilgili çeşitli terminolojilerin temelleri.

Öğrenim Çıktıları:

  1. Basit problemlere algoritmik çözümler üretebilme.
  2. Programlamanın temel unsurlarını açıklayabilme ve kullanabilme.
  3. Karar yapılarını tasarlayabilme ve uygulayabilme.
  4. Tekrar yapılarını tasarlayabilme ve uygulayabilme.
  5. Bilgisayar programlarını izleyebilme ve inceleyebilme.
  6. Fonksiyon tasarlayabilme, tanımlayabilme ve kullanabilme.
  7. Problem çözmede özyineleme yaklaşımını kullanabilme.
  8. Sınıf tasarlayabilme, tanımlayabilme ve kullanabilme.
Konu
Programlamanın Temellerine Giriş – Öğretici Başlangıç – I
Programlamanın Temellerine Giriş – Öğretici Başlangıç – II
Tip, operatör ve ekspresyonlar
Program akış kontrolü
Fonksiyonlar
Program Yapıları
Ders Değerlendirme ve Gözden Geçirme
Diziler ve Katarlar
İşaretleyiciler
İşaretleyiciler ve Diziler
Özçağrılı Fonksiyonlar
Dinamik Bellek Tahsisi
Ders Değerlendirme ve Tekrar
Giriş Çıkış Fonksiyonları
CENG 115 Ayrık Yapılar

Kümeler ve Fonksiyonlar, Temeller: Algoritmalar, Tam Sayılar, Matrisler, İspat Metotları, Matematiksel Tümevarım, Rekursif Tanımlamalar, ve Algoritmalar, Program Doğruluğu, Saymanın Temelleri, Güvercin Yuvası Prensibi, Permütasyonlar ve Kombinasyonlar, Rekürans Bağıntısı, Böl-Yönet / İçer-Dışla Bağıntıları, n-li Bağıntılar, Bağıntı Gösterimleri ve Kapanımları, Denklik Bağıntısı, Kısmi Düzenleme, Çizge Terminolojisi, Çizge Gösterimi ve Çizgede Eşbiçim, Bağlantı, Euler ve Hamiltonian Yollar, En Kısa Yol Problemleri, Düzlem Çizge ve Çizge Boyama, Ağaç Gezme, Ağaç Yapıları ve Sıralama, Spanning Ağaçlar, Minimum Spanning Ağaçlar, Boolean Fonksiyonlar ve Gösterimleri, Minimizasyon, Hesaplama Elementleri, Karmaşa Sınıfları, P-NP-NP Tam Karmaşa Sınıfları, Uzay Karmaşası, Sayı Dönüşümü, Hesapsal Mantık, Maksimum ve Minimum, Kodlama ve İnşa.

Öğrenim Çıktıları:

  1. Farklı ayrık yapıları karşılaştırabilme ve kullanabilme.
  2. Problemleri analiz edebilme, uygun çözüm yollarını belirleyebilme.
  3. Soyutlama yeteneği gösterebilme.
Konu
Mantık
Önermeler
İspat yöntemleri
Kümeler ve Fonksiyonlar
Seriler ve Toplamlar
Algoritmalar ve Karmaşıklık Analizi
Sayılar, Bölünebilme ve Matrisler
Dönem arası sınav
Tümevarım ve özyineleme
Sayma teknikleri, permütasyon, kombinasyon
Ayrık olasılık teorisi
Yinelemeli fonksiyonlar
İlişkiler
Çizgeler

İkinci Sınıf

Course Code Ders Adı Tanım Ön Koşul(lar)
CENG 211 Programlamanın Temelleri

Nesne temelli programlama yaklaşımı, metotlar, sınıflar, karmaşıklığı gizleme ve kalıtım; temel algoritmalar, sıralama ve arama, kullanıcı tanımlı sınıflar, kendini çağırma kavramı ile faydaları ve getirdiği problemler, istisna yönetimi, uygulama program arayüzleri kullanımı basit grafik programlama, yazılım tasarım kavramı.

Öğrenim Çıktıları:

  1. Problem çözümlerini nesneye dayalı bir biçimde tasarlayabilme.
  2. Problem çözümlerini nesneye dayalı bir programlama dili kullanarak gerçekleyebilme.
  3. Kalıtım yaklaşımı ile nesneye dayalı programlama yapabilme.
  4. Soyutlama yaklaşımı ile nesneye dayalı programlama yapabilme.
  5. Veri yapılarını nesneye dayalı bir biçimde kullanabilme.
Konu
Giriş
Kontrol Yapıları
Sınıflar ve metotlar
Nesneler ve metotlar
Kalıtım
Çokbiçimlilik
Vize
Arayüzler
Ayrıksı Durum Kotarımı
Akışlar ve Dosya G/Ç
Özyineleme
Dinamik Veri Yapıları
Problem Çözümleri
Dönemin değerlendirilmesi
CENG 113
CENG 212 Programlama Dilleri Kavramı

Programlama dillerinde imla, mantıksal ve içeriksel yöntemler. Veri saklanması ve kontrolü. Tanımlayıcıların ilintilendirilmesi. Prosedürel tanımlama ve özetleme. Tanımlar, sıralamalar ve eşzamanlı süreçler. Tipler. Formal semantikler. Günümüzde kullanılan programlama dillerinin belli başlı özellikleri.

Öğrenim Çıktıları:

  1. Farklı programlama paradigmalarına mensup dilleri kullanabilme.
  2. Yeni bir programlama dilini kolaylıkla kullanma becerisi gösterebilme.
  3. Bir programın derleme ve çalışma safhalarını açıklayabilme.
  4. Yüksek seviyeli fonksiyonlar yazabilme.
KONU
Giriş
Programlama dili sözdizimi
İsimler, etki alanları ve bağlantılar
Kontrol akışı yapıları
İterasyon ve özyineleme
Veri tipleri
Altyordamlar ve kontrol soyutlaması
Parametre geçiş yöntemleri
Veri soyutlaması ve nesne-tabanlı yaklaşım-1
Veri soyutlaması ve nesne-tabanlı yaklaşım-2
Fonksiyonel programlama-1
Fonksiyonel programlama-2
Mantık Programlama-1
Mantık Programlama-2
CENG 213 İşlem Teorisi

Soyut automata, ağırlık olarak sonlu durum makineleri; push-down automata; ve Turing makineleri. Formal diller, özellikle içerik-bağımsız diller. Automata ve diller arasındaki ilişkiler. Hesaplanabilirlik ve çözülebilirlik.

Öğrenim Çıktıları:

  1. Dil tanımlarını sınıflandırabilme.
  2. Problemleri analiz edebilme, uygun gösterim şekilleri belirleyebilme.
  3. Soyutlama yeteneği gösterebilme.
  4. Bilgisayar bilimlerindeki bazı zor problemleri tanıyabilme.
Konu
Giriş.
Kümeler, bağıntılar ve fonksiyonlar.
Temel ispat teknikleri, kapsanımlar (closures).
Diller.
Deterministik ve deterministik olmayan sonlu otomata.
Düzenli ifadeler.
Bağlamdan bağımsız gramerler.
Pushdown otomata.
Turing makineleri.
Karar verilebilirlik.
Chomsky hiyerarşisi.
Hesaba dayalı karmaşıklık.
NP-tamlık.
P’ye karşı NP’nin durumu.
CENG 214 Mantık Tasarımı

Bilgisayar mimarisine giriş. Sayı sistemleri. Bool Cebiri. Mantık kapıları ve flip-floplar. Kombinasyonel ve sıralı devre tasarımı. Dizgeler, sayaçlar. Bus Transferi. RAM, ROM üniteleri. Komut işletimi ve devresel kontrol.

Öğrenim Çıktıları:

  1. Birleşimsel devreleri analiz edebilme ve tasarımını yapabilme.
  2. Aritmetik ve mantık işlem birimlerinin tasarımını gerçekleştirecek yeteneği gösterebilme.
  3. Bellek birimleri ve programlanabilir mantık devrelerinin temellerini kavrama ve bunları tasarımlarda kullanabilme becerisi gösterebilme.
  4. Sonlu durum makinaları ve ardışıl mantık devrelerinin tasarımını gerçekleştirebilme.
KONU
İkili mantık ve Kapılar
Boolean Cebir, Standart Formlar
Harita basitlestirme ve degistirme
NAND, NOR, XOR kapıları ve entegre devreler
Analiz ve tasarım prosedürleri
Aritmetik devreler, dekoder ve enkoder
Multiplekser, standart grafik sembolleri
Latchler ve flip-floplar
Analiz süreci, D flip-floplariyla tasarım, JK flip-floplarıyla tasarım
Yazmaçlar, kaydırma yazmaçları, paralel yüklü kaydırma yazmaçları
Ripple sayacı, senkron ikili sayaç, diğer senkron sayaçlar
RAM, bellek çözümlemesi, hata tespiti ve düzeltme, ROM
PLD, PLA ve PAL
Yazmaç transferi, algoritmik durum makineleri, mikroislemler, bus transferi, islemci unitesi
CENG 215 Circuits and Electronics

Elektrik devrelerinin temelleri ve genel kavramlar (voltaj, akım, güç vb.), temel bileşenler (direnç, bobin, kapasitör, transistör, OPAMP vb.), temel kanunlar (Ohm, Kirchhoff vb.) ve devre analiz yöntemleri. Frekans tepkisi, geçiş analizi, Laplace çevrimi, Fourier serileri. Elektronik ekipmanlara giriş, diyot, transistörler, MOS teknolojisi, mantık aileleri.

Öğrenim Çıktıları:

  1. Elektrik devrelerini analiz edebilme ve tasarım problemlerine uygun  çözüm yollarını belirleyebilme.
  2. Devrelere ilişkin deney tasarlayabilme, uygulayabilme ve sonuçları yorumlayabilme.
  3. Temel elektronik ekipmanları analiz edebilme ve kullanabilme becerisi gösterebilme, elektronik devrelerin tasarlayabilme.
  4. Sayısal elektroniğin temellerini kavrayarak mantık kapılarının devrelerle gerçekleyebilme.
    Hafta Konu
    1 Elektrik devreleri ve temel devre elemanlarına giriş
    2 Devre yasaları ve teoremleri
    3 Devre analiz yöntemleri
    4 1. dereceden devrelerin analizi
    5 2. dereceden devrelerin analizi
    6 Bağlı kaynaklar ve yükselteçler
    7 Büyük ve küçük sinyal modelleri, sinusoidal cevap
    8 Dönem arası sınav
    9 İşlemsel yükselteç soyutlaması
    10 Empedans modeli
    11 Süzgeçler
    12 Sayısal soyutlama
    13 Sayısal kapıların gerçeklenmesi
    14 Enerji ve güç

     

     

CENG 216 Sayısal Hesaplama

Matris çevrimiyle ilgili sayısal teknikleri içeren uygulamalar ve araştırmalar, lineer denklem sistemleri ve optimizasyon, sonlu fark ifadeleri, interpolasyon ve yaklaşık değer bulma, sayısal diferansiyel ve integrasyon. Bu yöntemlere ilişkin algoritmalar yardımıyla hız, verimlilik ve uygulanabilirliklerinin incelenmesi. Çeşitli nümerik metodların ve kuralların, bilgisayarlardaki programlama dillerinde ve etkin programlama tekniklerinden de yararlanılarak uygulamalarının yapılması.

Öğrenim Çıktıları:

  1. Gerçek sayıların sonlu gösteriminin verilen bir algoritma üzerine etkilerini açıklayabilmek.
  2. Hesaplamalardaki sayısal hatayı çıkarabilmek ve aynı problem için farklı algoritmaların sayısal hatalarını karşılaştırabilmek.
  3. Türev, integral, aradeğerleme ve/veya eniyileme gerektiren sayısal problemleri çözebilmek.
  4. Sayısal problemlere yinelemeli çözümleri uygulayabilmek.
  5. Verilen bir problem tanımına uygun doğrusal/doğrusal olmayan sistemleri yazabilmek.
  6. Verilen doğrusal/doğrusal olmayan bir sisteme uygun sayısal algoritmayı uygulayabilmek.
KONU
Nümerik hesaplama yöntemlerine giriş
Nümerik hesaplamada hatalar
Taylor serisi
Taylor serisi
Sonlu fark hesabı, ileriye ve geriye doğru fark hesapları
Sonlu fark hesabı, merkezi fark hesapları, polinomlar
İçdeğerbiçim ve dışdeğerbiçim
Denklem kökü bulma yöntemleri, Newton yöntemi
Denklem kökü bulma yöntemleri, Secant yöntemi
Eşzamanlı lineer cebirsel denklem çözümleri, temel dizey işlemleri
Dizey evritimi
En küçük kareler eğri uydurma
Fonksiyonel yaklaştırma
Sayısal entegrasyon
CENG 218 Algoritmaların Analiz ve Tasarımı

Yazılımda algoritmaların rolü, Fonksiyonların büyümesi, reküranslar, olasılık tabanlı analiz ve rastgeleleştirilmiş algoritmalar, dinamik programlama, aç gözlü algoritmalar, ileri veri yapıları, graf algoritmaları, NP-Bütünlük.

Öğrenim Çıktıları:

  1. Algoritma yaklaşımı ile problemlere çözüm önerebilme.
  2. Verilen bir problem için algoritma tasarım seçeneklerini belirleyebilme.
  3. Uygulamaların karmaşıklıklarını analiz edebilme.
KONU
Genel bakış
Karmaşıklık teorisi
Asimptotik gösterim
Yinelemeler
Dinamik programlama
Analiz , dizayn ve gerçekleştirim
Sınav
Fırsatçı algoritma
Birleştirme
İleri veri yapıları
Çizge algoritmaları
Dizgi eşleştirme
Sıralama
Problem çözme
CENG 222 Olasılık ve İstatistik

Elementer olasılık teorisi, koşullu olasılık ve bağımsız olaylar, rassal değişkenler, dağılım fonksiyonları, bileşke ve koşullu dağılımlar, büyük sayılar kanunu, merkezi limit teoremi, parametre tahminlemesi, güven aralıkları, regresyon ve varyans analizini de içeren hipotez testleri, simulasyon.

Öğrenim Çıktıları:

1.Olasılık ve rasgele değişken kavramlarını açıklayabilmek ve uygulayabilmek.
2.Yaygın olasılık dağılımlarını ve özelliklerini betimleyebilmek ve kullanabilmek.
3.Betimsel istatistiği kullanabilmek.
4.Dağılım parametrelerini kestirebilmek.
5.Güven aralıklarını hesaplayabilmek.
6.Hipotez test edebilmek.
7.Bilgisayarla işlemi olasılık ve istatistik kavramlarını araştırmak ve nicel incelemeler yapmak için bir araç olarak kullanabilmek.

KONU
Populasyon ve değişkenler. Frekans tabloları, yer ölçütleri
Dağılış ölçütleri, örnek ve populasyon.
Olasılık
Şans değişkenleri ve beklenen değer kavramı.
Kesikli şans değişkenleri: Uniform, Bernoulli, binom, geometrik, negatif binom ve Poisson
Sürekli şans değişkenleri: Uniform, Normal, gamma, üssel, weibull dağılışları.
Ara sınav
Tahminleme
Hipotez kontrolları
Hipotez kontrolları: Büyük örnek testleri (z testleri)
Hipotez kontrolları: Küçük örnek testleri
Hipotez kontrolları : X^2 Testleri
Linear Regression and Correlation
Değerlendirme

Üçüncü Sınıf

Course Code Ders Adı Tanım Ön Koşul(lar)
CENG 311 Bilgisayar Mimarisi

Temel bilgisayar organizasyonu ve tasarımı. Komut arama, ayırma ve işletme. CPU organizasyonu. Devresel ve mikroprogramlı kontrol mimarisi. Aritmetik algoritmalar ve aritmetik işlemci tasarımı. Girdi-Çıktı düzenlemesi. Bellek düzenlemesi, sanal bellekler, ön bellekler ve bunların yönetimi. Makine dili ve assembly dili. Komut yapıları ve adresleme modları. Çeşitli bilgisayar mimarilerinin incelenmesi: Von Neumann, Paralel ve RISC. Performans arttırımı için kullanılan Pipelining ve diğer ileri düzey teknikler. Paralel hesaplamaya, ara bağlantı ağlarına ve çoklu işlemcilere giriş.

Öğrenim Çıktıları:

  1. Özel ve genel amaçlı mikroişlemci tasarımı yapabilme.
  2. Mikroişlemci gerçeklemesi ve testi konusunda tecrübe gösterebilme.
  3. Assembly dilinde programlama yapabilme.
Konu
Bilgisayar mimarisine ve temel bilgisayar organizasyonuna giriş
Bilgisayar aritmetiği (Lab: VHDL dilinin temelleri)
MIPS mimarisi ve Assembly (Lab: VHDL programlama ve simülasyon)
Özel ve genel amaçlı veriyolu tasarımı (Lab: Modelsim üzerinde veriyolu implementasyonu – 1)
VHDL programlama dili (Lab: Modelsim üzerinde veriyolu implementasyonu – 2)
Pabs mikroişlemcisinin tasarımı – 1 (Lab: Pabs dahili ünitelerinin implementasyonu)
Pabs mikroişlemcisinin tasarımı – 2 (Lab: Pabs ünitelerinin entegrasyonu ve mikroişlemcinin testi)
Çevre birimlerinin tasarımı, kesme mekanizmaları (Lab: Pabs kesme mekanizması
Pipelining, Pabs Assembly (Lab: Pabs için assembler ve linker
8086 tabanlı bilgisayar tasarımı (Lab: 8086 assembly programlama – 1)
8086 assembly programlama – 1 (Lab: 8086 assembly programlama – 2)
8086 assembly programlama – 2 (Lab: 8086 assembly programlama – 3)
“Segmentation”, “Paging”, Çalışma modları: “real”, “protected”, “virtual”.
Memory organizasyonu (Lab: İşletim sistemi tasarımının temelleri)
CENG 214
CENG 312 Bilgisayar Ağları

Bilgisayar ağlarına genel bakış: ağ mimarisi ve ISO-OSI modeli. Devre anahtarlama, paket anahtarlama. Ağ topoğrafyası: Bağlantı analizleri, erteleme analizi ve omurga analizi. Fiziksel katman: iletme ve çoklandırma, terminal idaresi, hatalar. Veri bağlantı katmanı ve bağlantı protokolleri. Ağ katmanı: yönlendirme ve tıkanıklık, uydu ve paket radyo ağları, yerel ağlar. İletim ve oturum katmanı. Sunum katmanı. Uygulama katmanı. Ethernet, token ring ağları, protokoller, bazı ağların ve protokollerinin tanımlanması, ağ planlaması ve idaresi.

Öğrenim Çıktıları:

  1. İletişim sistemlerinin temel kavramlarını kullanarak sistem analizini yapabilme.
  2. Katmanlı ağ modeli ve Internet protokollerini analiz edebilme.
  3. Ağ ve protokol tasarımlarını gerçekleştirebilme.
KONU
Chapter 1 Giriş Chapter 2 Network Modelleri
Chapter 3 Veri ve sinyaller
Chapter 6 Multiplexing & Spreading
Chapter 7 Transmission Media
Chap 9 : Using Telephone and Cable for Data Transmission + Chap 13: Wired LANs: Ethernet
Chap 14: Wireless LANs
Chap 18: Virtual Circuit Networks: Frame Relay & ATM
MIDTERM
Chap 19: Network Layer: Logical Addressing
Chap 23: Process to Process Delivery:UDP,TCP,SCTP
Chap 25: Domain Name System
Chap 26: Remote Logging, Electronic Mail, File Transfer
Chap 27: WWW and HTTP
Özet
CENG 315 Bilgi Yönetimi

Bilgi yönetiminin bilgisayar mühendisliği ile ilgisi; veri tabanı yönetim sistemlerine giriş ve ilişkisel model; normal formlar ve faydaları; veri tabanları yaratma, altında yatan yöntemler, veri tabanı dilleri; bilgi çekimine ilişkin problem; SQL, kullanımı ve gücü; ağlar üzerindeki bilgi sistemleri, özel sistemler ve uygulamalar; özel problemler, erişim, güvenlik ve tutarlılık; ilgili kanuni ve ahlaki konular.

Öğrenim Çıktıları:

1.Her türlü ilişkisel veritabanı modelini tasarlayabilme yeteneğini kazandırmak.
2.Her türlü ilişkisel veritabanını yaratma yeteneğini kazandırmak.
3.İlişkisel cebir ve SQL dilini iyi seviyede öğretmek.
4.Veritabanlarına normalizasyon aşamalarını uygulayabilme yeteneği kazanmak.
5.Veritabanı koşut zamanlılık yöntemlerini kavrama.
6.Veritabanlarında tutarlılık ve güvenlik sağlama yöntemlerini kavrama.
7.Grup çalışması ile proje yapma ve sunma becerisi kazanma.

Konu
Veritabanı Yönetim Sistemlerine Giriş
Veritabanı Yönetim Sistemleri Mimarisi
İlişkisel Model
İlişkisel Veritabanı Dizaynı
İlişkisel Cebir
SQL (Veri İşleme Dili)
SQL (Veri Tanımlama Dili)
Normalizasyon
Tutarlılık ve Güvenlik
Verimli Sorgu Eniyileme
Sunucu ve İstemciler
JDBC
Eşzamanlılık
Dönem Projeleri
CENG 316 Yazılım Mühendisliği

Yazılım mühendisliği, yazılım mühendisinin rolü, yazılım ve ilkelerinin değerlendirilmesi, yazılım yaşam döngüsü modelleri, gereksinim analizi, spesisfikasyon, tasarım uygulaması; temel teknikler; bakımın önemi; geliştirme sürecinin her aşamasında kalite; yeniden kullanılabilirliğin faydası; verifikasyon ve validasyon; ölçütlerin kullanımı, ekip oluşturma, insan-bilgisayar arayüzü.

Öğrenim Çıktıları:

  1. Verilen bir proje konusunda gereksinimleri belirleyebilme.
  2. Projedeki fonksiyonel ve fonksiyonel olmayan gereksinimler arasındaki farkları ayırt edebilme .
  3. Nesne-tabanlı yaklaşımla tasarım yapabilme.
  4. Proje tanımı yazabilme.
  5. Süreç modelini kullanabilme, uygulayabilme.
KONU
Yazılım mühendisliğine giriş, sürece genel bakış
Süreç modelleri, atik süreç modeli
Yazılım mühendisliği uygulaması, sistem mühendisliği
Gereksinim mühendisliği, analiz modeli
Nesne-tabanlı yaklaşım
Tasarım modeli, tasarım mimarisi
Test strateji ve teknikleri
Bilgisayar destekli yazılım geliştirme araçları
Ürün metrikleri
Proje yönetimi, metriklerin ölçülmesi
Yazılım kalite yönetimi
Biçimsel yöntemler
Proje teknik gözden geçirme toplantıları
Proje sunum ve demoları
CENG 318 İnsan Bilgisayar Etkileşimi

İnsan bilgisayar etkileşimi kavramları ve tarihçesi, girdi cihazları ve etkileşim teknikleri, bilgi araçları, kullanıcı arayüzü tasarım paradigmaları, 3B kullanıcı arayüzleri, uyarlanır arayüzler, kullanıcı modellemesi, ses tanıma ve etkileşimli arayüzler, giyilebilir bilgisayarlar, çok kipli arayüzler ve algısal arayüzler.

Öğrenim Çıktıları:

1.İnsan bilgisayar etkileşimi teorisi ve araştırmalarını kavrama.
2.Sistem tasarımının kullanıcı tavır ve davranışları üzerindeki etkisini tanıma.
3.Kullanıcı merkezli tasarım ve değerlendirme süreçlerini tanımlama.
4.Sistemlerin tasarım ve gerçekleştiriminde kullanıcı merkezli tasarım süreçlerini kullanabilme.

Hafta Konu
1 Giriş, insan bilgisayar etkileşiminin tarihçesi.
2 Kolaylık, kullanılabilirlik. Kullanılabilirlik prensipleri.
3 Teknolojinin sınırları. İnsan bilgisayar etkileşiminde yeni teknolojiler.
4 Prototiplendirme teknikleri.
5 Kullanılabilirliğin değerlendirmesi. Kestirimci ve yorumlayıcı değerlendirme.
6 Kullanıcı arayüzü tasarım paradigmaları. Etkileşim tasarımı süreci.
7 Vize sınavı
8 Kullanıcı modellemesi ve kullanıcı profili. Uyarlanır arayüzler.
9 3B kullanıcı arayüzleri, artırılmış gerçeklik.
10 Ses tanıma ve etkileşimli arayüzler.
11 Görü tabanlı, algısal arayüzler.
12 Yaygın hesaplama. İnsan Bilgisayar Etkileşimi geleceğe yönelik öneriler: Yapay zekanın, ağların rolü vs.
13 Proje sunumları.
14 Proje sunumları.
CENG 322 İşletim Sistemleri

İşletim sistemlerinin sınıfları ve yapıları. Muhafaza ortamları, bellek yönetimi ve dinamik saklama stratejileri. Düzenleme algoritmaları. I/O ve interrupt yapıları. Koruma ve güvenlik. Kuyruk ve ağ kontrolü modelleri. Sistem yazılımı: Derleyiciler, yükleyiciler, assembler’ lar, çeviriciler ve programlama ortamları. Mevcut işletim sistemlerinin incelenmesi ve belli başlı işletim sistemi modüllerinin benzerlerinin oluşturulması.

Öğrenim Çıktıları:

  1. İşletim sistemlerinin temel kavramlarını edinerek modern mimari ve işletim sistemlerinde bunları analiz edebilme ve tasarım yapabilme.
  2. İşletim sistemlerinin yer aldığı sistemleri analiz edebilme ve ilgili problemleri tanımlayabilme.
  3. İşletim sistemlerinin problemleriyle ilgili farklı çözüm yöntemlerini karşılaştırabilme ve en uygununu seçebilme.
KONU
Bilgisayar Sistemleri ve İşletim Sistemlerine genel bir bakış, temel kavramlar
Süreçler ve Süreç Yönetimi
Thread kavramı, işlemci kaynak verimliliği ve yönetim algoritmaları
Asenkron eş zamanlı süreçler arası iletişim
Asenkron eş zamanlı süreçlerin senkronizasyon araçları
İşletim sistemlerinde kilitlenme “deadlock” kavramı
Ara Sınav
Bellek Yönetimi
Sanal Bellek Yönetimi
Tek İşlemcili Sistemlerde Scheduling
Çok işlemcili Bilgisayarlar ve Scheduling
Dosya Sistemleri
Girdi/Çıktı Sistemleri
Disk Yönetimi
CENG 323 Proje Yönetimi

Ekonomi ve yöneticilikle ilgili kavramları mühendislik öğrencilerine tanıtmak amacıyla düzenlenmiş bir ders olup para akışı, faiz oranları, geri ödemeler, arz-talep ilişkileri, ürün bedellendirilmesi, vergiler, enflasyon gibi ekonomiyle ilgili; yönetim analizi, iş yönetimi basamakları, iş ağı analizi, CPM/PERT ağları aracılığıyla proje yöneticiliği, optimizasyon, doğrusal programlama ve karar analizi gibi iş dünyası ve yöneticilikle ilgili konuları içerir. Ayrıca bu konulara ilişkin çeşitli yazılımlar kullanılarak uygulamalar gerçekleştirilir.

Öğrenim Çıktıları:

  1. Proje yöneticisi ve problem analisti için gerekli kişiliksel ve teknik özellikleri ayırt edebilme
  2. Proje yönetiminin ve problem analizinin temel basamaklarını ve risk faktörlerini tanıyabilme
  3. Projenin temel evreleri olan iş analizi, problem analizi, planlama ve denetim evrelerinin ana hatlarını açıklayabilme
  4. Proje yöneticisi için gerekli olabilecek temel ekonomik kavramları tanıyabilme.
  5. Proje planlama, iş analizi ve süreç modelleme araçları kullanarak, iş analizi, problem analizi, proje planlama ve yönetimini gösterebilme
Konu
Proje yönetmine giriş. Proje ve yönetimi nedir? Proje seçimi
Proje takımı, Proje Yöneticisi, Proje Ofisi
Görev listesi, Work Breakdown Structure, Staement of Work, Sorumluluk Çizelgesi
Kaynak Planlaması, Maliyet planlaması
Zaman planı, FAST Yöntemi, Gannt Çizelgesi, İş Ağı Planlaması
İş Ağı Planlaması (devam), Proje Kısaltma Yöntemleri
Ara Sınav
Bilgisayar program tanıtımı (MS Project)
Takım organizasyonu, yönetimi, liderlik
Risk Analiz Yöntemler
Proje Denetimi, Maliyet Denetimi, Kazanılmış Değer Analizi, Değişim Denetimi
Kalite Kontrol
Karar yöntem ve gereçleri
Proje kapatma
CENG 370 Ana Bilgisayarlar

Bu ders, öğrencilere ana bilgisayar sistemlerinin temellerini tanıtır. İşlenecek konular arasında ana bilgisayar sistemlerinin tarihçesi ve kişisel bilgisayarlardaki mevcut uygulamalarını içerir.

Ana Bilgisayarlara Giriş
Hercules ana bilgisayar öykünücüsünün kurulumu
IBM ana bilgisayar işletim sistemlerine genel bakış
Sanal Makine Kavramları
VM / SP Tanıtımı ve Özellikleri
VM/SP’nin yapılandırılması ve yönetimi
Sanal cihazların konfigürasyonu
GCS ve RSCS’in Yapılandırılması
Networking fundamentals and IP-NJE
Sayfalama, Sanal Depolama ve Kontrol Programı
REXX Programlama dili
COBOL: Ortak İş Odaklı Dil
Yığıt İşleme, JCL
Ana Bilgisayarlarda Güvenlik

 

 

 

 

 

 

 

 

 

 

 

CENG 381 Stokastik Süreçler

Olasılık uzayı, rasgele değişkenler, dağılım ve yoğunluk fonksiyonları, rasgele vektörler, rasgele değişkenler dizisi, yakınsama nosyonları, merkezi limit teoremi, büyük sayılar kanunu, stokastik süreçler, durağanlık nosyonları, Poisson süreçleri, Gaussian süreçleri, stokastik süreçlerde dönüşüm, ergodizite, ikinci derece rasgele süreçler, tasvirleme teoremleri, Markov süreçleri, homojen Markov modelleri ve uygulamaları.

KONU
Giriş, Olasılık kavramlarının hızlı olarak hatırlatılması
Olasılık
Şans değişkenleri, parametreler, bereberce değişen değişkenler
Transformasyonlar, Olasılıklara ilişkin eşitsizlikler, Markov, Chebyshev ve tek yönlü eşitsizlikler
Şans değişkenleri, Kesikli şans değişkenleri
Şans değişkenleri, Kesikli şans değişkenleri, Sürekli şans değişkenleri
Sürekli şans değişkenleri, Merkezi Limit Teoremi, Transformasyonlar
Ara sınav
Stokastik Süreçler, Poisson Süreci
Doğum-Ölüm Süreci
Markov Süreci – Markov Zinciri
Kuyruk Teorisi, Giriş, genel kavramlar, performans kriterleri
Kuyruk Teorisi, Little kuralı, M/M/1 kuyruk sistemi
Diğer kuyruk sistemleri
CENG 382 Bilgi Teorisi

Bu ders, Shannon’un bilgi teorisine ve temel gürültülü ve gürültüsüz ikili kodlama tasarılarına giriş niteliğindedir. Bilgi kavramı, entropi, basit kaynaklar, Markov kaynakları, devamlı kaynaklar, bilgi kanalları, ottalama hata, belirsizlik, dönüşüm, kapasite, bozunumsuz kodlama, Kraft-McMillan teoremi, Shannon-Fano ve Huffmann kodlama tasarıları, hata düzeltici kodlar, doğrusal kodlar, devinimsel kodlar, Veri Sıkıştırma.

KONU
Giriş: İlgili kavramlar.
Entropy, relative entropy ve mutual information
Asymptotic equipartition property
Entropy rates of stochastic processes
Data compression -I
Data compression -II
Ara sınav
Channel capacity
Differential entropy
The Gaussian channel
Network Information Theory – I
Network Information Theory – II
Relevant topics in Information Theory today
Rate-distortion
CENG 383 Gerçek-Zamanlı Sistemler

Çeşitli etkileşen bileşenler yardımıyla gerçek-zamanlı sistemlerin belirleme ve doğrulama teknikleri. (a) zaman ilişkili davranışların belirli anlamsal programlama dilleriyle ve (b) planlama algoritmalarıyla gerçek zamanlı sistemlerin biçimsel tasarımı. Gerçek-zamanlı işletim sistemleri, gerçek-zamanlı sistemler için tasarlanmış programlama dilleri, reaktif sistemler için tasarlanmış senkron programlama dilleri ve matematiksel altyapısı. Gerçek-zamanlı sistemler için yazılım geliştirme.

KONU
Gerçek-Zamanlı Sistemlere ilişkin temel bilgi ve kavramlar
Bilgisayar mimarilerinin ve mevcut donanımların incelenmesi
Gerçek-Zamanlı belirleme ve tasarım teknikleri
Formel yöntemler: zamanlı-otomatlar (Timed-automata) ve “Petri net”ler, “Model-checking”
Gerçek-Zamanlı programlama dilleri
Senkron programlama dilleri
Gerçek-Zamanlı çekirdekler – I: Teorik bulgular, “scheduling” algoritmaları
Laboratuvar çalışması – I (İleri C ve Assembly programlama)
Gerçek-Zamanlı çekirdekler – II: POSIX
Hata toleransı (Fault-tolerance)
Donanım/yazılım entegrasyonu, performans analizi ve optimizasyon, test
Laboratuvar çalışması – II (Gerçek-zamanlı mikroçekirdek tasarımı)
Laboratuvar çalışması – III (Gerçek-zamanlı mikroçekirdek tasarımı)
Laboratuvar çalışması – IV(Gerçek-zamanlı mikroçekirdek tasarımı)
CENG 384 Mikroişlemciler

Mikroişlemci ve mikrodenetleyicilerin komponentleri, mikroişlemcileri için donanım ve yazılım komponentleri; mikrodenetleyiciler; mikrodenetleyiciler ile gömülü sistem tasarımı, bellek arayüzü, analog-sayısal giriş çıkış arayüzleri ve kesme arayüzleri; assembly ve yüksek seviyeli diller ile programlama, gerçek-zamanlı hesaplama, gerçek-zamanlı işletim sistemleri; FPGA için tasarlanmış mikrodenetleyicilerin kullanımı; sistem kontrol, geri beslemeli sistemlerin analizi, kontrol ünitesi tasarımı ; veri toplama, sayısal sinyal işlemenin temelleri.

KONU
8051 mikrodenetleyicilerine giris
8051 birlestirici dile ile programlama
Jump, loop, call komutları ve i/o programlaması
EPROM programlama
8051 adresleme modları
Aritmetik ve mantık komutları ve programları, 8051 donanım bağlantıları ve Intel hex dosyası
Hesap makinesi uygulaması
Birlestirici dilde zamanlayıcı programlaması
Birlestirici dilde seri port programlaması
Birlestiric dilde kesmelerin programlanması
Saniye sayıcı uygulaması
LCD ve tuş takımı bağlantıları
ACD, DAC ve sensor bağlantıları
ACD üzerinden sıcaklık ölçümü uygulaması
CENG 385 Matematiksel Mantık

Önermeler mantığı: sözdizimi, anlamlar, karar verme yordamları; yüklem mantığı: sözdizimi, anlamlar, tanımlanabilirlik, biçimsel dizge, karmaşıklık, karar verememe; tamamlanmamışlık; ikinci derece mantık; ileri konular: çok-değerli mantık, kipsel mantık, zamansal mantık, bulanık mantık.

KONU
Giriş
Önerme mantığında önermeler
Önerme mantığında normal f
Önerme mantığıda anlamsallık
Önerme mantığında Çıkarsama
Yüklem mantığın söz dizimi ve anlamsallığı
Yüklem mantığın doyurulabilirliği
Yüklem mantığın biçimsel düzenleri
Yüklem mantığın tümleşikliği
Yüklem mantığın kararsızlığı ve tümleşiksizliği
Özetleme
Daha yüksek düzenli yüklem mantıkları
İleri konular
Bulanık mantık
CENG 386 Bulanık Mantık Sistemleri

Bulanık küme kuramı, bulanık ilişkiler, bulanık kural tabanı, yaklaşık uslamlama, bulanık denetim, bulanık mantık sistemlerinin tasarımı.

Konu
Giriş
Bulanık kümeler kuramı
Bulanık cebir
Bulanık bağlaçlar
Bulanık ilişkiler
Yaklaşık çıkarsama
Bulanık denetim
Sınama
Bulanık dizge benzetim ortamaları
Bulanık mantık benzetim ortamları
Olabilirlik kuramı
Eksik bilgi yönetimi
Bulanık ölçüm
Bulanık mantıklı karma esnek hesaplamalar
CENG 388 Web Programlama

Web ve .NET çatısı, ASP.NET ile yazılım geliştirme, web hizmetleri programlama, MVC programlama.

KONU
Web ve .NET Framework e Giriş
IIS Web Sunucuları
MS Visual Studio Tanıtımı
MS Visual Studio ile Yazılım Proje Geliştirme
ASP.NET’e Giriş
ASP.NET Page Life Cycle
Web Uygulama Proje Şablonları
Web Form /User Control/ Master Page Kavramları
İstemci Programlama
AJAX Programlama
Web Servisilerine Giriş
ASP.NET ile Web Servis Geliştirme
MVC Mimarisi
ASP.NET MVC Çerçevesi
CENG 389 Mobil Uygulama Geliştirme

Bu ders mobil cihaz programlamanın temellerini, mobil cihaz donanımına erişim ve kullanımı ve mobil uygulamalar ile ağ servislerinin etkileşimini kapsar. Android platformunda kullanıcı arabirimlerinin tasarım ve gerçekleştirilmesi, çapraz platform mobil uygulama geliştirme ve kamera ve GPS gibi algılayıcıların programlanması konularını içerir.

Konu
Mobil Programlamaya Giriş
Uygulamalar ve Aktiviteler
Kullanıcı Arabirimleri Oluşturmak
Niyetler, Yayın Alıcıları ve Adaptörler
İş Parçacıkları ve Bildirimler
Veri Depolama ve Erişimi
Konum Tabanlı Servisler, Haritalar ve Algılayıcılar
Wi-Fi ve Bluetooth ile Bağlantı
Zengin İçerik ve Kamera ile Çalışma
Grafik ve Animasyonlar
Kullanıcı Deneyimi Prensipleri
Ağ Uygulamaları ve Çapraz Platform Programlama
Ağ Servisleriyle Etkileşim
GPU ile Grafik ve Hesaplama

 

 

CENG 390 Bulut Bilişim

Bu ders bulut bilişim konseptini, teknolojinin oluşma nedenlerini, gereksinimlerini, bulut mimarisini, çalışma prensiplerini, kullanım alanlarını, uygulamalara göre avantajları/dezavantajlarını, IaaS, SaaS, PaaS gibi değişik bulut servisi modellerinin anlatımını kapsar. PaaS konusunda Google App Engine, Amazon Web Services(AWS), Microsoft Azure ve diğer Bulut platformlarını da ele almaktadır. Geliştirilmekte olan ya da halihazırda çalışmakta olan mobil uygulamaların, web uygulamalarının, veritabanlarının bulut sistemlere taşınması, bulut mimari üzerinde yapılandırılması, çalıştırılması ve yazılım geliştirilmesikonularını içerir. Ayrıca global olarak bulut sistemlerini kullanarak piyasaya sürülmüş, markalaşmış ürünlerin ve şirketlerin başarı hikayelerini de teknolojik, operasyonel, finansal, marka ve iş planı gibi çeşitli açılardan ele alarak detaylı anlatımlarını içerir.

KONU
Bulut Bilişime Giriş
Service Yapıları (SaaS, PaaS, IaaS)
Bulut Bilişim Bileşenleri
Bulut Sistemleri Yapıları (açık, kapalı, hibrid)
Açık bulut: AWS, Google App Engine, MS Azure systems
Veri Depolama, İşleme, Erişimi ve Güvenliği
Şirket İçi ve Bulut Sistem Stratejisi ve Planlaması
Ölçeklenebilir Bulut Veritabanları – SQL, NoSql, Hadoop
Bulut Sistemlere Taşıma
Büyük Veri ve Veri Bilimi
Laboratuvar – Bulut Platform Üzerine Uygulama Geliştirme ve Yükleme
Global Girişimler, Bulut Uygulamaları ve Girişimcilik
Bulut Tabanlı Yüksek İşlemli Uygulamalar
Uygulamalar ve şirketler için Küresel Bulut Stratejisi
CENG 391 İmge Anlamaya Giriş

Bu ders temel imge işleme tekniklerini ve imge içeriğinin analiz yöntemlerini konu alır. Ders içeriğinde imgelerin hafızada temsili, basit imge işleme teknikleri, anahtar nokta çıkarım ve betimlemesi, imge eşleme ile temel kamera geometrisi yer almaktadır.

KONU
Giriş
İmge Temsili
Temel İmge İşleme
İmge Piramitleri
Anahtar Nokta Çıkarımı
Anahtar Nokta Betimleme ve Eşleme
Düzlemsel İzdüşüm Geometrisi
Eniyileme Yöntemleri
İmge Eşleme
Optik Akış ve Şablon Takibi
Temel Kamera Geometrisi
Epipolar Geometri
Sık İmge Öznitelikleri
Nesne Kategorisi Tespiti

Dördüncü Sınıf

Course Code Ders Adı Tanım Ön Koşul(lar)
CENG 400 Yaz Stajı

Stajın amacı öğrencilerin eğitim aldıkları alanlarda uygulamaya geçmelerini sağlamaktır. Böylece öğrenciler hem iş dünyasını tanımaya başlamış olurlar hem de kariyerlerini yönlendirecekleri ilgi alanını belirlemeye başlarlar. Staj aynı zamanda bir bilgisayar mühendisliği öğrencisinin organizasyonun yapısı, yönetimi ve ilgili şirkette yürütülen enformasyon sistemi ve sistem analizi konusunda bilgi kazanmasını sağlar. Staj herhangi bir iş yerinde öğrencinin pratik uygulama yapmasını, bulunduğu firmanın genel yapısını tanımasını ve o firmada yapılan projelere katılmasını sağlamaktadır.

Öğrenim Çıktıları:

  1. Üniversite eğitimlerinde elde edilen kuramsal bilgiyi gerçek hayat uygulamalarına aktarabilme.
  2. Bilgisayar mühendisliği mesleğini, görev ve sorumlukları konusunda bilinçlenerek seçebilme becerisi.
  3. Staj süresince bulundukları çalışma ortamını gözlemleyerek, çalışma hayatı için seçeceği sektörü belirleyebilme becerisi
  4. Uygulamada karşılaştığı sorunları çözme konusunda yalnız ya da takım olarak seçenekler üretebilme.
  5. Sözlü ve yazılı iletişim becerilerini geliştirebilme, yabancı dil bilgisinin önemini kavrayabilme.
  6. Edindiği bilgileri resmi bir rapor halinde sunabilme.
CENG 411 Bilgisayar Mühendisliğinde Profesyonellik

Bilgisayar mühendisliği ile ilgili etik problemlerin incelenmesi ve etik teoriler ışığında tartışılması, kanun ve yönetmelik konuları, etik karar verme süreci, mahremiyet ve gizlilik, bilgisayar suçları, profesyonel yaklaşım ve sorumluluklar, sistem güvenliği, bilgisayarların toplum üzerindeki etkileri.

Öğrenim Çıktıları:

1. Bilişim teknolojisinde etik olgusunu ve hukuksal boyutlarını kavrayabilme.
2. Genel etik kavramlarını özümseyebilme.
3. Mahremiyet olgusunu ve oluşabilecek adli vakaları kavrayabilme.
4. Telif hakları olgusunu ve ilintili hukuki bileşenleri kavrayabilme.

Konu
Giris
Mahremiyet
Ifade ozgurlugu (1. bolum)
Ifade ozgurlugu (2. bolum)
Telif haklari (1. bolum)
Telif haklari (2. bolum)
Suc
Sosyoteknik sistemler
Is
Teknolojinin degerlendirilmesi ve denetlenmesi
Hatalar, arizalar ve risk
Profesyonel etik ve sorumluluk (1. bolum)
Profesyonel etik ve sorumluluk (2. bolum)
Tartisma ve ozet
CENG 415 Lisans Tezi ve Seminer I

Teknik rapor yazma, proje yönetimi ve planlama, sistem çözümleme, gereksinim analizi, mühendislik etiği, veri tasarımı, yazılım tasarımı, proje sunumu

Öğrenim Çıktıları:

  1. Problem tanımlayabilme becerisinin kazanılabilmesi.
  2. Problemi analiz edebilme, kapsam, kısıt, gereksinimleri belirleyebilme, çözüm tasarımı yapabilme.
  3. Yenilikçi, sürdürülebilir, çevreye ve topluma faydalı çözüm tasarımı yapabilme.
  4. Yeni yöntem ve teknoloji öğrenebilme ve kullanabilme.
  5. Ekip çalışması yapma becerisini kazanabilme.
  6. Projenin yazılı ve sözlü sunum becerisini edinebilme.
  7. Girişimcilik, yenilikçilik hakkında farkındalık edinme.

 

KONU
Giriş
Teknik rapor yazımı
Proje yönetimi ve planlaması
Sistem analizi
Gereksinim analizi
Mühendislik etikleri
Veri tasarımı
Yazılım tasarımı
Proje tanıtımları
Davetli konuşmacı – Proje yönetimi
Davetli konuşmacı – Yazılım geliştirme
Öğrenci sunumları
Öğrenci sunumları
Öğrenci sunumları
CENG 415-416 Bitirme Projeleri Yönergesi
CENG 415 - Proje Konusu Tanımlama Formu
CENG 416 Lisans Tezi ve Seminer II

Davetli konuşmacılar, değişiklik yönetimi, kodlama dokümantasyonu, kodlama standartları, test, güvenirlilik, güvenlik, prototip geliştirme, kullanıcı kitapçıkları, grup demoları

Öğrenim Çıktıları:

  1. Problem tanımlayabilme becerisinin kazanılabilmesi.
  2. Problemi analiz edebilme, kapsam, kısıt, gereksinimleri belirleyebilme, çözüm tasarımı yapabilme.
  3. Yenilikçi, sürdürülebilir, çevreye ve topluma faydalı çözüm tasarımı yapabilme.
  4. Yeni yöntem ve teknoloji öğrenebilme ve kullanabilme.
  5. Ekip çalışması yapma becerisini kazanabilme.
  6. Projenin yazılı ve sözlü sunum becerisini edinebilme.
KONU
Giriş
Davetli konuşmacı
Değişiklik yönetimi
Kodlama dokümantasyonu
Kodlama standartları
Test
Güvenilirlik
Güvenlik
Grup prototip sunumları
Grup prototip sunumları
Kullanıcı el kitabı hazırlama
Davetli konuşmacı
Grup demoları
Grup demoları
CENG 415
CENG 418 Bilgi Güvenliği

Bilgi güvenliği, bilgisayar güvenliği, işletim sistemleri güvenliği, ağ güvenliği, yazılım güvenlği ve web güvenliği pratikleri ve prensiplerinin çalışıldığı alandır. Ders kapsamında, genel saldırı teknik ve araçları, formal erişim kontrol mekanizmaları, bilgi iletimi ile ilgili kuramlar, genel kullanımı olan güvenlik politika modelleri (BLP, Biba gibi modeler), temel kriptografi (AES, RSA, kriptografiz öz çıkarım, sayısal imza vb.), ağ güvenliği, yazılım güvenliği, web güvenliği, bilgisayar ve bilgi güvenliğinde hukuk ve etik konular incelenecektir.
Öğrenim Çıktıları:
1.Öğrenciler dijital dünyadaki ortak güvenlik tehditlerini öğrenirler.
2.Öğrenciler bilgi güvenliğinin temel kuramlarını öğrenirler.
3.Öğrenciler, güvenli bir sistem tasarlarken temel prensip ve tekniklerin neler olduğunu öğrenirler.

Hafta Konu
1 Giriş Derse içerik planının açıklanması. Bilgi Güvenliğine genel bir bakış; gizlilik, bütünlük ve erişilebilirlir.
2 Tehtidler Zararlı Yazılımlar Bellek Saldırıları
3 Formalizm Erişim Kontrol Kuramı, Erişim kontrol matrisi, Bilgi Akışı
4 Politikalar Güvenlik politikaları ve ilgili Modeller
5 Kriptografi I Blok ve akan verinin şifrelenmesi Kriptografik öz çıkarım fonksiyonları, MAC Açık ve Gizli Anahtar sistemleri
6 Kriptografi II Mesaj öz çıkarımı Şifrelemenin güvenlik seviyesi Kimliklendirme
7 Ara sınav
8 Sistemler Güvenli tasarım prensipleri TCB ve güvenli çekirdek Unix ve Windows güvenliği
9 Ağ Güvenliği I TCP/IP güvenliği DNS güvenlik sorunları ve savunma
10 Ağ Güvenliği II TLS/SSL Ağ sızma tespit ve önleme Ateşduvarları
11 Yazılım Güvenliği Zayıflık denetimi, sızma testi Sandboxing Akış kontrol bütünlüğü
12 Web Güvenliği Kullanıcı kimlik denetimi, oturum yönetimi Web Saldırıları
13 Hukuki ve Etik Konular Siber suç ve bilgisayar suçu
CENG 421 Bilgisayar Ağı Programlama

UNIX sistemi: sinyaller, threadler, süreçler arası iletişim, TCP-UDP/IP protocols, Unix üzerinde soket programlama; Windows soketleri, Java ile ağ programlaması; istemci/sunucu modeli, web tabanlı programlama; RPC; Ağ güvenliği konuları.

KONU
Giriş
Network Temel Bilgiler tekrarı
Network Temel Bilgiler tekrarı
TCP/IP Programlama
TCP/IP Programlama
TCP/IP Programlama
Midterm
PHP / Mysql Programlama
PHP / Mysql Programlama
PHP / Mysql Programlama
PHP / Mysql Programlama
PHP / Mysql Programlama
PHP / Mysql Programlama
PHP / Mysql Programlama
CENG 422 Bilgisayar Ağı Tasarımı ve Yönetimi

LAN, WAN, analiz ve tasarımı. LAN standartları, ağların birbirine bağlanması, güncel teknolojiler, LAN tasarım kriterleri ve prosedürleri; WAN tasarımı, ağ servisleri, SNMP Ağ Yönetim Protokolü; tasarım için yardımcı yazılımlar, ağ simülatörleri; ağ güvenliği.

Konu
Yerel alan ağlarının (LAN) gözden geçirilmesi
Geniş alan ağlarının (WAN) gözden geçirilmesi
Intranet, Internet middleware teknolojileri: CORBA, OpenDoc, ODBC
Çeşitli Hesaplama Modelleri: İstemci/Sunucu, İstemci/Ajan/Sunucu, Peer-to-Peer
TCP/IP Konfigürasyonu
Transport Layer Protokolunun Tasarımı
Özet (Sınav)
Network Aktif Cihazların Seçimi ve Konfigürasyonu
LAN Tasarımı: Konseptler, araçlar ve uygulamalar
Çeşitli Ağlardaki Trafiğin Analizi
Ağ Yönetimi, SNMP Protokolü
WAN Tasarımı: Konseptler, araçlar ve uygulamalar
Simülatörlerin Kullanımı, Örnekler
Ağ Güvenliği
CENG 424 Gömülü Bilgisayar Sistemleri

Gömülü sistemler, gömülü sistemlere özel problemler ve çeşitli konular; bilgisayar mühendisliğindeki rolü; mikrodenetleyiciler, gömülü yazılım; gerçek-zamanlı sistemler, planlama ve zamanlama problemleri; test ve performans; güvenilirlik; düşük güçte hesaplama, enerji kaynakları, kaçaklar; tasarım metodolojileri, yazılım geliştirme ortamları; süreklilik ve güncelleme problemleri; ağa bağlı gömülü sistemler; FPGA tasarımı.

Öğrenim Çıktıları:
  1. Gömülü sistemleri modelleyebilme ve tasarlayabilme.
  2. Sistemlerin gerçeklenmesi ve sınanması konusunda tecrübe gösterebilme.
  3. Gömülü yazılım geliştirme tekniklerini kullanma ve uygulayabilme yeteneği gösterebilme.

 

Konu
Gömülü Sistem Tasarımına Giriş
Bilgisayar Mimarisi Konseptlerinin Gözden Geçirilmesi
FGPA Tasarımı ve VHDL Programlama Dili
Özel ve Genel Amaçlı Veriyolu ve Mikroişlemci Tasarımı
Mikrodenetleyicilerle Gömülü Sistem Tasarımı
LAB – I : Arduino ile basit bir uygulama
Geribeslemeli Kontrol Sistemlerinin Temelleri
Veri Toplama ve Sayısal İşaret İşleme
LAB – II : Motor hız kontrolü için gerekli devrenin ve test ortamının kurulması
Gerçek-Zamanlı Sistemler
Gerçek-Zamanlı İşletim Sistemleri
Gömülü Yazılım Tasarımı
Hataya Dayanıklılık (Fault-Tolerance) Teknikleri
LAB – III : Arduino ile geribeslemeli motor hız kontrolü uygulaması
CENG 431 Yazılım Sistemleri Geliştirilmesi

Açık kaynak kod ve paylaşılan yazılım kavramları, kalite ve kullanım şartları konuları, yazılım tekrar kullanımı, program kütüphaneleri, yazılım bileşenleri, diğer kütüphane ve bileşenlerin oluşturulması, uygulama program arayüzleri, ayrı derlemenin kullanımı, yazılım bileşenleri ve kütüphanelerin kullanımı, büyük yazılım sistemleri geliştirmenin zorlukları, yazılımların metrikler ve ölçütler kullanılarak değerlendirilmesi, yazılım kriterleri, arayüz tasarım prensipleri, çoklu-ortam konuları, renk, ses, video ve çoklu-ortamlara ilişkin problemler, nesne temelli programlamının ileri konuları, moduler tasarım, saklama ortamları yönetim konuları, paralelleştirme, istemci-sunucu yaklaşımı, sunucu çeşitleri, orta katmanın rolü, istemci ve sunucu servisleri için gerekli yazılım desteği, genel kullanım gören yazılım araçlarının geliştirilmesinde kullanılan nesne temelli teknikler, applet ve servlet yapıları, basit tasarım örüntüleri, yazılım yaşam döngüsü ve aşamaları, süreç kavramı, yazılım geliştirme yaklaşımlarının farkları ve bu farkların sebepleri.

KONU
Nesne tabanlı yazılım geliştirme 1
Nesne tabanlı yazılım geliştirme 2
UML ile nesne tabanlı analiz ve tasarım 1
UML ile nesne tabanlı analiz ve tasarım 2
Bileşenler ile yazılım geliştirme
Soyutlama ile tasarım yaklaşımı
Nesne tabanlı uygulama çatıları
Tekrar kullanım
Kod iyileştirme
Birim testleri
Tasarımdan yazılıma örnek bir çalışma
Tasarım Şablonları 1
Tasarım Şablonları 2
Tasarım Şablonları 3
CENG 432 Kurumsal Uygulama Geliştirmenin Temelleri

Bu ders kurumsal uygulama geliştirmeye ilişkin ileri düzey konuları irdelemektedir. Belli başlı konular; çevik yazılım geliştirme, çok katmanlı uygulamalar, sunucu programlama, veri işleme, web programlama, uygulama kurma ve çalışır hale getirme olarak ifade edilebilir.

KONU
Kurumsal uygulama geliştirmeye giriş
Web programlama 1
Web programlama 2
Thread programlama 1
Thread programlama 2
İstemci socket programlama
Sunucu socket programlama
Kurumsal uygulamalar için veritabanı bağlantıları
JSP sunucu sayfaları
AJAX çatısı
Kurumsal uygulama tasarım şablonları 1
Kurumsal uygulama tasarım şablonları 2
Spring uygulama bağlamı
Spring MVC web çatısı
CENG 433 İnternet için Ölçeklenebilir Yazılım Geliştirme

Mimari tasarım ve sunucu bileşenleri, performs ölçümleme, gelişmiş önbellek stratejileri, MySQL ile yatay ölçeklenebilirlik ve yoğun yük kaldırma.

KONU
Play Altyapısına giriş
Dönem Projesi
Internet mimari dizaynına giris ve ucuz donanım ile dayanıklı yapılar kurma .
Yük ve performans testleri
Önbellek stratejileri
Dağıtık data toplama ve queue sistemleri. Dağıtık DNS yapıları
Sunucu ve tarayıcıda performans loglama
Ölçeklenebilir very tabanları için yazılım geliştirme
MySQLi ölçeklendirme
Hadoop
Öngörülemeyen, en yoğun zamanlardaki veya hata durumlarındaki trafiği kaldırma
Gerçek zamanlı yazılım gönderme stratejileri
Öngörülemeyen, en yoğun zamanlardaki veya hata durumlarındaki trafiği kaldırma
Gerçek zamanlı yazılım gönderme stratejileri
CENG 434 Kurumsal Uygulama Entegrasyonları

Bu ders kapsamında kurumsal uygulama entegrasyonlarının çeşitleri, bunların tasarım ve gerçekleştirilme şekilleri ile bu entegrasyonlara ilişkin güvenlik, güvenilirlik ve hataya tolerans gibi kalite parametreleri işlenecektir.

KONU
Kurumsal mimarilere giriş
Kurumsal bilgi sistemleri katmanları
Kurumsal uygulama entegrasyonlarının temel problemleri
Entegrasyon tipleri
Kurumsal uygulamalarda kullanılan bilgi teknolojileri elemanları ve şablonları
Web servisleri
İşlem monitörleri
Kurumsal servis yolu I
Kurumsal servis yolu II
İş süreçleri, iş akışları ve bunların yönetimi I
İş süreçleri, iş akışları ve bunların yönetimi II
İş etkinliği izleme
Güvenlik
Güvenilirlik ve hataya tolerans
CENG 435 Veritabanı Yönetim Sistemi Tasarımı ve Gerçekleştirilmesi

Bu ders veri tabanı yönetim sistemleri ve modern veri tabanı uygulamaları açısından ileri düzeyli konuları kapsayacaktır. Belli başlı konular şunlardır; koşut zamanlılık denetim yöntemleri, ilşkisel veri tabanlarında sorgu işleme ve eniyileme yaklaşımları, indeksleme yöntemleri, parallel ve dağıtık veri tabanları, yeni nesil veri modelleri, veri tabanlarında veri madenciliği, web üzerindeki veri, veri güvenliği.

KONU
Veritabanı Sistemlerinin Üzerinden Geçme, Veri Tanımı, Veri İşleme
İstemciler ve Sunucular, JDBC
Disk Yönetimi
Dosya Yönetimi
Bellek Yönetimi
İşlembilgi Yönetimi
Kayıt Yönetimi
Üst veri Yönetimi
Sorgu İşleme
Sorgu İşleme
Ayrıştırma
Planlama, Veritabanı Sunucu
İndeksleme
Sorgu Optimizasyonu
CENG 315
CENG 436 Dağıtık Bilgi Yönetimi

Bu ders, tasarım, mimari, güvenlik, tutarlılık, sorgu işleme, sorgu eniyileme, işlem yönetimi, eş zamanlılık denetimi ve dayanıklılık gibi başlıklar altında dağıtık veri tabanları ilkelerini inceler. Teori ve pratiği iç içe geçirmek için her öğrenci bir JDBC uygulaması geliştirir ve web tabanlı dağıtık veritabanı üzerinde uygular.

KONU
Dağıtık veritabanlarına giriş
İlişkisel vertabanı yönetim sistemlerini tekrar etmek
Bilgisayar ağşarı
Dağıtık veritabanı mimarisi
Dağıtık veritabanı dizaynı- Yatay paylaştırma
Dağıtık veritabanı dizaynı- Dikey paylaştırma
Anlamsal veri yönetimi
Sorgu işleme
Sorgu ayrışımı ve veri lokalizasyonu
Dağıtık sorgu optimizasyonu
Dağıtık aynı anda erişim
Dağıtık tutarlılık protokolleri
Dağıtık güvenlik protokolleri
Ekip projelerinin sunumu ve tartışılması
CENG 315
CENG 437 Yazılım Kalite Yönetimi

Bu ders yazılım kalite yönetimi, kalite yönetim modelleri (CMMI, ISO, IEEE), kalite yönetimde kulanılan yöntemler, araçlar ve alanları, kalite yönetim sürecinin iyileştirilmesi ve kalite maliyetinin yönetilmesi, hata, sorun önleme ve süreç iyileştirme yöntemleri konularını kapsamaktadır.

KONU
Yazılım Kalite Yönetimine Giriş
Yazılım Kalitesinin bileşenleri ve Kalite Modelleri (CMMI, RUP)
Yazılım Kalitesinin bileşenleri ve Kalite Modelleri (ISO9001, SPICE, IEEE12207)
Yazılım Kalite Yönetiminde Kullanılan Yöntem ve Araçlar
Hata, Sorun Önleme Yöntemleri
Hata, Sorun Önleme Yöntemleri
Yazılım Test Yöntemleri
Yazılım Test Yöntemleri
Bakım Yönetimi
Bakım Yönetimi
Konfigurasyon Yönetimi
Yazılım Kalite Metrikleri
Süreç Kalite Metrikleri ve Kalite Yönetimde Maliyet
Süreç Kalite Metrikleri ve Kalite Yönetimde Maliyet
CENG 316
CENG 441 Paralel Programlamaya Giriş

Modern çok çekirdekli bilgisayarların daha etkin biçimde kullanılabilmesi için paralel programlama tekniklerine giriş, Paralelizmin belirlenmesi, paylaşılan verinin adlandırılması, thread senkronizasyonu, iletişime ilişkin gecikme ve bandwidth, paralel performansın analizi ve geliştirilmesi, paralel programlama araçları, çeşitli örnekler ve egzersizler.

KONU
Paralel Bilgisayar Sistemlerine Giriş
Paralel Programlama Modelleri
Paralelizmi Keşfetme Metotları
Paralel Algoritma Tasarım Metotları
Paralel Programlama Desenleri
Bellek Paylaşımlı Mimarilerde Thread’ler ve Paralelizm
Domain Ayrıştırma ve OpenMP
Yarış Durumundan Sakınma, Thread’ler ve OpenMP
Task Ayrıştırma ve OpenMP
Paralel Uygulamalarda Verimlilik Analizi
Paralel Uygulamalarda Verimliliğin Arttırılması
Paralelleştirmede Uygun Thread Modelin Belirlenmesi
Dağıtık Bellekli Ortamlarda Paralelleştirme – MPI
Dağıtık Bellekli Ortamlarda Paralelleştirme – MPI
CENG 442 Çok Çekirdekli Mimariler ve İşletim Sistemleri

Çok çekirdekli mimarilere evrimsel bir yaklaşım, çok çekirdekli mimarilerin işletim sistemleriyle entegrasyonu, çok çekirdek ve çoklu threadler için işletim sistemi kernel tasarımı, çoklu thread için işletim sistemi desteği, kullanıcı düzeyinde threadler, kernel seviyesinde threadler. Örnekler: Solaris threadleri, treadler ve kütüphaneler, tek işlemcili ve çok işlemcili platformlarda çoklu threadler için donanım desteği.

KONU
Giriş: İlgili kavramlar ve ders içeriğinin tanımlanması.
İşlemci Mimarisi: komut set tasarımı
İşlemci Uygulamaları
Interrupts, Traps ve Exceptions
İşlemci Verimliliği
Pipeline işlemci tasarımı ve performans
Ara sınav 1
Yeni Mimariler ve Çok çekirdekli Tasarımlar
İşlemci Yönetimi
Bellek Yönetim Teknikleri
Bellek Hiyerarşisi
Paralel İşlemciler
Girdi/Çıktı ve Dosya Sistemleri
Sonuç: Tüm Parçaları Biraraya Getirmek
CENG 443 Heterojen Paralel Programlama

Heterojen GPU mimarisi, GPU programlama modelleri ve yöntemleri, CUDA programlama.

KONU
Heterojen paralel programlamaya giriş
GPU donanımı ve mimarisi
CUDA’ya giriş
CUDA thread temelleri
CUDA hafızası
CUDA paylaşımlı hafızası
Ara sınav
CUDA performansı
Warp seviyesinde CUDA
Paralel örüntüler
Paralel örüntüler-2
Performans iyileştirme
CUDA akışı
Çoklu GPUlar
CENG 444 Paralel Programlama Örüntüleri

Paralel programlama, eşzamanlılık, görev paralelliği, senkronizasyon örüntüleri.

Konu
Paralel programlamaya ve tasarım örüntülerine giriş
Paralel hesaplama
Eşzamanlılık bulma tasarım alanı
Görev ve veri ayrıştırma örüntüsü
Algoritma yapısı tasarım alanı
Görev paralelliği örüntüsü
Ara sınav
Destekleyen yapılar tasarım alanı
Fork/join örüntüsü
Gerçekleme mekanizmaları tasarım alanı
Senkronizasyon/iletişim
Veri akışı paralelliği
Paralel programlama örnekleri
Paralel programlama örnekleri
CENG 451 İleri Sayısal Sistem Tasarımı

Sonlu durum makinalarının tasarım ve analizi; yüksek seviyeli donanım tanımlama dilleri, VHDL, tasarımda otomatik sentezleme; sayısal tümleşik devre tasarımı ve ileri düzey tasarım konuları; sayısal devrelerin elektriksel özellikleri, senkron ve askenron devreler, bilgisayar aritmetiği, harici devrelere bağlantı için ara yüz tasarımı, sayısal sistemlerin testi; gömülü hesaplama sistemlerinin ASIC ile tasarlanması; tekrar kullanım için tasarım.

KONU
Sayısal Sistem Tasarımına Giriş
Temel Elektronik
Sayısal Tasarımın Temelleri
FPGA ve ASIC tasarım; VHDL Programlama Dili – I
VHDL – II
Özet ve Değerlendirme
Elektronik Tasarım Otomasyon Araçları
Özel Amaçlı Yazılımsal Mikroişlemci/denetleyici Tasarımı
Genel Amaçlı Yazılımsal Mikroişlemci/denetleyici Tasarımı
Sayısal Sinyal İşlemci Tasarımı
Hataya Dayanıklı Donanım Tasarımı
Harici Devreler için Arayüz
Tekrar kullanım için tasarım, test ve diğer konular
Dönem projesi
CENG 452 Gömülü Sistemler için Yazılım Geliştirilmesi

Programlanabilir gömülü sistemlerin tasarımı ve gerçeklenmesi; derleyiciler, planlayıcılar, kod üreteçleri, ve sistem seviyesi tasarım araçları; veri-akış ve kontrol modelleri, tekli ve çoklu mikroişlemci mimarileri için yazılım sentezleme; Senkron/reaktif programlama dilleri ve matematiksel altyapıları; sinyal işleme, iletişim ve kontrol algoritmalarının sayısal sinyal işleme, mikrodenetleyici, FPGA, ASIC ve gerçek-zamanlı işletim sistemlerinde uygulanması; gerçek-zamanlı çekirdek tasarımı; donanım ve yazılım hatalarını tolere eden yazılım teknikleri.

KONU
Gömülü sistemlerde yazılım geliştirmeye giriş
Derleyiciler, kod üreteçleri, sistem seviyesinde tasarım araçları
Hesaplamada veri akış ve kontrol modelleri
Tek ve çok işlemcili sistemler için yazılım sentezleme
Senkron/Reaktif programlama dilleri
Gerçek-zamanlı işletim sistemleri
Özet (yazılı yoklama)
Gerçek-zamanlı iş yükü planlama (scheduling) algoritmaları
Sayısal işaret işleme, haberleşme ve kontrol alanlarında algoritma tasarımı
Algoritmaların mikrodenetleyiciler, sayisal işaret işlemcileri ve FPGA’ler üzerinde implementasyonu
Yazılım geliştirme araçları ve standartları
Test, tekrar kullanım odaklı tasarım
Yazılım tabanlı hataya-dayanıklılık teknikleri
Dönem projelerinin tartışılması
CENG 461 Artificial Intelligence

Sonuca dayalı programlama; sorun çözme; bilgi gösterme; çıkarsama; mantıksal davranmak; belirsizlik; öğrenme; iletişim.

KONU
Giris
Bildirimsel yazılım dilleri
Problem çözme
Buluşsal yaklaşımlar
Bilgi
Varlık bilgisi
Çıkarsama
Mantıksal davranma
Sınama
Belirsiz bilgi
Belirsizlik altında çıkarsama
Öğrenme
İletişim
Algılama ve etiketlemeSonuca dayalı programlama; sorun çözme; bilgi gösterme; çıkarsama; mantıksal davranmak; belirsizlik; öğrenme; iletişim.

KONU
Giris
Bildirimsel yazılım dilleri
Problem çözme
Buluşsal yaklaşımlar
Bilgi
Varlık bilgisi
Çıkarsama
Mantıksal davranma
Sınama
Belirsiz bilgi
Belirsizlik altında çıkarsama
Öğrenme
İletişim
Algılama ve etiketleme
CENG 462 Esnek Hesaplama

Yapay sinir ağları; evrimsel algoritmalar; bulanık dizgeler; olasılık; karışıklık kuramı.

KONU
Giriş
Değişik Yapay Us Yaklaşımları
Yüksek Düzeyli Mantıklar
Tasarlama
Uzman Dizgeler
Çevre Örnekleme
Özetleme
Esnek Hesaplama
Simgesel Olmayan Öğrenme
Doğal Dil İşleme
Akıllı Aracılar
Çok Aracılı Dizgeler
Anlamsal Ağ
Robot Bilimi
CENG 463 Yapay Öğrenmeye Giriş

Otomatik öğrenme konusuna giriş ve değişik uygulama alanlarından örnekler verilmesi. Bayesçi karar kuramı. Gözetimli öğrenme teknikleri. Model seçimi. Boyut Azaltma. Öbekleme. Destek yöney makineleri. Çizgesel modeller. Sinir ağlarına giriş. Pekiştirmeli öğrenme.

KONU
Yapay Öğrenmede Kavramlar
Bayesçi Karar Teoremi
Gözetimli Öğrenmenin Temelleri
Doğrusal Bağlanım
Mantıksal Bağlanım
Model Seçme Prosedürleri
Çok Değişkenli Sınıflandırma, Çok DEğişkenli Bağlanım
Özet ve Sınav
Boyut Azaltma ve Temel Bileşen Analizi
Öbekleme
Doğrusal Ayrım Fonksiyonları
Sinir Ağları
Gözetimli Öğrenme: Parametrik olmayan yaklaşımlar
Yapay Öğrenme Deneylerinin Tasarım ve Analizi
CENG 464 Metin Madenciliği

Bu ders, gerçek veri kümeleri ve metin madenciliği araçları kullanarak Python ile metin madenciliği ve veri analitiğinin temel bileşenlerini öğrenme fırsatı sunar. Metin ön işleme, duygu analizi ve konu modelleme dahil olmak üzere temel metin madenciliği tekniklerinde uygulamalı deneyim sağlar ve öğrencilerin bir veri bilimcisi olarak eğitilmesine yardımcı olur.

Bu derste, temel doğal dil işleme teknikleri, belge temsili, metin sınıflandırma ve kümeleme, belge özetleme, duygu analizi, sosyal ağ ve sosyal medya analizi, olasılıklı konu modelleri ve metin görselleştirme dahil olmak üzere metin madenciliğindeki önemli konuları ele alacağız.

Konular
Giriş
Doğal Dil İşleme Adımları
Doğal Dil İşleme Adımları
Belge Gösterimi
Belge Gösterimi
Metin Sınıflandırması
Metin Gruplama
Veri Toplama
Konu Modelleme
Metin Özetleme
Metin Oluşturma
Sosyal Medya ve Ağ Analizi
Duygu Analizi
Metin Görselleştirme

 

 

 

 

 

CENG 465 Veri Yoğun Sistemlerin İlkeleri

Bu dersin temel amacı, öğrencileri çok çeşitli veri sistemlerinin arkasındaki temel fikirlerle tanıştırmaktır. Öğrenciler, verileri depolamak ve işlemek için çeşitli yaklaşımları, teknikleri ve araçları karşılaştırarak her birinin güçlü ve zayıf yönlerini tartışabilecek ve uygulamaları için en uygun olanı seçebileceklerdir.

Çeşitli veri modelleri ve sorgu dilleri; veri depolama ve veri getirme; dağıtık verilerde çoğaltma ve bölümleme; işlemler; dağıtık sistemlerin zorluklarları; dağıtık sistemlerde tutarlılık ve fikir birliği; toplu işlem ve akış işleme.

Veri Yoğun Sistemlere Giriş
Veri Modelleri ve Sorgulama Dilleri
Veri Modelleri ve Sorgulama Dilleri
Veri Depolama ve Çekme
Veri Kodlama
Dağıtık Veri Çoğaltma
Dağıtık Veri Bölümleme
Dağıtık Olmayan ve Dağıtık Veritabanlarında İşlemler
Dağıtık Olmayan ve Dağıtık Veritabanlarında İşlemler
Dağıtık Sistemlerin Zorlukları
Hataya Dayanıklı Dağıtık Sistemler
Toplu İşlem
Akış İşleme
Veri Sistemlerinin Geleceği
CENG 471 Kriptografi

Gizlilik, Doğruluk, Özgünlük denetimi, kriptografi tarihçesi, Bilgi Kuramının temel kavramları, gizlilik sistemleri, tekalfabeli yerine koyma, çok alfabeli yerine koyma, permütasyon, blok şifreler, DES-AES simetrik kriptosistemleri, simetrik kriptosistemlerde anahtar yönetimi, birleştirilmiş blok şifreler, simetrik kriptosistem güvenlik mimarileri, simetrik kriptosistem tasarımı ve doğrulaması. Faktörizasyon tabanlı (RSA), Eliptik Eğri (ECC) asimetrik kriptosistemler, Rastgele sayı ve Asal sayı üreten algoritmalar, asallık testleri, Öz çıkarımı algoritmaları (MD5-SHA0-SHA1-SHA2), PKI – Açık anahtar alt yapısı ve ilişkin modeller, IEEE P1363, Fips 140.2-186.2, x9.62, x9.63, PKCS#6, x509v3 vb standartlar.

KONU
Gizlilik, bütünlük ve kimlik denetimi ile ilgili temel tanımlar ve kriptografi tarihi.
Bilgi kuramı ve Olasılık kuramı ile ilgili temel kavramlar.
Monoalphabetical & Polyalphabetical yerine koyma yöntemi
Transpozisyon-Permütasyon
Blok şifreleme, DES-AES
Simetrik anahtar yönetimi ve güvenlik mimarisi.
Simetrik kriptosistem tasarım ve doğrulama.
Sayılar kuramına giriş, kavramlar I
Sayılar kuramına giriş, kavramlar II
Faktorizasyon tabanlı kriptosistem: RSA
Ayrık Logaritma problemi ve kriptosistemler: DHKE, ElGamal
Elliptik Eğri Kriptosistem: ECC
PKI – Açık Anahtar Altyapısı
Kriptografik Protokol tasarımı FIPS 140-2/3
CENG 472 Bilgisayar Ağı Güvenliği

Hat şifreleme, Uçtan-uca şifreleme, bilgisayar ağı ve Internet tabanlı saldırılar. Güvenlik duvarları, E-posta güvenliği konuları, Web bağlantılı güvenlik konuları, Sistem çökmesinden geri kurtarım, Stand-alone ile Ağ İşlemlerinin C2 işlevselliğinin karşılaştırılması, Hacker’ lar ve Cracker’ lar, Bilgisayar ağı saldırıları.

KONU
Bilgisayar ağları güvenliğine giriş
Simetrik şifreleme
Asimetrik şifreleme
Erişim denetimi
Dağıtık erişim denetimi
E-posta güvenliği
IPSEC ile IP güvenliği
Ağ yönetiminde güvenlik
Bilgisayar ağlarına saldırılar
Güvenlik duvarı
Güvenlik duvarı politikaları
Güvenlik duvarı ile kullanılan teknolojiler (NAT, VPN)
Saldırı ve nüfuz tespit sistemleri 1
Saldırı ve nüfuz tespit sistemleri 2
CENG 473 Bilgi ve İletişim Teknolojileri Güvenliği

Güvenli bilgi ve haberleşme sistemlerinin tasarlanması, kurulması ve yönetimi ile ilgili yöntem ve araçlar incelenecektir. Bu amaçla gereksinim duyulan güvenlik fonksiyonları ve bunları sağlayan kriptografik güvenlik araçlar, ağ güvenliği araçları ve yöntemleri tanımlanacaktır. Güncel güvenlik problemlerinin incelendiği, bulut bilişim, web uygulama ve servisleri, kablosuz ağlar gibi pek çok uygulama alanını içine alan çözülmemiş problemler ve yapılan çalışmalar öğretilecektir. Öğrenciler ilgi duydukları güncel problemlerden birisini analiz ederek, sorunu, çözüm yöntemlerini veya yapılan araştırma çalışmalarını dönem projesi olarak yazılı raporlar ve sunum yapar.

Konu
Bilgi ve İletişim güvenliğine giriş
Temel Güvenlik Fonksiyonları ve Kriptografik Araçlar
Temel Güvenlik Fonksiyonları ve Kriptografik Araçlar
Ağ Güvenliği; Temel Güvenlik Problemleri-Tespiti
Ağ Güvenliği; Temel Güvenlik Problemleri-Önlenmesi
Ağ Güvenliği; Temel Güvenlik Problemleri-Korunması
Bulut Bilişim Güvenliği
WEB Uygulamaları ve Servislerinin Güvenliği
İşletim Sistemleri Güvenliği
İnternet Güvenliği
Kablosuz Ağların Güvenliği
Kablosuz Ağların Güvenliği
Bilgi Güvenliği Yönetimi
Bilgi Güvenliği Yönetimi
CENG 481 Bilgisayar Bilimlerinde Kuramsal Yaklaşımlar

Kuramsal fikirlerin çözüm setlerine dönüştürülmesi, problem çözme teknikleri ve bilgisayar bilimlerindeki uygulamaların matematiksel yaklaşımlarla entegrasyonu, Başlıca kuramlar: Algoritmalar, Karmaşa kuramı, Oyunlar Kuramı, Olasılık Kuramı, Graf Kuramı, Otomata Kuramı, Cebir ve Kriptografi.

Konu
Giriş: İlgili kavramlar ve ders içeriğinin tanımlanması.
Hesaplama Karmaşıklığı Kuramı – I
Hesaplama Karmaşıklığı Kuramı – II
Otomatlar Kuramı
Diller ve Hesaplanabilirlik
Algoritmalar; Algoritma Kuramı
Algoritmalar; Algoritma Çözümlemesi
Algoritmalar; Veri Yapıları
Algoritmalar; Yaklaşıklaşma Algotirmaları Orta büyüklük
Algoritmalar; Çizge  Algoritmaları
Algoritmalar ; Sayısal Çözümleme
Yapay Zeka
Makina Öğrenmesi
Algoritmalar; Hesaplamalı Biyoloji
CENG 482 Evrimsel Hesaplama

Evrim stratejileri, evrimsel programlama, genetik algoritmalar, genetik programlama, seçilen çeşitli evrimsel hesaplama tekniklerinin incelenmesi.

KONU
Giriş
Evrimsel strateji
Evrimsel programlama
Genetik algoritmalara giriş
Genetik algoritma uygulamaları
Genetik programlama
Öğrenebilen sınıflandırıcı dizgeler
Değerlendirme
Sürü aklı
Türetik evrim
Uyumluluk arama
Yapay bağışıklık dizgeleri
Yapay yaşam
Kültür algoritmaları
CENG 483 Davranışsal Robot Bilimi

Mekatronik; yapılar; denetim; yapay us birimleri; bilgisayar görüntü; eşleştirme; tasarlama; yönlendirme; iletişim; iş birlikçilik; robot etikleri; uygulamalar.

Konu
Giriş
Mekatronik
Yazılımsal yapılar
Denetim
Yapay us birimleri
Görüntü işleme
Eşleştirme
Tasarlama
Yol bulma
Değerlendirme
İletişim
İş birliği
Robot etikleri
Uygulamalar
CENG 484 Veri Madenciliği

Bilgi keşfi ve veri madenciliği, veri ambarcılığı, veri hazırlama ve veri madenciliği ilkelleri, kavram tanımlama, ilişki kuralları madenciliği, sınıflandırma ve tahminleme, küme analizi, web madenciliği, veri madenciliği uygulamaları.

Konu
Bilgi Keşfi Genel Bakış
Genel olarak Veri Madenciliği
Veri Ambarcılığı ve Metodları
Veri Hazırlanması
Veri Madenciliğinin Temelleri
İlişki Kuralları Madenciliği
İlişki Kuralları Madenciliği
Sınıflandırma ve Kestirim
Sınıflandırma ve Kestirim
Kümeleme Analizi
Kümeleme Analizi
Web Madenciliği
Veri Madenciliği Uygulamaları
Ekip Projelerinin Sunumu ve Tartışılması
CENG 485 Bilgi Teknolojilerinde Girişimcilik

Bilgi teknolojilerinde iş idaresinin temellerine ek olarak bu ders hedef belirleme, ekip kurma, bilgi sermayesi, müşteri projeleri ve iş yönetimi için paradigmalar, stratejiler ve yöntemler konularını kapsayacaktır.

Konu
İlk Girişimcilik Deneyimi
Bilişim sektöründe sunum
Pazarlama yöntemleri
İş geliştirme stratejileri
IBM ve Microsoft örnekleri
Ekip yönetiminde paradigmalar
Kurum içi kaynak ve kurum dış kaynak kavramları
Stratejik plan ve önemi
İş büyütmede müşteri projelerinin önemi
Yazılım ekibi yönetiminde denenmiş modeller
Yeni iş modelleri
Dünyadaki yazılım sektörü gelişmeleri ve Türkiye
Gelecekte yazılım sektörü I
Gelecekte yazılım sektörü II
CENG 486 Akıllı İşletmeler için Girişimcilik

Akıllı iş dünyasını oluşturan bileşenler ve ekosistem. İş süreçlerinin otomasyonu. Akıllı İş Dünyası iş modelleri ve bunların gerçekleştirimi.

Hafta Konu
1 Akıllı İş Dünyasına Giriş
2 Akıllı İş Dünyası Ekosistemi
3 Otomasyon Temelli Değer Yaratma
4 İş Ortaklarını Ağlarla Bağlama
5 Veriye Dayanan Akıl
6 Karar Vermeyi Otomatikleştirme
7 İş süreçlerini Otomatikleştirme
8 Otomasyon Temelli İş Modelleri
9 Üyelik Ekonomisi
10 Bulut Temelli İş Platform Oluşturma
11 Nesnelerin İnterneti ve Sayısal Dönüşüm
12 Akıllı İş Dünyası için Girişimcilik Yetkinlikleri
13 Akıllı İş Dünyası için Girişimcilik Ekosistemi
14 Akıllı İş Dünyasının Geleceği
CENG 487 Bilgisayar Grafiğine Giriş

Dersin temel amacı öğrencilerin modelleme, oluşturma, dokulandırma ve ışıklandırma benzeri temel Bilgisayar Grafiği konularında bilgi sahibi olmalarıdır. Öğrenciler bilgilerini OpenGL benzeri standart programlama arabirimleriyle öğrendiklerini uygulama konusunda pratik kazanacaklardır.

Konu
Giriş
Renk
Bilgisayar Grafiği için Matematik
Üç Boyutlu Grafik
OpenGL
Dokulandırma
Gölgelendirme ve Işıklandırma I
Oluşturmaya Giriş
Işınatımı
Işın Taramanın Temelleri
Foton Haritalama ve Küresel Işıklandırma
Işın Taramanın Hızlandırılması
Gölgelendirme ve Işıklandırma II
Hacim Oluşturma
CENG 488 Bilgisayar Grafiği

Bu ders ileri bilgisayar grafiği oluşturma tekniklerini konu alır. Derste gerçekçi bilgisayar grafiği için gerekli ileri ışıklandırma modelleri, hızlandırma teknikleri, hacimsel oluşturma yöntemleri anlatılmaktadır. Ayrıca bu bilgisayar grafiği tekniklerinin güncel donanım üzerinde hızlandırılmasını da kapsar.

KONU
Giriş
Işınatımı
Işın Tarama Teknikleri
Foton Haritalama I
Foton Haritalama II
Küresel Işıklandırma I
Küresel Işıklandırma II
Işın Taramanın Hızlandırılması
Gölgelendirme
Işıklandırma
Hacim Oluşturma I
Hacim Oluşturma II
İleri Sahne Modelleme I
İleri Sahne Modelleme II