Enerji üretim tekniklerinin incelenmesi; günümüzde kullanılan enerjilerin çevre ve ekonomiye olan etkileri; Su gücü, rüzgar enerjisi, dalga enerjisi, gelgit enerjisi, okyanus ısıl enerjisi, jeotermal enerji, biyokütle enerjisi, enerji depolama. Enerji üretim sistemlerinin günümüzde sürdürülebilir olması anlamında incelemeler.
Yüzeye adzorpsiyon, adzorpsiyonda yapısal ve dinamik süreçler, adzorpsiyon termodinamiği, katalizör karakterizasyon metotları, gözenek yapıları ve yüzey alanı, kataliz için yüzey kimyası, metaller, çok iyi dağılmış katalizörler, enerji üretimi ağırlıklı endüstriyel örnekler
Ham petrolün ve biokütlenin rafineri işlemleri; ham petrol için distilasyon, katalitik ve termal kırma, yakıt iyileştirme ve diğer yan ürün işlemleri, biokütle için gazlaştırma, piroliz, transesterleştirme, yoğunlaştırma işlemleri; rafineri işlemleri için ekonomik ve çevresel etkenler.
Rekombinant DNA teknolojisi; enzimler ve biyomoleküller; moleküler genetik; mikroorganizmaların ticari kullanım alanları; biyoayrışma teknikleri; transgenik teknolojisi; Gen terapisi; Biyoyoteknolojinin çevre, tarım ve ilaç sektöründe uygulamaları
İlaç tasarımı, hastalığa neden olan bir hedefin (DNA, RNA, proteinler) aktivitesini durdurmak için belirli bir bölgeye yapışacak uygun bir ilaç molekülü oluşturma yöntemidir. Bu derste, böyle bir molekülün bilgisayar ortamında elde edilişi ele alınacaktır. İşlenecek konular: Hedef üzerindeki aktif bölgenin tayini. İlaç-reseptör etkileşmelerini kontrol eden kuvvetler. İlaç kütüphanelerinin taranması yöntemleri. İlaç yapışma enerjilerinin tayini için değişik yazılımların kullanılması. Kılavuz molekülün elde edilmesi ve geliştirilmesi. Başarılı ve başarısız olmuş ilaçların incelenmesi.
Yaşayan sistemlerdeki moleküler şebekelerin sayısal olarak anlatımı. Büyük ölçekli teknolojiler (genom dizinleri, DNA mikroçiplerini, proteomiks ve ilaç tasarımı), transkripsiyonel kontrol şebekeleri, sentetik biyoloji ve sinir ağları. Bu konular giriş seviyesindeki moleküler ve yapısal biyoloji, termodinamik, istatistik ve otomatik öğrenme dersleri ile desteklenecektir.
Kimyasal ve biyolojik sistemlerin modellenmesi. Kararlı ve geçiçi hal modellemesi ve simülasyonu. MATLAB ile uygulama örnekleri. Stokiyometrik ilişkiler ve değişmeler, kinetik modelleme, reaktörler, faz denge hali, kademeli temas sağlayan ayırma işlemleri, kütle aktarım hızları, difüzyon ve konveksiyon ile kütle aktarımı, parametre bulma.
Moleküler, hücresel ve doku mühendisliğinin temel prensiplerini ve uygulamaları. Temel doku mühendisliği teknikleri. Doku mühendisliği prensiplerinin problemlerin çözümü için kullanmaılması. Doku mühendisliği kullanılarak geliştirilmiş cihaz veya malzemelerin organ nakli metotları. Hücre ve yapı iskelesi hazırlamanın yöntemleri. Seçilen büyüme faktörlerinin ve genlerinin yapı iskelesine dahil etmenin mantığı.
Kimya mühendisliği uygulamalarında molekül modellemenin temel prensipleri; nano gözenekli yapılarda yüzeye tutunma ve difüzyonun moleküler simülasyonu; molekül dinamiklerinin gas taşınım simülasyonunda uygulanması; Monte Carlo yöntemlerinin denge ayırımlarında uygulanması, molekül modelleme ile zeolit ve metal-organik yapıların gas muhafazası için modellenmesi.
Bilgisayarlar, programlama, algoritmalar ve programlama dillerine genel bakış. Python ile programlama: Veri tipleri, değişkenler, operatörler. Kontrol Bilgisayarlar, programlama, algoritmalar ve programlama dillerine genel bakış. Python ile programlama: Veri tipleri, değişkenler, operatörler. Denetim deyimleri: şartlar, döngüler, yineleme. Dize düzenleme. Fonksiyonlar, özyineleme, ayrışma ve soyutlama. Demet, liste, sözlükler. Örtüşme, değişebilirlik, klonlama. Dosyalar. Nesneye yönelik programlama, sınıflar, kalıtım. Test, hata ayıklama, istisna yönetimi, program verimliliği.
Mantık, matematiksel akıl yürütme, kümeler, fonksiyonların büyüme hızı, algoritma karmaşıklık analizi, sayı kuramı, matematiksel tümevarım, kombinatorik, yineleme, çıkaran fonksiyonlar, bağıntılar, çizgeler ve hesaplama modelleri konularını içeren bir giriş dersi.
COMP 110 bilgisayar programlamada ilk derstir. Dersin amacı özellikle bilimsel hesaplama ve veri işleme üzerinde durularak, Matlab ile bilgisayar programlama ve algoritma geliştirme prensiplerinin tanıtılması. Başlıca konular, bilgisayar bilgileri ve düzenlenmesi, bileşenleri, işleticileri, ifadeleri, veri tipleri, diziler, matrisler; şartlı ve tekrarlı kontrol cümleleri; modüler programlama, yerleşik ve kullanıcı tanımlı fonksiyonlar; sözce (dizi) işlemeleri; metin ve ikili dosya işleme; yapılar; hata taramaları; verilerin çizimi ve görsel yapılar; grafik kullanıcı ara yüzleri.
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.
Temel yazılım kavramlarına giriş. Büyük yazılım sistemlerindeki karmaşıklığın kontrol edilmesi. İşlem ve veriler üzerine soyutlamalar. Birimsellik, nesneler ve durumlar. Makine modelleri, derleyiciler ve yorumlayıcılar. Haftalık yüklü yazılım ödevleri bu dersin önemli bir parçasıdır. Eşzamanlılık.
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.
İkinci yılını tamamlayan öğrencilerin yaz stajı programı kapsamında endüsti tecrübesi kazanabilecekleri bir iş yerinde en az 20 iş günü çalışmaları gerekmektedir. Çalışmanin içeriği bölüm tarafından hazırlanmış olan Yaz stajı kılavuz kitapçığına göre belirlenir.Öğrencilerin endüstride uygulamalı bilgi ve tecrübe kazanmaları temel alınır.
Programlama dilleri kavramları. Fonksiyonel programlama, soyut temsil, kapsülleme, tip sistemleri, değişken değeri, parametre geçirme, veri saklama, çalışma-zamanı depolama, bellek, yığıt, yığın, yorumlayıcılar. Yorumlayıcı gerçekleme. Veri temsilleri, kümeler, sözdizimi, anlam, davranış tanımlama ve gerçekleme.
Yazılım geliştirmede kullanılan metodların ve araçların gözden geçirilmesi. Nesneye yönelik tasarım ve açık yazılım mimarileri. Gereksinim analizi, tasarım, gerçekleştirim, sınama, bakım ve yönetim. Mühendislik uygulamaları.
Bilgisayarların donanım yapısı. Bilgisayarı oluşturan bileşenler ve işlevleri. Komut setleri, komut formatları, adres tipleri. Ardışık düzen yapısı ve hataları. Komut düzeyinde paralellik. Makina kodları. Veri yolları ve mikro-programlanmış kontrol. Bilgisayar aritmetiği. Bellek hiyerarşisi, ön bellek organizasyonu, sanal bellek. Paralel mimariler.
İş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.
İleri algoritma konuları ve ilgili hesaplama karmaşıklıkları. Amortize edilmiş karmaşıklık analizi. Rasgele algoritmalar. Fırsatçı algoritmalar. Eniyileme algoritmaları. Dinamik programlama. Doğrusal programlama. giriş. NP-completeness kavramına giriş. İleri çizge algoritmaları. Turing makineleri ve hesaplama modelleri NP-complete indirgeme.
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.