YAZILIM MÜHENDİSLİĞİ (İNGİLİZCE)
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: 1400111003
Ders İsmi: Programlama I
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
2 2 3 3
Öğretim Dili: EN
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Dr.Öğr.Üyesi Adem ÖZYAVAŞ
Dersi Veren(ler): Dr.Öğr.Üyesi Adem ÖZYAVAŞ
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Bu ders hiç programlama tecrübesi olmayan öğrenciler için tasarlanmıştır. Ders prosedürel programlamanın temel kavramlarını öğretir. Konular algoritmalar ve problem çözme, veri türleri, denetim yapıları, fonksiyonlar, diziler, sınama ve hataları bulma başlıklarını içerir.
Dersin İçeriği: Ders, önceden bilgisayar programlama bilgisi olmadığını varsayar. Öğrencilere
problem çözmenin temel kavram ve tekniklerini tanıtır C programlama dili
kullanılarak uygulamalı olarak gösterilir. Programlamanın temellerini öğretmek için dönem boyunca prosedürel/yapılandırılmış programlama metodolojisi kullanılacaktır. Bu derste öğrenciler, programları tasarlamayı, uygulamayı, hata ayıklamayı ve programlarını yorumlamayı öğrenirler. Kısacası, öğrencilerin C programlama dilini kullanarak programlar geliştirebilecekleri temeli oluşturur.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
2 - Beceriler
Bilişsel - Uygulamalı
1) Geliştirilen algoritmaları C/C++ diliyle gerçekleştirme
2) C programlama dilinde kodları analiz edebileceklerdir.
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
1) Basit problemleri çözmek için algoritma geliştirme
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği
1) Öğrenci, karar yapıları, döngüler ve fonksiyonlar içeren C programları tasarlar.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Programlamaya giriş C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
2) Sözlüksel elemanlar, operatörler ve C sistemi; Temel veri tipleri; LAB#1. C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
3) Akış kontrolü Kısım I: Operatörler, ifadeler ve ikili cebir kavramları; if, ifelse ve switch komutları; LAB#2. C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
4) Akış kontrolü Kısım II: for, while, dowhile, break, continue ve goto komutları; LAB#3. C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
5) Fonksiyonlar Kısım I: Bildirim, tanımlama, imza, ön ürün, başlatma, başlık kavramları, geri dönüş komutları; LAB#4. C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
6) Fonksiyonlar Kısım II: Değer ile çağırma, kapsam, depolama sınıfları, özyineleme kavramları, özyinelemeli fonksiyonlar; LAB#5. C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
7) Diziler ve işaretçiler Kısım I: Diziler, ilklendirmek, işaretçiler, referans kullanarak çağırma, dinamik bellek yönetimi kavramları. C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
8) ARA SINAV C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
9) Diziler ve işaretçiler Kısım II: Diziler, çok boyutlu diziler ve işaretçi dizileri kavramı, ana programa verilecek bağımsız değişkenler; LAB#6. C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
10) Dizi ve işaretçi uygulamaları; LAB#7. C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
11) Yapılar Kısım I: Basit yapıların bildirimleri ve uygulamaları C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
12) Yapılar Kısım II: Yapı dizilerini kullanmak ve yapı kullanan gelişmiş uygulamalar geliştirmek; LAB#8. C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
13) Göstergeçler C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
14) Göstergeçler C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
15) Dosya açılım modları ve Dosyaya giriş ve çıkış işlemleri C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik
16) Final C++ programming : From Program Analysis to Program design 8. basım. By D. S. Malik

Kaynaklar

Ders Notları / Kitaplar: The C Programming Language, by Dennis Ritchie and Brian Kernighan
Diğer Kaynaklar: The C Programming Language, Dennis Ritchie ve Brian Kernighan

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

4

3

Program Kazanımları
1) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
2) Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi.
3) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi.
4) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
10) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
11) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.

Ders - Öğrenme Kazanımı İ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 bilgisayar mühendisliği konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
2) Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. 3
3) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi.
4) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. 3
5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. 5
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
10) Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
11) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Bireysel çalışma ve ödevi
Ders
Grup çalışması ve ödevi
Laboratuvar
Ödev
Web Tabanlı Öğrenme

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Ödev
Uygulama

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Laboratuar 10 % 5
Ödev 3 % 15
Ara Sınavlar 1 % 20
Yarıyıl/Yıl Sonu Sınavı 1 % 60
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 40
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 60
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 2 28
Laboratuvar 14 2 28
Sınıf Dışı Ders Çalışması 14 4 56
Ödevler 14 2 28
Ara Sınavlar 1 2 2
Final 1 3 3
Toplam İş Yükü 145