CMP3010 Embedded Systems ProgrammingBahçeşehir ÜniversitesiAkademik Programlar YAPAY ZEKA MÜHENDİSLİĞİÖğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal YeterliliklerBologna Komisyonu
YAPAY ZEKA MÜHENDİSLİĞİ
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Tanıtım Bilgileri

Ders Kodu Ders Adı Yarıyıl Teorik Pratik Kredi AKTS
CMP3010 Gömülü Sistem Programlama Bahar 2 2 3 6

Temel Bilgiler

Öğretim Dili: English
Dersin Türü: Must Course
Dersin Seviyesi: LİSANS
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr. Öğr. Üyesi TARKAN AYDIN
Opsiyonel Program Bileşenleri: Yok
Dersin Amacı: Gömülü Sitemler dersi, kod yazmanın yanısıra devre ile uğraşmayı da gerektiren uygulamalı bir derstir. Mikroişlemciler, sayısal devre tasarımı, işletim sistemleri, yazılım geliştirme ve endüstriyel otomasyon gibi alanların kesişim noktasındadır. Bu derste öğrenciler gerçek zamanlı kısıtları karşılama, iş kesme ve gecikme üretimi, seri haberleşmenin kullanımı gibi konularda bilgi edinme şansı bulurlar. Öğrenciler, gömülü sistemler için yazılım geliştirme ortamlarını ve donanım emülatörlerini kullanarak, bunun yanında gerçek devreler üzerinde çalışıp devre parçalarını fiziksel olarak birleştirerek teorik bilginin yanında uygulamaya yönelik beceriler de geliştirirler.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Bu dersi alan bir öğrenci aşağıdakileri yapabiliyor olacak
I. Elektrikli ve elektronik aletler için gömülü uygulamalar geliştirebilecek,
II. Otomasyon sistemleri için gömülü çözümler geliştirebilecek,
III. İstenilen gömülü bir sistem için C programlama dilini kullanarak etkin gömülü kod yazabilecek,
IV. Gerçek zamanlı girdi/çıktı gerektiren gömülü sistemleri tasarlayıp geliştirebilecek,
V. AtMega platfomarını programlayarak gömülü sistemler geliştirebilecek,
VI. Gömülü bir uygulamanın gerekliliklerini belirleyebilecek ve onu istenilen platformda tasarlayıp geliştirebilecek.

Dersin İçeriği

Derse Giriş: Gömülü Sistemler. Gömülü yazılım geliştirme ortamının tanıtımı (Keil C derleyicisi ve donanım simülatörü). Gömülü Mikroişlemciler. Donanım Temelleri & Bilgisayar Mimarisi Tekrarı. (Gömülü sistemler terminolojisi, kapılar, saatler, zamanlama diyagramları, hafıza, mikroişlemci saati, vs.). C Programlama. AtMega mikroişlemcinin girdi/çıktı pinlerini okuyup yazmak üzerine çalışma. Gerçek zaman şartlarını sağlamak, donanımsal gecikmeler ve kesilmeler.
Kesilmeler ve Zamanlayıcılar.
Gömülü işletim sistemi yazımı. Çok durumlu sistem geliştirme. RS232 seri iletişim. RS232, SPI, I2C, CAN ve kablosuz haberleşme.

Haftalık Ayrıntılı Ders İçeriği

Hafta Konu Ön Hazırlık
1) Derse Giriş: Gömülü Sistemler. Gömülü yazılım geliştirme ortamlarının tanıtımı (Derleyici ve donanım simülatörü).
2) Gömülü Mikroişlemci mimarileri. ATMega328 mikroişlemcileri için örnek uygulamalar.
3) Donanım Temelleri & Bilgisayar Mimarisi Tekrarı. (Gömülü sistemler terminolojisi, kapılar, saatler, zamanlama diyagramları, hafıza, mikroişlemci saati, vs.)
4) Digital girdi ve çıktı
5) Analog giriş/çıkış işlemleri
6) Gerçek zaman şartlarını sağlamak, donanımsal gecikmeler ve kesilmeler.
7) Zamanlayıcılar ve Kesilme servis fonksiyonları
8) Aktüatör kontrolü
9) RS232, SPI, I2C, CAN ve kablosuz haberleşme I
10) RS232, SPI, I2C, CAN ve kablosuz haberleşme II
11) Sensörler ve aktüatörler I
12) Sensörler ve aktüatörler II
13) Gerçek Zamanlı İşletim sistmleri
14) Proje Sunumları.

Kaynaklar

Ders Notları / Kitaplar: Embedded C, Michael J. Pont, Addison Wesley 2005.
Diğer Kaynaklar:

Değerlendirme Sistemi

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Devam 14 % 0
Laboratuar 12 % 15
Küçük Sınavlar 7 % 15
Projeler 1 % 15
Ara Sınavlar 1 % 20
Final 1 % 35
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 50
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 50
Toplam % 100

AKTS / İş Yükü Tablosu

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 2 28
Laboratuvar 13 2 26
Sınıf Dışı Ders Çalışması 15 8 120
Proje 1 34 34
Ara Sınavlar 1 2 2
Final 1 2 2
Toplam İş Yükü 212

Program ve Öğrenme Kazanımları İlişkisi

Etkisi Yok 1 En Düşük 2 Düşük 3 Orta 4 Yüksek 5 En Yüksek
           
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Matematik, fen bilimleri ve yapay zeka mühendisliği konularında yeterli altyapıya sahiptir. 5
2) Matematik, fen bilimleri ve yapay zeka mühendisliği alanlardaki kuramsal ve uygulamalı bilgileri mühendislik çözümleri için beraber kullanır. 5
3) Mühendislik problemlerini saptar, tanımlar, formüle eder ve çözer, bu amaçla uygun analitik yöntemler ve modelleme tekniklerini seçer ve uygular. 5
4) Bir sistemi, sistem bileşenini ya da süreci analiz eder ve istenen gereksinimleri karşılamak üzere gerçekçi kısıtlar altında tasarlar; bu doğrultuda modern tasarım yöntemlerini uygular. 5
5) Mühendislik uygulamaları için gerekli olan modern teknik ve araçları seçer ve kullanır. 5
6) Deney tasarlar, deney yapar, veri toplar sonuçları analiz eder ve yorumlar. 5
7) Bireysel olarak ve çok disiplinli takımlarda etkin olarak çalışır.
8) Bilgiye erişir ve bu amaçla kaynak araştırması yapar, veri tabanları ve diğer bilgi kaynaklarını kullanır.
9) Yaşam boyu öğrenmenin gerekliliği bilincindedir; bilim ve teknolojideki gelişmeleri izler ve kendini sürekli yeniler.
10) Alanının gerektirdiği en az Avrupa Bilgisayar Kullanma Lisansı İleri Düzeyinde bilgisayar yazılımı ile birlikte bilişim ve iletişim teknolojilerini kullanır.
11) Sözlü ve yazılı etkin iletişim kurar; bir yabancı dili en az Avrupa Dil Portföyü B1 Genel Düzeyinde kullanır.
12) Mühendislik çözümlerinin ve uygulamalarının evrensel ve toplumsal boyutlardaki etkilerinin bilincinde olur; girişimcilik ve yenilikçilik konularının farkında olur ve çağın sorunları hakkında bilgiye sahiptir.
13) Mesleki ve etik sorumluluk bilincine sahiptir.
14) Proje yönetimi, işyeri uygulamaları, çalışanların sağlığı, çevre ve iş güvenliği konularında bilinç; mühendislik uygulamalarının hukuksal sonuçları hakkında farkındalığa sahiptir.