Program tanımları
Bilgisayar Mühendisliği, donanım ve yazılım kuramı ile algoritmik süreçlerin işlenmesini içeren tüm alanları kapsar. Donanım ve yazılım teknolojilerini kullanarak ekonomik, bilimsel ve sosyal alanlarda karşılaşılan problemlere çözüm üreten bir mühendislik dalıdır. Bu disiplinde dört ana konuda eğitim verilir: Teori, soyutlama, tasarım ve uygulama. Teori hesaplama konusunun matematiksel ve bilimsel altyapısını sağlar. Soyutlama algoritmaların, veri yapılarının, donanım mimarisinin modellenmesi prensiplerini içerir. Tasarım ve uygulama ise bilgisayar sistemlerinin geliştirilmesinde gerekli olan araçların kullanılmasını sağlar. Bu araçlar arasında programlama dilleri, veri tabanları, ağ protokolleri, yapay zeka sayılabilir.
Bilgisayar Mühendisliği yüksek lisans programı, özellikle mühendislik altyapısına sahip kişilerin temel konuları içeren hazırlık programını tamamladıktan sonra ileri sistemler ve bu sistemlerin uygulamasına yönelik 24 kredilik ders ve tez çalışmasını içeren bir programdır. Zorunlu derslerle kuramsal altyapının güçlendirilmesi, ileri sistem yazılımı ve ileri bilgisayar mimarileri konularının öğretilmesi hedeflenir. Bunlarla birlikte belli alanlarda uzmanlaşmaya yönelik seçmeli derslerle bilimsel altyapı, araştırma ve proje üretme becerileri geliştirilir. Program, öğrencilere bilgisayar konusunda belli araştırma ve uygulama alanlarında deneyim kazandırmak ve onları bu konularda derinlemesine bilgilendirmek amacıyla tasarlanmıştır. Açılan dersler, öncelikle bölümdeki araştırma konularını içeren bilgisayar ağları, bilgisayar mimarisi, dağıtık ve paralel işleme, mobil sistemler, yazılım mühendisliği, gömülü sistemler, yapay zeka, genetik algoritmalar, görüntü işleme ve bilgisayar grafiği konularında yoğunlaşmıştır. Yüksek Lisans Programı, son beş yılda dünyada bilgisayar ve bilgi teknolojilerindeki değişimlere paralel olarak gelişmiştir. Bölümümüz bünyesinde kurulmuş olan sanal gerçeklik laboratuvarı disiplinler arası araştırma ve geliştirme projelerine ortam sağlamaktadır.
Bölümümüzde şimdiye kadar çeşitli TÜBİTAK projeleri tamamlanmıştır. Şu anda TÜBİTAK (yapay zeka ve kablosuz duyarga ağları konularında) ve Avrupa Birliği 6. Çerçeve Programı (kablosuz duyarga ağları konusunda) destekli projeler yürütülmekte, ve DPT (veri kümeleme, veri madenciliği ve veritabanı konularında) projesine katkıda bulunulmaktadır. Bu projelerde Bilgisayar Mühendisliği Anabilim Dalı öğrencilerinden %40'ı araştırmacı ya da yardımcı personel olarak görev yapmaktadır Ayrıca, Yeditepe Üniversitesi Tıp Fakültesi ile disiplinlerarası ortak proje üretme çalışmalarına da başlanmıştır..
Şu ana kadar yüksek lisans mezunlarımızın yaklaşık %70'i yurtiçi ve yurtdışı diğer üniversitelerde doktora programlarına devam etmekte olup, akademik kariyer yapmaktadırlar.
DERS PROGRAMI
Grup I - Algoritma ve Bilgisayar Bilimleri Esasları :
İleri Bilgisayar Matematiği
Kesikli Sistemler için İleri Olasılık Teorisi
Algoritma Teorisi
Evrimsel Teorisi
Hesaplama Geometrisi
Hesaplama Teorisi
Grup II - Sistem Yazılımı :
Dağıtık İşletim Sistemleri
İşletim Sistemleri
İşletim Sistemlerinde İleri Komutlar
Grup III - Sistem Mimarisi:
İleri Bilgisayar Mimarisi
Veri İletişimi ve Bilgisayar Ağları
Seçmeli Dersler:
Bilgisayar Sistemleri Performans Hesaplama
Bilgisayar Güvenliği
Gerçek Zamanlı Sistemler
Bilgi Sistemleri Analiz ve Tasarımı
Yazılım Mühendisliğinde İleri Konular
Veritabanı Yönetim Sistemleri
Dil İşlemcileri
Otomata Teorisi ve Biçimsel Diller
Yapay Zeka
Sinir Ağları
Robotbilim
Uzman Sistemler ve Bulanık Mantık
Açık Sistem Ağları
Paralel İşleme
Internet Teknolojileri ve Programlama
Ağ Modelleme ve Analizi
Hareketli İletişim Sistemleri
Simulasyon Modelleme
Bilgisayar Grafiği
Sanal Gerçeklik
Görüntü İşleme ve Şekil Tanıma
Bilimsel Hazırlık Dersleri:
C Programlama
Ayrık Matematik
Veri Yapıları
Sistem Programlama ve Assembly Dili
Programlama Dilleri İlkeleri
Bilgisayar Organizasyonu
Dosya Yapıları ve Veri Tabanları
BİLGİSAYAR MÜHENDİSLİĞİ PROGRAMI
Ders İçerikleri
Önkoşul Dersleri:
ES 112 Algortima ve Programlama
Bilgisayarlar ve C kullanarak programlamaya temel giriş. Algoritmik yaklaşım, bildirimler, Giriş/Çıkış, saklama ve kontrol yapıları, fonksiyonlar.
MATH 154 Kesikli Matematik
Mantığın temelleri, küme teorisi, ilişkiler, foksiyonlar, tüme varım, özyineleme, grafiklere ve ağaçlara giriş, yüklem matematiği, sonsuz kümeler.
ICS 211 Veri Yapıları
Veri yapılarının sınıflandırılması, algoritma ve karmaşıklarına giriş. Listeler, yığıtlar, kuyruklar, ağaçlar, grafikler, hesaba dayalı adresleme tabloları ve bunların varyasyonları gibi temel yapılar. Özyineleme, dizgi manipulasyonu, arama ve sıralama algoritmarıyla ilgili önemli algoritmaların analizi. Dinamik bellek ayrımlarını kullanarak programların yazılması ve çalıştırılmasındaki vurgular.
ICS 252 Programlama Dilleri İlkeleri
Programlama dillerinin tasarımı ve gerçekleştime ilkeleri, dil sözdizimi (anlamsal özellikleri, BNF, ayırma), işlemciler (derleyiciler, yorumlayıcılar), temsil şekilleri (veri yapıları, kontrol yapıları ve sınırlayıcılar) ve stiller (prosedürsel, fonksiyonel programlama, mantıksal programlama, moduler programlama, nesne yönelimli programlama), Java ile dönem projesi
ICS 232 Sistem Programlama ve Assembly Dili
Çevirici “Assembly” dilini kullanarak kodlama ve sistem programlamanın temel kavramları, çeviriciler, makroişlemciler, bağlayıcılar ve yükleyiciler, metin editörleri, temel derleyici teorisi, yorumlayıcılar, işletim sistemlerine giriş.
ICS 323 Bilgisayar Organizasyonu
Veriyolu organizasyonu, komut kümeleri, microişlemler, microprogramlanmış kontrol, CPU, bilgisayar aritmatiği, Giriş/Çıkış organizasyonu, işkesme, DMA, ana bellek, yardımcı bellek, ön bellek ve sanal bellek, boru hatlı,vektor ve çok işlemcili sistemlere giriş ve RISC mimarisine giriş.
ICS 341 Dosya Organizasyonu
Soyutlama seviyeleri ve veri görünümleri, saklama ortamlarının özellikleri, ardışık ve direk dosya organizasyonları , dinamik dosya organizasyonları, harici sıralama metodları, veri modelleri, endeksli ve hesaba dayalı adreslenmiş dosyalar, B tipi ağaçlar, dosya çevirimi ve bağlı liste yapıları, veritabanı yönetim sistemlerine giriş
Zorunlu Dersler:
ICS 511 Algoritma Teorisi
Algoritmaların tasarım kavramları ve algoritmaların karmaşıklık analizi, özyineleme denklemlerinin çözümü ve biçimsel ispat yöntemleri, düzen ve büyüme hızına giriş,böl ve yönet yaklaşımı, dinamik programlama ve diğer teknikler,NP teorisi.
ICS 553 Hesaplama Teorisi
Hesaplama işleminin teorik analizi, soyut programlama, hesaplama makinalarının sınıfları, çözülemeyen problemler, Kleene teoremi, program eşdeğerliği ve kabul edilebilirliği
ICS 512 Evrimsel Algoritmalar
Evrimsel algoritmalarla ilgili seminer kursları, genetik algoritma, evrimsel programlama, evrimsel strateji, sosyal algoritmalar(parcacık sürüsü optimazyonu),evrimsel algoritmaların uygulamaları ve bu alanda gelişimler. Donem projesi üzerinde çalışmalar.
ICS 535 İşletim Sistemleri Tasarımı
İşletim sistemi kavramları, yapıları, servisleri, süreç yönetimi, süreçler arası haberleşimi, eşzamanlı süreçlere giriş, CPU çizelgeleme, bellek yönetimi: takaslama, sayfalama, bölümleme, sanal bellek, sayfa yerdeğiştirme, ikincil depolama yönetimi, disk çizelgeleme, dosya yönetimi, disk alanı yönetimi, güvenlik ve koruma. NACHOS üzerinde dönem projesi ağırlıklı.
ICS 532 Dağıtık İşletim Sistemleri
Dağıtık sistemlerde tasarım konuları, donanım ve yazılım konuları, içsüreç haberleşimi, uzak prosedür çağırımları, grup haberleşmesi, senkronizasyon problemleri, Lamport’un mantıksal saatlemeleri, süreçler ve işlemci tahsisleme sistem modelleri, çizelgeleme problemleri, hata toleransı, gerçek zamanda dağıtık sistemler.
ICS 533 : İleri Bilgisayar Mimarisi
Bilgisayar modelleri ve paralellik,komut ve aritmatik boruhattı tasarımı, “superscalar” ve “superpipeline” tasarımı, VLIW mimarisi, RISC/CISC, vektör mimarisi, SIMD sistemleri, dagıtık ve paylaşılmış bellek MIMD sistemleri, “multithreaded” ve veriakışı mimarisi.
Seçmeli Dersler:
ICS 519 Hesaplama Geometrisi
Kesikli geometride hesaplama problemleri algoritma ve veri yapıları, lineer programlama, orthogonal alan arama, nokta tespit etme, voronoi diagramları, delaunay üçgeni, doğru parçası kesişimi, tek yönlü alan arama.
ICS 524 Bilgisayar Sistemleri Performans Hesaplama
Bilgisayar mimarilerinin sınıfları, performans ölçüleri, hızlı bellek performansı, benchmark’lar ve modelleme
ICS 544 Yazılım Mühendisliğinde İleri Konular
Kaliteli yazılımın metodlu kurulumu teknikleri ve prensipleri, yazılım geresinimleri belirtimi, modül belirtimi teknikleri, test ve geçerlilik prosedürleri, program doğruluk ispatı. Dönem projesi ağırlıklı .
ICS 548 Veritabanı Yönetim Sistemleri
Veri tabanı tasarım algoritmaları ve uygulamaları, varlık ilişkisi, hiyerarşik, ağ ve ilişkisel veri tabanları, sorgu dilleri, ilişkisel cebir ve matematiği, veri bağımlılıkları, normal formlar, nesne yönelimli ve dağıtık veritabanları, eş zamanlı, bütünlük, ve güvenlik konuları, veritabanı sistemlerinin tasarımı ve yazılımın dönem projesi olarak sunulması
ICS 542 Bilgi Sistemleri Analiz ve Tasarımı
Bilgi sistemlerinin karakteristikleri ve elemanları, uygulamalar, gereksinimler analizi, prototip yaratma, tasarımı, gerçeklemesi, bilgi sistemlerinin testi ve bakımı, CASE araçları.
ICS 562 Yapay Zeka
Yapay zekayla ilgili temel kavramlar ve yapay zeka problemlerin çözümü için gerekli olan araştırma metodları, LISP, arama teknikleri, oyun oynama, bilgi sunumu, mantıksal çıkarım, doğal dil işlemleri, öğrenebilen makinalar, bilgisayar görüntü algılaması ve evrimsel algoritmalar.
ICS 568 Robotbilim
Algılamadan harekete akıllı bağlantılar, geometrik modeller, tesirler, sebebiyet, kararsızlık, sonuçlandırma işlem sunumu, algılama modelleri, gerçek objeleri, kinematik, kontrol teorisi, kompleks dinamikleri, düzenli baglantılı yapılar, mobil robotlar, objeler ve uzaylarla ilgili sonuçlandırmalar, algılamayı harekete bağlama.
ICS 569 Uzman Sistemler ve Bulanık Mantık
Uzman sistem geliştirmek için gereken temel kavramlar. CLIPS, bilgi üretimi ve temsili (semantik ağlar, şemalar, kafesler), bulanık mantık, çıkarım metodları, belirsiz bilgilerden mantıksal çıkarım yapma ve kesin olmayan mantıksal çıkarım. Uzman sistem tasarımı, tasarım aşamaları ve hata çözümü. Dönem projesi ağırlıklı.
ICS 564 Sinir Ağları
Sinir ağları ve evrim algoritmaları hesaplama teorisine ve uygulamlarına giriş. Sinir hücreleri ve sinir ağlarının matematiksel ve hesaplama modelleri. Sinirle bağlantılı bellekler, şekil sınıflandıranlar, fonksiyon yaklaşı yapanlar, öğrenme sağlayan algoritmalar. İstatiksel algoritmalar ve genetik algoritmaları. Anlama ve sinirsel modellemeler, simulasyon araçalrının kullanımı. Dönem projesi ağırlıklı.
ICS 571 Veri İletişimi ve Bilgisayar Ağları
Veri iletimi temelleri, çoğullama, analog ve sayısal iletim, iletim ortamı, bilgisayar haberleşme mimarisi, veri haberleşme ağları, ISO OSI referans modeli, anahtarlama teknikleri, LAN protokolleri, veri bağlama katı, çerçeleveme, akış kontrolü, hata kontrolü, kayan pencere protokolleri.Yüksek hızlı ağlar, ATM ve “Frame Relay”, ağ katmanı servisleri ve protokolleri, yol bulma, iç ağlar, ulaştırma servisleri
ICS 572 Açık Sistem Ağları
Dağıtık mimarilerde iletişim protokolleri ve problemler, TCP/IP protokolü, açık sistem ağlarında son gelişmeler
ICS 574 Paralel İşleme
Paralel programlama paradigmaları, veri-paralel diller, mesaj-aktarma yöntemi, paylaşılan-değişken yöntemi, matris, sıralama ve grafik algoritmaları
ICS 575 Internet Teknolojileri ve Programlama
HTML, CSS,XML, XSS, XHTML, dinamik HTML, içerik oluşturma, javascript, CGI Programlama, Perl, Veritabanı bağlantısı PHP, ASP,JSP
ICS 576 Ağ Modelleme ve Analizi
İletişim yolları ve prosedürler, ağ düğümlerinin tasarım ve modellenmesi, yol-atama algortimalarının topolojik tasaım, analiz ve modellenmesi, performans analizi, Kuyruk teorisi
ICS 578 Hareketli İletişim Sistemleri
Telsiz ağlar, hareketli işlemin sınırları, mimari özellikleri, istemci sunucu uygulamalarının gereksinimleri, proje uygulamaları
ICS 554 Otomata Teorisi ve Biçimsel Diller
Soyut makinalar ve bunlara denk düşen formel diller çalışmasıyla bilgisayarların matematiksel modellerinin teorisi. Konular : Formel Diller, gramerler, sonlu durum makinaları, düzenli kümeler, düzenli ifadeler, sonlu durum modellerindeki sınırlandırmalar, itmeli automata,ilişki bağımsız diller, Turing makinaları, etkili hesaplanabilme, çözülemeyen karar problemleri.
ICS 552 Dil İşlemcileri
Teori, derleyicilerin tasarımı ve çalıştırılması. Derleyici süreci, fazlar, anlamsal analiz, ayırma, sözdizimi analizi, semantik(anlamsal) analizi ve tip kontrolu, sembol tabloları, kod tablaları, ve optimizasyon. Yorumlayıcılar
ICS 583 Bilgisayar Grafiği
Bilgisayar grafiklerinin temel kavramları, tarama grafikleri ve 2B temel ilkel çizim algoritmaları, temel şekil tarama ve dönüşümleri, temel şekil doldurumu, stiller, tarama dünyasında kırpmalar, düzeltme kavramları. Grafik cihazları, 2B ve 3B geometri, donüşümler, eğrilerin ve yüzeylerin temsili, katı cisim modelleme, renklendirme, görünebilir yüzeylerin tanımlaması ve aydınlatması. OpenGL grafik paketleri. Dönem projesi ağırlıklı.
ICS 587 Görüntü İşleme ve Şekil Tanımlama
Görüntü verisinin formları, Görüntü girdisi, çıktı üniteleri, segmentasyon, projeksiyon, çok-seviyeli görüntüler, veri yapıları, kontur doldurma, inceltme algoritmaları, eğri, yüzey çıktısı, üç-boyutlu grafik.
ICS 581 Simulasyon Modelleme
Ayrık vaka sayısal bilgisayar simulasyonu ve modellemesine genel bakış.model geliştirme temelleri, Monte Carlo simulasyonu, simulasyon çalışmalarının hayat döngüsü(ömrü), giriş ve çıkış veri analizi, rasgele sayılar ve varyasyon üretimi, simulasyon dilleri