Ders Bilgi Formu ( ELM 433 )
|
Temel bilgiler
|
|
Ders adı: |
Numerik Hesaplama Yazilimlari |
Ders kodu: |
ELM 433 |
Öğretim üyesi: |
Doç. Dr. Serdar Süer ERDEM
|
AKTS kredisi: |
6 |
GTÜ kredisi: |
3 () |
Yılı, Dönemi: |
4, Güz ve Bahar |
Dersin düzeyi: |
Lisans |
Dersin tipi: |
Alan seçmeli
|
Öğretim dili: |
İngilizce
|
Öğretim şekli: |
Yüz yüze
|
Ön koşullar: |
yok |
Staj durumu: |
Yok |
Dersin amacı: |
Elektronik Mühendisliği kapsamında yararlı olabilecek bazı nümerik programlama teknikleri hakkında öğrencilere altyapı sağlanması, özellikle bir prototip dili, C/C++ ve ilgili arayüzlerin kullanımı konularında yetkinlik kazandırılması, ilgili yazılım kütüphanelerinin etkin kullanımı konusunda bilgi edindirilmesi amaçlanmaktadır. İş hayatında yazılım üzerine çalışacak veya lisans sonrası bir yüksek lisans/doktora programına devam etmeyi planlayan bir çok öğrencinin gereksinimi olabilecek yazılım kütüphanelerinin özellikle linux tabanlı işletim sistemleri üzerinde kullanımı tanıtılmak üzere bu ders teknik seçmeli olarak önerilir. Bu derste edinilmesi gereken yazılım kodları organizasyonu bilgileri ile öğrenciler tekrar kullanılabilecek nümerik hesaplama odaklı kodlar oluşturabileceklerdir. IDE'lere küçük/orta ölçekli projeler kapsamında alternatif veya yardımcı olabilecek ve öğrencilere sunulacak kapsayıcı makefile yapıları öğrencilerin daha alt düzeydeki (C/C++ seviyesindeki) kodlarını organize etmelerini kolaylaştırmaktadır ve adeta üst düzeydeki dillerin (örneğin prototip amaçlı scripting dilleri) programcıya sunduğu olanakları, doğrudan program yazmaya odaklanabilmek üzere, sunmaktadır. Ayrıca bir prototip dilinin özellikle C/C++ ile bağlantısını sağlayabilmek amacıyla bu dil ile C/C++ arasındaki arayüzün kullanımı öğretilecektir; burada arayüz aracılığıyla prototip dilinin erişimi bulunmayan kütüphaneleri kullanabilmesi ve etkin olarak prototip dili seviyesinde kullanım rahatlığını sunabilmesi amaç alınacaktır. Bu paradigma için de makefile yapısı hali hazırda öğrencilere sunulmak üzere mevcuttur. |
|
|
|
Öğrenme çıktıları
|
|
Bu dersi başarıyla tamamlayan öğrenciler, şu yetilere sahip olurlar:
-
Nümerik hesaplamalarda çok kullanılan bir prototip dili ve C/C++ üzerine bu yönde öğrenciler kendilerini geliştirme imkanı yakalarlar.
Program Çıktılarına Katkıları
-
Temel Elektronik Mühendisliği bilgisi edinmek
-
Matematik, fen ve mühendislik bilgilerini gerçek hayattaki problemlere uygulayabilmek
-
Sistem tasarımlarını geliştirmek, uygulamak ve sürdürmek
-
Mühendislik problemlerini formüle edip çözmek
-
Mühendislik uygulamalarında farklı teknik ve modern araçları kullanma bilgisini geliştirmek
Değerlendirme Tipi
-
Yazılı sınav
-
Ödev
-
Öğrenciler yazılım prototiplerini hızlı şekilde oluşturup çalıştırabilme, etkin veri yapısı, algoritma bilgisi ve tasarım biçimlerini uygulayabilme, performans kriterlerini sağlamayan yazılım modüllerini daha alt düzeydeki dillerde gerçekleme, makefile tasarımı ve kullanımı üzerine bilgi edinirler.
Program Çıktılarına Katkıları
-
Temel Elektronik Mühendisliği bilgisi edinmek
-
Matematik, fen ve mühendislik bilgilerini gerçek hayattaki problemlere uygulayabilmek
-
Sistem tasarımlarını geliştirmek, uygulamak ve sürdürmek
-
Mühendislik problemlerini formüle edip çözmek
-
Mühendislik uygulamalarında farklı teknik ve modern araçları kullanma bilgisini geliştirmek
Değerlendirme Tipi
-
Yazılı sınav
-
Ödev
-
Öğrenciler elektronik mühendisliğinin alt bilim dallarında kullanılabilecek yazılım kütüphaneleri konusunda bilgi sahibi olurlar.
Program Çıktılarına Katkıları
-
Temel Elektronik Mühendisliği bilgisi edinmek
-
Matematik, fen ve mühendislik bilgilerini gerçek hayattaki problemlere uygulayabilmek
-
Sistem tasarımlarını geliştirmek, uygulamak ve sürdürmek
-
Mühendislik problemlerini formüle edip çözmek
-
Mühendislik uygulamalarında farklı teknik ve modern araçları kullanma bilgisini geliştirmek
Değerlendirme Tipi
-
Yazılı sınav
-
Ödev
|
|
İçerik
|
|
1. hafta: |
Nümerik hesaplama yazılım biçimlerinin tanıtımı |
2. hafta: |
Etkin prototip dili kullanımına örnekler: path ayarlama, sınıflar, nesnel yönelimli veya müsvedde özelliğine sahip testlerin oluşturulması |
3. hafta: |
Nümerik hesaplamaya yönelik C/C++ kullanımının tekrarı, test ve kütüphane oluşturulması |
4. hafta: |
C/C++ tasarım biçimlerine örnekler, etkin veri yapısı ve algoritma kullanımı |
5. hafta: |
C/C++ kodlarının derlenmesi/link edilmesi için genel ve kapsayıcı makefile örnekleri |
6. hafta: |
Prototip dili ve C/C++ arasındaki arayüzün kullanımı: giriş, örnekler ve kapsayıcı makefile yapıları |
7. hafta: |
Arasınav |
8. hafta: |
Bir prototip dili, C/C++ ve arayüzler ile proje ortaya çıkarılması üzerine bilgiler ve örnekler |
9. hafta: |
it++ kütüphanesi kullanım örnekleri: giriş, haberleşme örnekleri ve C++ kapsamında bir prptotip dili stilinde programlama |
10. hafta: |
it++ kütüphanesi kullanım örnekleri: it++ ve alternatifleri aracılığı ile uygulama geliştirme |
11. hafta: |
OpenCV kütüphanesi kullanım örnekleri: veri yapıları ve kütüphane içerisinde gerçeklenmiş algoritmalara giriş |
12. hafta: |
OpenCV kütüphanesi kullanım örnekleri: öncelikli olarak görüntü işleme odaklı algoritmaların tanıtımı |
13. hafta: |
Scuff-EM kütüphanesi kullanım örnekleri: hesaplamalı elektromagnetik kütüphanesinin kullanımı |
14. hafta: |
Scuff-EM kütüphanesi kullanım örnekleri: sınır elemanları yöntemi odaklı örnekler |
15. hafta*: |
Eksik kalan konuların telafisi veya tekrarı |
16. hafta*: |
Final sınavı |
Ders kitapları ve materyaller: |
Introduction to Algorithms 3ed., Cormen et al. C++ reference : http://en.cppreference.com/w/ makefile manual : https://www.gnu.org/software/make/manual/make.html it++ documentation : http://itpp.sourceforge.net opencv documentation : http://opencv.org/ scuff em documentation : http://homerreid.github.io/scuff-em-documentation/ |
Önerilen kaynaklar: |
https://www.mathworks.com/help/matlab/ https://www.mathworks.com/matlabcentral/ |
|
* 15. ve 16. haftalar arası final sınavına hazırlık haftası bulunmaktadır.
|
|
|
|
Değerlendirme
|
|
|
Değerlendirme tipi |
Hafta numarası |
Ağırlık (%) |
|
Ara sınavlar (Vizeler): |
4, 7, 10, 13 |
48 |
Dönem içi diğer çalışmalar: |
1, 2, 3, 5, 6, 8, 9, 11, 12, 14 |
24 |
Proje: |
|
0 |
Ödev: |
11, 12, 13, 14 |
16 |
Kısa sınav (Quiz): |
|
0 |
Final sınavı: |
16 |
12 |
|
Toplam ağırlık: |
(%) |
|
|
|
İş yükü
|
|
|
Etkinlik |
Süre (Haftalık saat) |
Toplam hafta sayısı |
Dönem boyu toplam iş yükü |
|
Dersler (Yüz yüze öğretme): |
3 |
14 |
|
Ders dışı bireysel çalışma: |
3 |
14 |
|
Uygulama, Rehberli problem çözme: |
1 |
14 |
|
Ödev: |
2 |
14 |
|
Dönem projesi: |
0 |
0 |
|
Dönem projesi sunumu: |
0 |
0 |
|
Kısa sınav (Quiz): |
1 |
4 |
|
Ara sınav için bireysel çalışma: |
5 |
1 |
|
Ara sınav (Vize): |
2 |
1 |
|
Final sınavı için bireysel çalışma: |
11 |
1 |
|
Final sınavı: |
2 |
1 |
|
|
|
Toplam işyükü: |
|
|
|
Toplam AKTS kredisi: |
* |
|
* AKTS kredisi, toplam iş yükünün 25'e bölümüdür. (1 AKTS = 25 saatlik iş yükü)
|
|
|
-->