Bilgisayar Mühendisliği | |||||
Lisans | TYYÇ: 6. Düzey | QF-EHEA: 1. Düzey | EQF-LLL: 6. Düzey |
Ders Kodu: | YAZ115 | ||||
Ders İsmi: | C++ ile Programlama | ||||
Ders Yarıyılı: | Güz | ||||
Ders Kredileri: |
|
||||
Öğretim Dili: | Türkçe | ||||
Ders Koşulu: | |||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||
Dersin Türü: | Zorunlu | ||||
Dersin Seviyesi: |
|
||||
Dersin Veriliş Şekli: | Yüz yüze | ||||
Dersin Koordinatörü: | Dr. Öğr. Üy. HANDAN KULAN | ||||
Dersi Veren(ler): | Dr. Öğr. Üyesi Handan Kulan, Araş. Gör. Yazım Beril Uluer | ||||
Dersin Yardımcıları: |
Dersin Amacı: | Dersin amacı; programlama kavramları, bilgisayar program tasarımı ve C++ dili ile programlamaya genel bir bakış sağlamaktır. C++ dili ile çalışan programlar yazılması dersin amaçlarının başında gelmektedir. Ders, yazılım geliştirme aşamaları olan program analizi, tasarlanması, gerçeklemesi ve sınama kavramlarına temel oluşturacaktır. |
Dersin İçeriği: | Dersin içeriği; temel programlama kavramları, basit veri tipleri, sabitler, değişkenler, tanımlayıcılar, aritmetik operatörler, ilişkisel ve mantıksal operatörler, koşullu yapılar, döngüler, fonksiyonlar, özyinelemeli fonksiyonlar, diziler, dizi sıralama, dizilerde arama, işaretçiler, referansla geçirme, değerle geçirme, fonksiyon işaretçileri başlıklarından oluşmaktadır. |
Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Temel programlama kavramlarını tanımlar 2) C++ programlama dilinde kontrol yapılarını kullanır 3) C++ programlama dilinde fonksiyonları tasarlar 4) C++ programlama dilinde dizileri kullanır 5) C++ programlama dilinde işaretçileri kullanır |
Hafta | Konu | Ön Hazırlık |
1) | Bilgisayar sistemi kavramlarına giriş, bilgisayar bileşenleri, işletim sistemi, dosya sistemi, programlama dilleri, derleyiciler | |
2) | Basit veri tipleri, sabitler, değişkenler, tanımlayıcılar, aritmetik operatörler | |
3) | Koşullu yapılar, ilişkisel ve mantıksal operatörler | |
4) | Döngüler (do / while) | |
5) | Döngüler (for), 'break' ve 'continue' anahtar sözcükleri | |
6) | Fonksiyonlar, özyinelemeli fonksiyonlar | |
7) | Diziler | |
8) | Ara Sınav | |
9) | Karakter dizileri, karakter dizi fonksiyonları | |
10) | Çok boyutlu diziler | |
11) | Dizi sıralama, arama yapmak | |
12) | Hata yönetimi | |
13) | İşaretçiler | |
14) | Fonksiyonlara işaretçileri kullanarak referansla geçirme, fonksiyon işaretçileri |
Ders Notları / Kitaplar: | C++ How to Program, 10/E, Paul Deitel, Harvey Deitel, ISBN-13: 9780134448237, Pearson. |
Diğer Kaynaklar: | http://www.cplusplus.com/doc/tutorial/ |
Course Learning Outcomes | 1 |
2 |
3 |
4 |
5 |
||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | |||||||||||
1) Matematik, bilim ve bilgisayar mühendisliği prensipleri hakkında yeterli bilgiye sahip olma, hem teorik hem de pratik olarak, ve bu bilgiyi karmaşık mühendislik problemlerine uygulayabilme becerisi. | |||||||||||
2) Etik prensiplere, mesleki ve etik sorumluluğa uygun davranma; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibi olma | |||||||||||
3) Proje yönetimi, risk yönetimi ve değişim yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilik farkındalığı; sürdürülebilir kalkınma hakkında bilgi. | |||||||||||
4) Bilgisayar mühendisliği uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri ve bilgisayar mühendisliğine yansıyan dönemin sorunları hakkında bilgi sahibi olma; bilgisayar mühendisliği çözümlerinin yasal sonuçları konusunda farkındalık. | |||||||||||
5) Uygun analiz ve modelleme tekniklerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlama, formülleme ve çözebilme yeteneği. | |||||||||||
6) Belirli gereksinimleri karşılayan ve gerçekçi kısıtlar ve koşullar altında çalışan karmaşık bilgisayar sistemleri, cihazlar veya ürünler tasarlama ve geliştirme yeteneği, modern tasarım yöntemlerini kullanma yeteneği. | |||||||||||
7) Sözlü ve yazılı iletişim becerileriyle etkili iletişim kurabilme; en az bir yabancı dil bilgisi; etkili raporlar yazabilme ve yazılı raporları anlayabilme, tasarım ve üretim raporları hazırlayabilme, etkili sunumlar yapabilme, açık ve anlaşılır talimatlar verip alabilme yeteneği. | |||||||||||
8) Yaşam boyu öğrenme gerekliliğinin farkında olma; bilgiye erişme yeteneği, bilim ve teknolojideki gelişmeleri takip etme ve sürekli yenileme yeteneği. | |||||||||||
9) Karmaşık bilgisayar mühendisliği problemlerinin analizi ve çözümü için kullanılan modern teknikleri ve araçları geliştirme, seçme ve kullanabilme yeteneği, bilgi teknolojilerini etkili bir şekilde kullanabilme yeteneği. | |||||||||||
10) Karmaşık bilgisayar mühendisliği problemleri veya araştırma konularının incelenmesinde deney planlama ve yürütme, veri toplama ve analiz etme, sonuçları yorumlama yeteneği. | |||||||||||
11) Çok disiplinli ekiplerde etkili bir şekilde çalışma yeteneği; bireysel çalışma becerileri. |
Etkisi Yok | 1 En Düşük | 2 Orta | 3 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | Matematik, bilim ve bilgisayar mühendisliği prensipleri hakkında yeterli bilgiye sahip olma, hem teorik hem de pratik olarak, ve bu bilgiyi karmaşık mühendislik problemlerine uygulayabilme becerisi. | |
2) | Etik prensiplere, mesleki ve etik sorumluluğa uygun davranma; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi sahibi olma | |
3) | Proje yönetimi, risk yönetimi ve değişim yönetimi gibi iş uygulamaları hakkında bilgi; girişimcilik ve yenilik farkındalığı; sürdürülebilir kalkınma hakkında bilgi. | |
4) | Bilgisayar mühendisliği uygulamalarının sağlık, çevre ve güvenlik üzerindeki etkileri ve bilgisayar mühendisliğine yansıyan dönemin sorunları hakkında bilgi sahibi olma; bilgisayar mühendisliği çözümlerinin yasal sonuçları konusunda farkındalık. | |
5) | Uygun analiz ve modelleme tekniklerini kullanarak karmaşık bilgisayar mühendisliği problemlerini tanımlama, formülleme ve çözebilme yeteneği. | |
6) | Belirli gereksinimleri karşılayan ve gerçekçi kısıtlar ve koşullar altında çalışan karmaşık bilgisayar sistemleri, cihazlar veya ürünler tasarlama ve geliştirme yeteneği, modern tasarım yöntemlerini kullanma yeteneği. | |
7) | Sözlü ve yazılı iletişim becerileriyle etkili iletişim kurabilme; en az bir yabancı dil bilgisi; etkili raporlar yazabilme ve yazılı raporları anlayabilme, tasarım ve üretim raporları hazırlayabilme, etkili sunumlar yapabilme, açık ve anlaşılır talimatlar verip alabilme yeteneği. | |
8) | Yaşam boyu öğrenme gerekliliğinin farkında olma; bilgiye erişme yeteneği, bilim ve teknolojideki gelişmeleri takip etme ve sürekli yenileme yeteneği. | |
9) | Karmaşık bilgisayar mühendisliği problemlerinin analizi ve çözümü için kullanılan modern teknikleri ve araçları geliştirme, seçme ve kullanabilme yeteneği, bilgi teknolojilerini etkili bir şekilde kullanabilme yeteneği. | |
10) | Karmaşık bilgisayar mühendisliği problemleri veya araştırma konularının incelenmesinde deney planlama ve yürütme, veri toplama ve analiz etme, sonuçları yorumlama yeteneği. | |
11) | Çok disiplinli ekiplerde etkili bir şekilde çalışma yeteneği; bireysel çalışma becerileri. |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Ara Sınavlar | 1 | % 40 |
Final | 1 | % 60 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 40 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 60 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | İş Yükü |
Ders Saati | 14 | 42 |
Laboratuvar | 14 | 28 |
Sınıf Dışı Ders Çalışması | 14 | 14 |
Ödevler | 14 | 28 |
Küçük Sınavlar | 2 | 10 |
Ara Sınavlar | 1 | 10 |
Final | 1 | 10 |
Toplam İş Yükü | 142 |