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. |
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 |
|
|
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 |
|