Dersler

 

İZMİR YÜKSEK TEKNOLOJİ ENSTİTÜSÜ
BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ
LİSANS PROGRAMI DERS İÇERİKLERİ (Türkçe)


1st Year

Fall

CENG111

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ı.

CENG113

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.

CENG115

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.

Spring

CENG112

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.

Ön Koşul: CENG113

CENG114

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.

2nd Year

Fall

CENG211

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ı.

Ön Koşul: CENG113

CENG213

İş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.

Spring

CENG212

Programlama Dilleri Kavramları

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.

CENG214

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.

CENG216

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ı.

3rd Year

Fall

CENG311

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ş..

Ön Koşul: CENG214

CENG313

İş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ı.

CENG315

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.

Spring

CENG312

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.

CENG314

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ı.

CENG316

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ü.

4th Year

Fall

CENG411

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.

CENG415

Lisans Tezi ve Seminer I

Ön Koşul: CENG316

Spring

CENG412

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.

CENG414

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.

CENG416

Lisans Tezi ve Seminer II

Ön Koşul: CENG415


Track Dersleri

Bilgisayar Ağları

CENG421

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ı.

CENG422

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.

Yazılım Mühendisliği

CENG431

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.

CENG432

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.

CENG433

İ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.

CENG437

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.

Ön Koşul: CENG316

Bilgi Yönetimi

CENG435

İleri Bilgi Yönetimi

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.

Ön Koşul: CENG315

CENG436

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.

Ön Koşul: CENG315

Çoklu-Çekirdek Mimariler ve Paralel Programlama

CENG441

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.

CENG442

Ç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.

Gömülü Sistemler

CENG451

İ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.

CENG452

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.

Yapay Zeka

CENG461

Yapay Us

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

CENG462

Esnek Hesaplama

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

CENG463

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.

CENG482

Evrimsel Hesaplama

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

CENG483

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.

Güvenlik

CENG471

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.

CENG472

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ı.

CENG473

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.


Diğer Teknik Seçmeli Dersler

CENG381 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ı.

CENG382 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.

CENG383 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.

CENG384 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.

CENG385 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.

CENG386 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ı.

CENG388 Web Programlama

Web and .NET framework, software development with ASP.NET, web services programming, MVC programming.

CENG389 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.

CENG390 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.

CENG391 İ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.

CENG421 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ı.

CENG422 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.

CENG431 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.

CENG432 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.

CENG433 İ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.

CENG434 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..

CENG435 İleri Bilgi Yönetimi

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.

CENG436 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.

CENG437 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.

CENG441 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.

CENG442 Ç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.

CENG451 İ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.

CENG452 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.

CENG461 Yapay Us

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

CENG462 Esnek Hesaplama

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

CENG463 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.

CENG471 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.

CENG472 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ı.

CENG473 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.

CENG481 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.

CENG482 Evrimsel Hesaplama

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

CENG483 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.

CENG484 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ı.

CENG485 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.

CENG487 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.

Click here for İYTE Central repository.