BİLGİSAYAR MÜHENDİSLİĞİ
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: 1410111001
Ders İsmi: Programlama I
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
2 2 3 3
Öğretim Dili: TR
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 Mehmet Serdar BİÇER
Dr.Öğr.Üyesi Adem ÖZYAVAŞ
Dr.Öğr.Üyesi Osman DURMAZ
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. Ders aynı zamanda hesaplamanın tarihi ve sosyal bağlamına girişi de kapsar.
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) Sayı sistemleri, kavramlara karşı temsiller, bellek organizasyonu, algoritmalar, derleme, yorumlama Ders Notları
2) Akış Şemaları diyagramları, algoritmalar, algoritma tasarımı Ders Notları
3) Veri türleri, deklarasyonlar, ifadeler, anahtar sözcükler, adlandırma kuralları, (yıkıcı) atama ifadesi, sıralı programlama, diziler ve özellikleri ve işlenmesi, diziler dahil farklı türlerde diziler, farklı boyutlarda diziler. The C Programming Language
4) Koşullu ifadeler, mantıksal/ilişkisel operatörler ve Boolean ifadeler, while/for döngüleri (yinelemeler). The C Programming Language
5) Fonksiyonlar ve fonksiyonların program tasarımında kullanımı, yukarıdan aşağıya programlama, değere göre anlambilim, kapsam. The C Programming Language
6) özyinelemeli fonksiyonlar, özyinelemeli ve döngüsel çözümler The C Programming Language
7) işaretçi/işaretçi aritmetiği ve bellek yönetimi, program hata ayıklama, sözdizimi ve mantık hataları, sabit işaretçiler olarak diziler, işlev işaretçileri. The C Programming Language
8) ARA SINAV
9) İşaretçiler (devam) The C Programming Language
10) Kendi karakter dizilerini işleme fonksiyonlarınızı yazma ve kütüphane fonksiyonlarını kullanma The C Programming Language
11) İkili ve metin tabanlı dosyalam girdi/çıktı işlemleri. The C Programming Language
12) İkili ve metin tabanlı dosyalama girdi/çıktı işlemleri. The C Programming Language
13) C struct ve union’ları, typedef, macro’lar The C Programming Language
14) Esnek (bakımı kolay) kod (modüler tasarım), başlık dosyaları ve uygulama dosyaları (.h ve .c dosyaları) yazma. C'de yığın, kuyruk, harita gibi veri yapıları uygulamaları The C Programming Language
15) Dönem sonu gözden geçirme. The C Programming Language
16) Final

Kaynaklar

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

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

Ders Öğrenme Kazanımları

1

2

4

3

Program Kazanımları
1) PÇ 1.1) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında yeterli bilgi birikimi
2) PÇ 1.2) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
3) PÇ 2.1) Karmaşık mühendislik problemlerini saptama
4) PÇ 2.2) Karmaşık mühendislik problemlerini tanımlama
5) PÇ 2.3) Karmaşık mühendislik problemlerini formüle etme
6) PÇ 2.4) Karmaşık mühendislik problemlerini çözme becerisi
7) PÇ 2.5) Uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi
8) PÇ 3.1) 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
9) PÇ 3.2) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında modern tasarım yöntemlerini uygulama becerisi
10) PÇ 4.1) 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
11) PÇ 4.2) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi
12) PÇ 4.3) Bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
13) PÇ 5.1) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney tasarlama
14) PÇ 5.2) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney yapma,
15) PÇ 5.3 ) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi veri toplama
16) PÇ 5.4) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi sonuçları analiz etme
17) PÇ 5.5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi yorumlama becerisi

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) PÇ 1.1) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında yeterli bilgi birikimi
2) PÇ 1.2) Matematik, fen bilimleri ve bilgisayar mühendisliği konularında kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
3) PÇ 2.1) Karmaşık mühendislik problemlerini saptama
4) PÇ 2.2) Karmaşık mühendislik problemlerini tanımlama
5) PÇ 2.3) Karmaşık mühendislik problemlerini formüle etme
6) PÇ 2.4) Karmaşık mühendislik problemlerini çözme becerisi
7) PÇ 2.5) Uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi
8) PÇ 3.1) 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
9) PÇ 3.2) Karmaşık bir sistemi, süreci, cihazı veya ürünü gerçekçi kısıtlar ve koşullar altında modern tasarım yöntemlerini uygulama becerisi
10) PÇ 4.1) 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
11) PÇ 4.2) Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları seçme ve kullanma becerisi
12) PÇ 4.3) Bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
13) PÇ 5.1) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney tasarlama
14) PÇ 5.2) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi deney yapma, 5
15) PÇ 5.3 ) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi veri toplama
16) PÇ 5.4) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi sonuçları analiz etme
17) PÇ 5.5) Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi yorumlama becerisi

Öğ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