Ders Detayı
Ders Tanımı
Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
MÜHENDİSLER İÇİN PROGRAMLAMA | - | Bahar Dönemi | 3+2 | 4 | 6 |
Ders Programı |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler |
Dersin Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Dr.Öğr.Üye. İbrahim KARLIAĞA |
Dersi Verenler | Prof.Dr. Mehmet Kemal ÖZDEMİR, Öğr.Gör. Khaled Walıd Mohamed Abdelfatah ELGAMMAL |
Dersin Yardımcıları | Deitel tarafından yazılan kitaplarla ilgili hazırlanan Youtube videoları. |
Dersin Amacı | Bu derste C programlama dilinin temelleri verilecektir ve daha sonra ise C++ programlama diline geçişi sağlayan konular işlenecektir. Dersin temel amaçları şunlardır: Algoritma konusunun anlaşılması ve verilen bir problem için programlamanın ilk adımlarından test aşamasına kadar olan süreçleri aktarmak, modüler programlamanın önemini kavratmak ve fonksiyonların önemini ortaya koymak, pointer ve dinamik bellek atanmasının anlaşılması ve bunlarla dizinlerin ve metin dizilerinin programlamadaki öneminin ortaya konması, ve nesne tabanlı yaklaşımın programlamadaki öneminin ortaya konması. |
Dersin İçeriği | Bu ders; Bilgisayar Yapısına ve C'ye Giriş,Yapısal Programların Geliştirilmesi ve Program Kontrolü,Modüler programlama ve fonksiyonlar,Array'ler : 1. Kısım,Array'ler : 2. Kısım,Pointer Kavramı : 1. Kısım,Pointer Kavramı : 2. Kısım,Ara sınav,Karakterler ve karakterler dizini (dizgeler),Formatlandırılmış Girdiler/Çıktılar,Yapılar, Birleşimler, Bit Manipülasyonları ve sayılandırma,Dosya İşlemleri,Veri yapıları,Bilgisayar Bilimi için düşünme, Önişlemci terimleri ve diğer bazı konular; konularını içermektedir. |
Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
1. C programlama için temel programlama dizim kurallarının öğrenilmesi. | 12, 17, 2, 9 | A, E, F, G |
2. C Programlamada işaretçilerin anlaşılması, dinamik bellek atanması, dizinler ve metin dizinlerinin anlaşılması. | 12, 17, 2, 9 | A, E, F, G |
3. C'de fonksiyon kavramı ve farklı fonksiyon parametrelerinin anlaşılması. | 12, 17, 2, 9 | A, E, F, G |
4. Programlamada değişkenlerin tanımlandığı çerçeve ve işaretçilerin bu husustaki kullanımı. | 12, 17, 2, 9 | A, E, F, G |
5. C++ programlama diline geçişin anlaşılması. | 12, 17, 2, 9 | A, E, F, G |
Öğretim Yöntemleri: | 12: Problem Çözme Yöntemi, 17: Deney yapma Tekniği, 2: Proje Temelli Öğrenme Modeli, 9: Anlatım Yöntemi |
Ölçme Yöntemleri: | A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi, G: Kısa Sınav |
Ders Akışı
Sıra | Konular | Ön Hazırlık |
---|---|---|
1 | Bilgisayar Yapısına ve C'ye Giriş | Ana kaynak Bölüm 1-2 ve Ders sunuları |
2 | Yapısal Programların Geliştirilmesi ve Program Kontrolü | Ana kaynak Bölüm 3-4 ve Ders Sunuları |
3 | Modüler programlama ve fonksiyonlar | Ana kaynak Bölüm 5 ve Ders sunuları |
4 | Array'ler : 1. Kısım | Ana kaynak Bölüm 6 ve Ders Sunuları |
5 | Array'ler : 2. Kısım | Ana Kaynak Bölüm 6 ve Ders Sunuları |
6 | Pointer Kavramı : 1. Kısım | Ana kaynak Bölüm 7 ve Ders Sunuları |
7 | Pointer Kavramı : 2. Kısım | Ana kaynak Bölüm 7 ve Ders Sunuları |
8 | Ara sınav | 8. haftaya kadar olan tüm konular. |
9 | Karakterler ve karakterler dizini (dizgeler) | Ana kaynak Bölüm 8 ve Ders Sunuları |
10 | Formatlandırılmış Girdiler/Çıktılar | Ana kaynak Bölüm 9 ve Ders sunuları |
11 | Yapılar, Birleşimler, Bit Manipülasyonları ve sayılandırma | Ana kaynak, Bölüm 10 ve Ders sunuları |
12 | Dosya İşlemleri | Ana kaynak Bölümler 11 ve Ders sunuları |
13 | Veri yapıları | Ana kaynak Bölümler 12 ve Ders sunuları |
14 | Bilgisayar Bilimi için düşünme, Önişlemci terimleri ve diğer bazı konular | Ana kaynak Bölüm 13-15 ve Ders sunuları |
Kaynak |
C How to Program, 9th edition by Paul J. Deitel (Author), Harvey Deitel (Author) |
Kaynak 1 : C How to Program by Deitel and Deitel (7th Edition), http://gph.sc.mahidol.ac.th/puwis/SCPY204/files/programming_in_C.pdf, |
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı | |||||||
No | Program Yeterliliği | Katkı Düzeyi | |||||
1 | 2 | 3 | 4 | 5 | |||
1 | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | X | |||||
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 | X | |||||
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 | X | |||||
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 | X | |||||
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 | X | |||||
7 | 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 | X | |||||
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 | ||||||
12 | İnsan vücudunu anlama ve onarmada mühendisliğin ilkelerini uygulama ve karar verme yetisi |
Değerlendirme Sistemi
Katkı Düzeyi | Mutlak Değerlendirme | |
Ara Sınavın Başarıya Oranı | 30 | |
Genel Sınavın Başarıya Oranı | 70 | |
Toplam | 100 |
AKTS / İşyükü Tablosu | ||||||
Etkinlik | Sayı | Süresi (Saat) | Toplam İş Yükü (Saat) | |||
Ders Saati | 14 | 3 | 42 | |||
Rehberli Problem Çözme | 0 | 0 | 0 | |||
Problem Çözümü / Ödev / Proje / Rapor Tanzimi | 5 | 16 | 80 | |||
Okul Dışı Diğer Faaliyetler | 0 | 0 | 0 | |||
Proje Sunumu / Seminer | 0 | 0 | 0 | |||
Kısa Sınav (QUİZ) ve Hazırlığı | 5 | 4 | 20 | |||
Ara Sınav ve Hazırlığı | 1 | 18 | 18 | |||
Genel Sınav ve Hazırlığı | 1 | 24 | 24 | |||
Performans Görevi, Bakım Planı | 0 | 0 | 0 | |||
Toplam İş Yükü (Saat) | 184 | |||||
Dersin AKTS Kredisi = Toplam İş Yükü (Saat)/30*=(184/30) | 6 | |||||
Dersin AKTS Kredisi: *30 saatlik çalışma 1 AKTS kredisi sayılmaktadır. |
Dersin Detaylı Bilgileri
Ders Tanımı
Ders | Kodu | Yarıyıl | T+U Saat | Kredi | AKTS |
---|---|---|---|---|---|
MÜHENDİSLER İÇİN PROGRAMLAMA | - | Bahar Dönemi | 3+2 | 4 | 6 |
Ders Programı |
Ön Koşul Dersleri | |
Önerilen Seçmeli Dersler |
Dersin Dili | İngilizce |
Dersin Seviyesi | Lisans |
Dersin Türü | Zorunlu |
Dersin Koordinatörü | Dr.Öğr.Üye. İbrahim KARLIAĞA |
Dersi Verenler | Prof.Dr. Mehmet Kemal ÖZDEMİR, Öğr.Gör. Khaled Walıd Mohamed Abdelfatah ELGAMMAL |
Dersin Yardımcıları | Deitel tarafından yazılan kitaplarla ilgili hazırlanan Youtube videoları. |
Dersin Amacı | Bu derste C programlama dilinin temelleri verilecektir ve daha sonra ise C++ programlama diline geçişi sağlayan konular işlenecektir. Dersin temel amaçları şunlardır: Algoritma konusunun anlaşılması ve verilen bir problem için programlamanın ilk adımlarından test aşamasına kadar olan süreçleri aktarmak, modüler programlamanın önemini kavratmak ve fonksiyonların önemini ortaya koymak, pointer ve dinamik bellek atanmasının anlaşılması ve bunlarla dizinlerin ve metin dizilerinin programlamadaki öneminin ortaya konması, ve nesne tabanlı yaklaşımın programlamadaki öneminin ortaya konması. |
Dersin İçeriği | Bu ders; Bilgisayar Yapısına ve C'ye Giriş,Yapısal Programların Geliştirilmesi ve Program Kontrolü,Modüler programlama ve fonksiyonlar,Array'ler : 1. Kısım,Array'ler : 2. Kısım,Pointer Kavramı : 1. Kısım,Pointer Kavramı : 2. Kısım,Ara sınav,Karakterler ve karakterler dizini (dizgeler),Formatlandırılmış Girdiler/Çıktılar,Yapılar, Birleşimler, Bit Manipülasyonları ve sayılandırma,Dosya İşlemleri,Veri yapıları,Bilgisayar Bilimi için düşünme, Önişlemci terimleri ve diğer bazı konular; konularını içermektedir. |
Dersin Öğrenme Kazanımları | Öğretim Yöntemleri | Ölçme Yöntemleri |
1. C programlama için temel programlama dizim kurallarının öğrenilmesi. | 12, 17, 2, 9 | A, E, F, G |
2. C Programlamada işaretçilerin anlaşılması, dinamik bellek atanması, dizinler ve metin dizinlerinin anlaşılması. | 12, 17, 2, 9 | A, E, F, G |
3. C'de fonksiyon kavramı ve farklı fonksiyon parametrelerinin anlaşılması. | 12, 17, 2, 9 | A, E, F, G |
4. Programlamada değişkenlerin tanımlandığı çerçeve ve işaretçilerin bu husustaki kullanımı. | 12, 17, 2, 9 | A, E, F, G |
5. C++ programlama diline geçişin anlaşılması. | 12, 17, 2, 9 | A, E, F, G |
Öğretim Yöntemleri: | 12: Problem Çözme Yöntemi, 17: Deney yapma Tekniği, 2: Proje Temelli Öğrenme Modeli, 9: Anlatım Yöntemi |
Ölçme Yöntemleri: | A: Klasik Yazılı Sınav, E: Ödev, F: Proje Görevi, G: Kısa Sınav |
Ders Akışı
Sıra | Konular | Ön Hazırlık |
---|---|---|
1 | Bilgisayar Yapısına ve C'ye Giriş | Ana kaynak Bölüm 1-2 ve Ders sunuları |
2 | Yapısal Programların Geliştirilmesi ve Program Kontrolü | Ana kaynak Bölüm 3-4 ve Ders Sunuları |
3 | Modüler programlama ve fonksiyonlar | Ana kaynak Bölüm 5 ve Ders sunuları |
4 | Array'ler : 1. Kısım | Ana kaynak Bölüm 6 ve Ders Sunuları |
5 | Array'ler : 2. Kısım | Ana Kaynak Bölüm 6 ve Ders Sunuları |
6 | Pointer Kavramı : 1. Kısım | Ana kaynak Bölüm 7 ve Ders Sunuları |
7 | Pointer Kavramı : 2. Kısım | Ana kaynak Bölüm 7 ve Ders Sunuları |
8 | Ara sınav | 8. haftaya kadar olan tüm konular. |
9 | Karakterler ve karakterler dizini (dizgeler) | Ana kaynak Bölüm 8 ve Ders Sunuları |
10 | Formatlandırılmış Girdiler/Çıktılar | Ana kaynak Bölüm 9 ve Ders sunuları |
11 | Yapılar, Birleşimler, Bit Manipülasyonları ve sayılandırma | Ana kaynak, Bölüm 10 ve Ders sunuları |
12 | Dosya İşlemleri | Ana kaynak Bölümler 11 ve Ders sunuları |
13 | Veri yapıları | Ana kaynak Bölümler 12 ve Ders sunuları |
14 | Bilgisayar Bilimi için düşünme, Önişlemci terimleri ve diğer bazı konular | Ana kaynak Bölüm 13-15 ve Ders sunuları |
Kaynak |
C How to Program, 9th edition by Paul J. Deitel (Author), Harvey Deitel (Author) |
Kaynak 1 : C How to Program by Deitel and Deitel (7th Edition), http://gph.sc.mahidol.ac.th/puwis/SCPY204/files/programming_in_C.pdf, |
Dersin Program Yeterliliklerine Katkısı
Dersin Program Yeterliliklerine Katkısı | |||||||
No | Program Yeterliliği | Katkı Düzeyi | |||||
1 | 2 | 3 | 4 | 5 | |||
1 | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | X | |||||
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 | X | |||||
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 | X | |||||
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 | X | |||||
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 | X | |||||
7 | 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 | X | |||||
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 | ||||||
12 | İnsan vücudunu anlama ve onarmada mühendisliğin ilkelerini uygulama ve karar verme yetisi |
Değerlendirme Sistemi
Katkı Düzeyi | Mutlak Değerlendirme | |
Ara Sınavın Başarıya Oranı | 30 | |
Genel Sınavın Başarıya Oranı | 70 | |
Toplam | 100 |