Bu ders, Java programlama dili ile programlamaya giriş dersidir. Bu derste Java"nın yapısal programlama dili olma özelliği üzerinde durulmakta ve nesneye dayalı yönü üzerine ağırlık verilmemektedir. İkinci yönüne, sadece öğrencilerin standart Java kütüphanelerini genel işlemelerde kullanılabilecekleri kadar değinilmektedir. Bu dersi başarıyla tamamlayan öğrenciler algoritmik düşünce ve yapısal programlamada sağlam bir temel edinecek ve temel, genel hesaplamalı işlemleri kolaylıkla ve etkili bir şekilde uygulayabileceklerdir.
Bu ders, Java programlama dili ile programlamaya giriş dersidir. Bu derste Java"nın yapısal programlama dili olma özelliği üzerinde durulmakta ve nesneye dayalı yönü üzerine ağırlık verilmemektedir. İkinci yönüne, sadece öğrencilerin standart Java kütüphanelerini genel işlemelerde kullanılabilecekleri kadar değinilmektedir. Bu dersi başarıyla tamamlayan öğrenciler algoritmik düşünce ve yapısal programlamada sağlam bir temel edinecek ve temel, genel hesaplamalı işlemleri kolaylıkla ve etkili bir şekilde uygulayabileceklerdir.
Bu ders, Java programlama dili ile programlamaya giriş dersidir. Bu derste Java"nın yapısal programlama dili olma özelliği üzerinde durulmakta ve nesneye dayalı yönü üzerine ağırlık verilmemektedir. İkinci yönüne, sadece öğrencilerin standart Java kütüphanelerini genel işlemelerde kullanılabilecekleri kadar değinilmektedir. Bu dersi başarıyla tamamlayan öğrenciler algoritmik düşünce ve yapısal programlamada sağlam bir temel edinecek ve temel, genel hesaplamalı işlemleri kolaylıkla ve etkili bir şekilde uygulayabileceklerdir.
Java dili kullanarak nesne yönelimli programlama. Veri türleri, ifadeler, denetim deyimleri, dizeler, diziler. Sınıflar, nesneler, yöntemler, aşırı yükleme, değişken kapsamı, bellek. Özyineleme. Kalıtım, çok biçimlilik, soyut sınıflar, arayüzler, gömülü sınıflar, isimsiz sınıflar. Kural dışı durum işleme. Dizeler ve düzenli ifadeler. Dosya G/Ç. Üreysel koleksiyonlar. Üreysel sınıflar ve yöntemler. Lambdalar ve akışlar. Olay güdümlü programlama. Çoklu kullanım.
Basit veri yapıları, algoritmalar ve onların karmaşıklık incelemesi. Liste, yığın, kuyruk, öncelikli kuyruk, harita, ağaç, dengeli ağaç, anahtarlı tablo, bellek yığını, atlamalı liste, önekli ağaç. Basit arama, seçme, sıramala ve çizge algoritmaları. Özyineleme.
Bu dersin amacı C programlama dilini kullanarak mühendislik problemleri için çözüm oluşturabilme ve tasarım yapabilme yetisinin geliştirilmesidir. Ders öncelikle C programlama dilinin yazım kuralları, veri tipleri, döngüler, akış şeması tasarımı, fonksiyon yazma ve modüler programlama, dizge ve karakterler (arama, sıralama işlemleri), diziler ve temel dizi işlemleri konularını ele alır. Dersin ikinci kısmında elektrik devre analizi, sayısal işaret işleme, yapay zeka, finans ve veri analizi konularında uygulamalar ele alınmaktadır.
İşletim sistemleri kavramlarına giriş, süreç yönetimi, bellek yönetimi, görüntü bellek, giriş-çıkış ve aygıt yönetimi, dosya sistemleri, iş planlama, iş parçacığı, süreç senkronizasyonu, kilitlenme, kesinti yapıları, işletim sistemleri örnekleri.
Veritabanı ve veritabanı yönetim sistemlerinin kavramsal ve pratik yönleri. Öğeler ve öğeler arası ilişkilerin modellenmesi, ilişkisel model, ilişkisel cebir, Yapılandırılmış Sorgu Dili (SQL), normal formlar ve normalleştirme, işlem yönetimi, çizelgeleme ve serileştirilebilme, koşut zamanlılığın denetimi ve kilitleme, dizinleme, veritabanlarında güncel eğilimler ve NoSQL.
Bu ders, mobil cihazlar uzerinde yazilim ortamlari ve dillerini kapsamaktadır. Mobil cihaz mimarisi ve yazılım geliştirme ortamları, MIDP Uygulama Modeli, Kullanıcı Arayüzü Kütüphaneleri, Yüksek Seviye Kullanıcı Arayüzü Bileşenleri, Alçak Seviye Kullanıcı Arayüzü Kütüphaneleri, MIDP veritabanı kütüphaneleri. Mobil cihaz işletim sistemi ortamları ve Symbian, Android, Mobile Windows derste işlenmektedir.
Temel koşut-zaman kavramları. Paralel mimariler, çok çekirdekli işlemciler, heterojen sistemler, ortak bellek ve dağıtık bellek mimarileri. Paralel programlama modelleri ve dilleri. Çok-örgülü, mesaj geçirme, veri güdümlü, veri paralel programlama. Paralel program tasarımı, ayrışma, tanesellik ölçüsü, yerellik, iletişim, yük dağılımı ve asekron programlama. Performans modelleme, paralelleştirmenin getirdiği ek yükler.
Akıllı İnsan-Bilgisayar Arayüzleri'nin bilgisayarlı görme, öğrenme, örüntü tanıma, yapay zeka teknolojileri kullanarak tasarımı, gerçekleştirimi, test edilmesi. Destekleyici metodlar (sınıflandırma, regresyon, çok kipli bilgi birleştirme, nesne tanıma); teknolojiler (bakış takibi, hareket tanıma); donanımlar (dokunsal araçlar, kalem temelli bilgi giriş araçları, kamera ve mikrofon dizileri).
Veri yapıları, algoritmalar ve ilgili hesaplama karmaşıklıkları.Sönüşür (asimtotik) karmaşıklık ölçütleri. Çizge gösterimleri ve algoritmaları. Çizgelerde dolaşma ve arama. Yönlü çizgeler ve topolojik sıra. Ormanlar ve ağaçlar. Minimum kapsayan ağaç. İki-kısımlı uydurma. Birleşim-aramalı veri yapıları. Yığıtlar. Kıyım algoritmaları. Amortize edilmiş karmaşıklık analizi. Eniyileme algoritmaları. Dinamik programlama. Fırsatçı algoritmalar. En kısa yol algoritmaları. Ağ akışı. Rasgele algoritmalar. Doğrusal programlamaya giriş. NP-completeness kavramına giriş. Karar-verme problemleri. Doğal NP-complete problemler ve yaklaşım algoritmaları. Matris gösterimleri ve algoritmaları.
Yazılım güvenilirliğini sağlama amaçlı araç ve teknikler. Belirtim yöntemleri ve dilleri. Modelleme araçları ve dilleri. Birim ve birleştirme sınamaları. Otomatik sınama ve doğrulama araçları ve algoritmaları. Programların ve koşturmaların matematiksel temsili. Hoare mantığı. Modüler kontratlar ile belirtim yazma: İlk- ve son-durum belirtimleri, döngü ve nesne değişmezleri. Sahiplik sistemleri. Otomatik sınama senaryosu üretimi. Model-tabanlı sınama. Sınama yeterliği için kapsama ölçütleri. Güvenilir yazılım için tip ve etki sistemleri. Yazılım model sınayıcılar. Durağan çözümleme. Koşut-zamanlı/çok-örgülü programlar. Koşut-zamanlı programlar için doğruluk kriterleri: yarış durumları, bölünmezlik, sıralanabilirlik ve dizilebilirlik. Koşut-zamanlı programlar için sınama, doğrulama ve hata ayıklama araçları.
Öğrencilerin fen ve mühendislik bilgilerini bir bilgisayar mühendisliği projesinde uyguladıkları bir tasarım dersi. Gerçekçi koşullar ve kısıtlar altında bir grup projesinin geliştirilmesi, tasarımı, uygulaması ve yönetimi. İletişim, takım çalışması ve sunum becerilerine de ağırlık verilir.
Entropi, bağıl entropi ve karşılıklı bilgi miktarı; sonuşurda eşbölüntü kuramı; rastgele bir sürecin entropi hızları; veri sıkıştırma; Kolmogorov karmaşıklığı; kanal sığımı; ayrımsal entropi; Gauss kanalı; en yüksek entropi ve spektral kestirim; hız bozulum kuramı, ağ bilişim kuramı.
Temel koşut-zaman kavramları, gerekirci olmamak, bölünmezlik, yarış durumları, eşzamanlama, birbirini dışlama. Paralel mimariler, çok çekirdekli işlemciler, dağıtık bellek mimariler. Paralel programlama modelleri ve dilleri, çok-örgülü, mesaj geçirme, veri güdümlü, veri paralel programlama. Paralel program tasarımı, ayrışma, tanesellik ölçüsü, yerellik, iletişim, yük dağılımı. Paralel programlama desenleri, yapısal, işlemsel, strateji, koşut-zamanlı yürütme desenleri. Başarım modelleme, paralelleştirmenin getirdiği ek yükler.
Akıllı İnsan-Bilgisayar Arayüzleri'nin bilgisayarlı görme, öğrenme, örüntü tanıma, yapay zeka teknolojileri kullanarak tasarımı, gerçekleştirimi, test edilmesi. Destekleyici metodlar (sınıflandırma, regresyon, çok kipli bilgi birleştirme, nesne tanıma); teknolojiler (bakış takibi, hareket tanıma); donanımlar (dokunsal araçlar, kalem temelli bilgi giriş araçları, kamera ve mikrofon dizileri).
Veri yapıları, algoritmalar ve ilgili hesaplama karmaşıklıkları.Sönüşür (asimtotik) karmaşıklık ölçütleri. Çizge gösterimleri ve algoritmaları. Çizgelerde dolaşma ve arama. Yönlü çizgeler ve topolojik sıra. Ormanlar ve ağaçlar. Minimum kapsayan ağaç. İki-kısımlı uydurma. Birleşim-aramalı veri yapıları. Yığıtlar. Kıyım algoritmaları. Amortize edilmiş karmaşıklık analizi. Eniyileme algoritmaları. Dinamik programlama. Fırsatçı algoritmalar. En kısa yol algoritmaları. Ağ akışı. Rasgele algoritmalar. Doğrusal programlamaya giriş. NP-completeness kavramına giriş. Karar-verme problemleri. Doğal NP-complete problemler ve yaklaşım algoritmaları. Matris gösterimleri ve algoritmaları.
Yazılım güvenilirliğini sağlama amaçlı araç ve teknikler. Belirtim yöntemleri ve dilleri. Modelleme araçları ve dilleri. Birim ve birleştirme sınamaları. Otomatik sınama ve doğrulama araçları ve algoritmaları. Programların ve koşturmaların matematiksel temsili. Hoare mantığı. Modüler kontratlar ile belirtim yazma: İlk- ve son-durum belirtimleri, döngü ve nesne değişmezleri. Sahiplik sistemleri. Otomatik sınama senaryosu üretimi. Model-tabanlı sınama. Sınama yeterliği için kapsama ölçütleri. Güvenilir yazılım için tip ve etki sistemleri. Yazılım model sınayıcılar. Durağan çözümleme. Koşut-zamanlı/çok-örgülü programlar. Koşut-zamanlı programlar için doğruluk kriterleri: yarış durumları, bölünmezlik, sıralanabilirlik ve dizilebilirlik. Koşut-zamanlı programlar için sınama, doğrulama ve hata ayıklama araçları.
Kardiyovasküler ve solunum sistemi hastalıklarına multidisipliner yaklaşım: Kalp, arter ve venler, solunum sisteminin fizik muayenesi, embriyoloji, anatomi, fizyoloji, ve hastalıklarının patogenezi. Bu hastalıklarla ilgili tanısal teknikler, tıbbi, girişimsel ve cerrahi yöntemler değerlendirilecektir. Elektrokardiyografi, ritim bozuklukları, ateroskleroz ve hiperlipdemiler, iskemik ve valvüler kalp hastalıkları, kalp travmaları, pıhtılaşma bozuklukları, enfektif endokardit, myokardit, perikardit, kalp tümörleri, serebrovasküler ve periferik damar hastalıkları, anevrizmalar, venöz hastalıklar, miyokart koruma, konjenital kalp hastalıkları, torasik aort hastalıkları tanı ve tedavileri değerlendirilecektir. Solunum hastalıkları arasında vasküler bozukluklar, pulmoner emboli ve hipertansiyon, uyku bozuklukları, solunum sisteminin neoplastik hastalıkları, anafilaksi tanı ve tedavisi ele alınacaktır.