| Hafta | Konular | Ön Hazırlık |
|---|
| 1 | Konu Anlatımı: C programlama diline giriş (programlamanın genel yapısı) Sınıf-içi Uygulama (80 dk.): Programlamanın genel yapısında bulunan parçaların açıklanması ve kodlama dilinde gösterimlerinin tanıtılması Sınıf-içi Tartışma (35 dk.): Genellikle yapılan kodlama hataları üzerine tartışma | - C programlama diline giriş ve C derleyicileri konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 3-8.
|
| 2 | Konu Anlatımı: Değişkenler ve veri tipleri (değişkenleri veri tiplerine göre tanımlama) Sınıf-içi Uygulama (75 dk.): Farklı veri tipleriyle değişkenlerin tanımlanması ve değişkenlerin yerelliği Sınıf-içi Tartışma (35 dk.): Değişken türlerinin tanımlanmasında yapılan hataların incelenmesi ve yerel ve yerel olmayan değişkenin farklılıkları üzerine tartışma | - C programlama dilinde değişkenler ve veri tiplerine göre tanımlama konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 15-30.
|
| 3 | Konu Anlatımı: Program yazımı ve giriş-çıkış deyimleri (temel programlama ve içerik, basit anlamda girdi verme ve çıktı alma) Sınıf-içi Uygulama (80 dk.): Giriş-çıkış deyimlerinin doğru kullanımına yönelik program yazılması ve farklı girdilerle elde edilecek çıktıların incelenmesi Sınıf-içi Tartışma (30 dk.): Giriş-çıkış deyimlerinde yapılan hataların değerlendirilmesi üzerine tartışma | - C programlama dilinde program yazımında temel kavramlar ve giriş-çıkış deyimleri konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 9-15; 31-34.
|
| 4 | Konu Anlatımı: Operatörler (aritmetik, mantık, eşitlik ve bağıntılar, atama, artış ve azalış, koşulsal) Sınıf-içi Uygulama (60 dk.): Aritmetik ve karşılaştırma operatörlerini içeren kısa algoritmaların verilmesi ve çıktılarının tahmin edilmesi Sınıf-içi Tartışma (30 dk.): Operatörlerin matematiksel anlamları ile programlamadaki işlevleri arasındaki farkların tartışılması ve özellikle “==” ve “=” operatörlerinin anlamlarının değerlendirilmesi, mantıksal bağlaçların doğruluk tablolarının ve işlem önceliğinin önemine yönelik alıştırmaların yapılması | - Mantık ve bağıntılar kavramlarına ilişkin ön bilgilerin hatırlanması ve etkinleştirilmesi. Kaynak: [1], 1-8; 58-62.
- C programlama dilinde operatörler konusunu içeren bölümlerin okunması. Kaynak: Ders Kitabı, 35-48.
|
| 5 | Konu Anlatımı: Kontrol deyimleri (seçim ve karar deyimleri) Sınıf-içi Uygulama (80 dk.):if,else if ve else deyimlerini içeren kısa kod örnekleri ile çalışma yapılması, iç içe yapılar ve mantıksal ifadelerin program kontrol akışı üzerindeki etkilerinin gözlemlenmesi Sınıf-içi Tartışma (30 dk.): Karar yapılarının matematiksel akıl yürütme süreçleriyle olan benzerliği üzerine tartışma yapılması, Kısa Sınav 1 (25 dk.): Ters yüz edilmiş öğrenme (flipped learning) yöntemi çerçevesinde, ders sonunda, derste önceki haftalarda işlenmiş konulara yönelik kısa sınavın yapılması | - Seçim ve karar deyimleri konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 49-60.
- Kısa Sınav 1: (C programlama diline giriş; değişkenler ve veri tipleri; program yazımı ve girişçıkış deyimleri; operatörler) Kaynak: Ders Kitabı, 3-48.
|
| 6 | Konu Anlatımı: Kontrol deyimleri (iteratif deyimler ve atlama deyimleri) Sınıf-içi Uygulama (70 dk.): İteratif kontrol yapılarının akışına basit örneklerin verilmesi, döngülerin farklı koşullar altında nasıl çalıştığı ve iteratif deyimler ile seçim ve karar deyimlerinin bir arada kullanımına yönelik alıştırmalar yapılması Sınıf-içi Tartışma (60 dk.): Döngülerin matematiksel örüntüler ve işlem tekrarlarıyla ilişkisinin tartışılması, break, continue gibi deyimlerin hangi durumlarda tercih edilmesi gerektiği, kodun akışına etkileri ve okunabilirliği üzerindeki rolü üzerine fikir alışverişi yapılması ve gereksiz döngü kullanımı ya da döngü içi kontrol deyimlerinin kötüye kullanımı gibi yaygın hataların gözlemlenmesi üzerine tartışma | - Lise düzeyindeki matematikte iteratif işlemlerin (ardışık toplamaçarpma, faktöriyel, vb.) çalışma yapılarına ilişkin ön bilgilerin hatırlanması ve etkinleştirilmesi.
- İteratif ve atlama deyimleri konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 61-64.
|
| 7 | Konu Anlatımı: Kütüphaneler (bazı standart kütüphaneler ve matematik kütüphanesi) Sınıf-içi Uygulama (40 dk.): Standart kütüphaneler ve özellikle matematik kütüphanesi kullanılarak erişilebilen matematiksel fonksiyonların temel kullanımına dair örneklerin verilmesi Sınıf-içi Tartışma (60 dk.): Matematiksel işlemlerin elle kodlanması yerine uygun kütüphane fonksiyonlarının tercih edilmesi ve doğru sözdizimi ile çağrılmasına yönelik uygulama ve tartışma yapılması Kısa Sınav 2 (30 dk.): Ters yüz edilmiş öğrenme (flipped learning) yöntemi çerçevesinde, ders sonunda, derste önceki haftalarda işlenmiş konulara yönelik kısa sınavın yapılması | - C dilinde yaygın olarak kullanılan kütüphaneler ve matematik kütüphanesi konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 250-253.
- Kısa Sınav 2: (kütüphaneler konusuna kadar tüm konular) Kaynak: Ders Kitabı, 3-64.
|
| 8 | Ara Sınav 1 | |
| 9 | Konu Anlatımı: Fonksiyonlar (modüler programlama, fonksiyon tanımlama, parametre türleri, fonksiyon kategorileri) Sınıf-içi Uygulama (40 dk.): Parametreli ve parametresiz, farklı çıktı türlerine yönelik fonksiyon örneklerinin verilmesi ve modüler yapının kod okunabilirliği ve yeniden kullanılabilirlik açısından katkıları uygulamalı olarak incelenmesi Sınıf-içi Tartışma (80 dk.): Programlamada fonksiyon kullanımının, matematikteki fonksiyon kavramıyla nasıl benzerlik ve farklar taşıdığı üzerine tartışılması bir programın modüllere ayrılarak yazılmasının hata ayıklama, güncelleme ve yeniden kullanım açısından sağladığı avantajların değerlendirilmesi ve fonksiyonların türleri arasındaki farkların ve tercih gerekçelerinin değerlendirilmesi | - Fonksiyonlar (kalkülüs) kavramına ilişkin ön bilgilerin hatırlanması ve etkinleştirilmesi. Kaynak: [3], 9-35.
- Modüler programlama, fonksiyon tanımlama, parametre türleri, fonksiyon kategorileri konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 103-122.
|
| 10 | Konu Anlatımı: Özyinelemeli fonksiyonlar (iteratif döngülerle kıyaslama ve kuyruk özyinelemesi) Sınıf-içi Uygulama (30 dk.): Özyinelemeli olarak tanımlanmış algoritmaların analiz edilmesi ve fonksiyonun çağrı sırasının izlenerek çağrı yığını üzerindeki etkisi gözlemlenmesi Sınıf-içi Tartışma (80 dk.): Özyinelemeli verilmiş fonksiyonların döngü yapısıyla nasıl çözülebileceğinin tartışılması ve her iki yaklaşımın karşılaştırmalı uygulanması | - Özyineleme kavramına ilişkin ön bilgilerin hatırlanması ve etkinleştirilmesi. Kaynak: [1], 75- 77.
- Özyinelemeli fonksiyonlar ve kuyruk özyinelemesi konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 133-138.
|
| 11 | Konu Anlatımı: Diziler (dizilerin tanımlanması ve temel diziler) Sınıf-içi Uygulama (50 dk.): Sabit uzunlukta çeşitli dizilerin tanımlanarak elemanlara indis yoluyla erişilmesi ve dizi elemanlarının toplamını veya ortalamasını hesaplayan basit işlemler uygulanması Sınıf-içi Tartışma (40 dk.): Tekrarlayan verilerle çalışırken programı nasıl sadeleştirdiğinin incelenmesi ve tek tek değişken tanımlayarak yapmak ile dizi kullanarak yapmak arasındaki farkların değerlendirilmesi Kısa Sınav 3 (30 dk.): Ters yüz edilmiş öğrenme (flipped learning) yöntemi çerçevesinde, ders sonunda, derste önceki haftalarda işlenmiş konulara yönelik kısa sınavın yapılması | - Vektörler kavramına ilişkin ön bilgilerin hatırlanması ve etkinleştirilmesi. Kaynak: [2], 1-5.
- Diziler konusunu içeren bölümlerin okunması. Kaynak: Ders Kitabı, 71-75.
- Kısa Sınav 3: (diziler konusuna kadar tüm konular) Kaynak: Ders Kitabı, 3-64; 103-138; 250-253.
|
| 12 | Konu Anlatımı: İki boyutlu ve çok boyutlu diziler (matris yapısı ve dizilerin fonksiyonlarla kullanımı) Sınıf-içi Uygulama (50 dk.): İki boyutlu ve çok boyutlu dizilerin tanımlanmasına, bu diziler üzerinde temel işlemler yapılmasına ve söz konusu dizilerin fonksiyonlar içerisinde kullanılmasına yönelik uygulamalar yapılması Sınıf-içi Tartışma (60 dk.): İki boyutlu dizilerin matris temsiliyle örtüşen yapıları ile çok boyutlu dizilerin karmaşık veri düzenlemelerine olanak sağlaması üzerine tartışılması ve bu yapıların okunabilirlik, fonksiyonel kullanım ve belleğe erişim açısından avantajları ve sınırlılıkları üzerine değerlendirme yapılması | - Matris kavramına ilişkin ön bilgilerin hatırlanması ve etkinleştirilmesi. Kaynak: [2], 47- 52.
- İki boyutlu ve çok boyutlu diziler konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 77-80.
|
| 13 | Konu Anlatımı: Karakter dizileri (karakter dizilerinin sayı dizilerinden farkı, karakter dizileri kütüphanesi ve karakter dizisi manipülasyonu, karakter kütüphanesi) Sınıf-içi Uygulama (50 dk.): Standart karakter kütüphanelerinden yararlanılarak karakter dizilerinin tanımlanması, karakter dizileri üzerinde temel işlemler yapılması ve karakter düzeyinde veri işleme, metin karşılaştırma veya dönüştürme gibi işlemlerin gerçekleştirilmesi Sınıf-içi Tartışma (60 dk.): Karakter dizileri ile sayı dizileri arasındaki farklar; veri tipi, kullanım amacı ve işlem yapıları bakımından karşılaştırılması ve giriş-çıkış deyimleri ile karakter dizilerinin farklarının incelenmesi üzerine tartışma | - Karakter dizilerinin sayı dizilerinden farkı, karakter dizileri kütüphanesi ve karakter dizisi manipülasyonu, karakter kütüphanesi konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 76-77; 213-218; 239- 243.
|
| 14 | Konu Anlatımı: Göstericiler (gösterici operatörü, adres tanımlaması ve değer atamaları) Sınıf-içi Uygulama (35 dk.): Adreslerin okunması ve göstericiler aracılığıyla değişken değerlerine erişilmesi yönünde temel uygulamalar gerçekleştirilmesi Sınıf-içi Tartışma (45 dk.): Göstericilere değer atama işlemlerinin ve bu işlemlerin bellek üzerindeki etkilerinin gözlemlenmesi üzerine tartışma Kısa Sınav 4 (30 dk.): Ters yüz edilmiş öğrenme (flipped learning)yöntemi çerçevesinde, ders sonunda, derste önceki haftalarda işlenmiş konulara yönelik kısa sınavın yapılması | - Gösterici operatörü, adres tanımlaması ve değer atamaları konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 81-84.
- Kısa Sınav 4: (göstericiler konusuna kadar tüm konular) Kaynak: Ders Kitabı, 3-80; 103- 138; 250-253.
|
| 15 | Konu Anlatımı: Göstericiler (göstericilerin fonksiyonlarla ve dizilerle kullanımı, adres aritmetiği, bellek atama) Sınıf-içi Uygulama (70 dk.): Göstericilerin dizi elemanlarına erişimde ve fonksiyonlara parametre aktarımında nasıl kullanılabildiğine yönelik uygulamaların yapılması, adres aritmetiği kullanılarak ardışık bellek alanlarına erişim sağlanması ve dinamik bellek tahsisine dair temel işlemlerin gerçekleştirilmesi Sınıf-içi Tartışma (30 dk.): Özellikle bellek sızıntısı gibi kavramlara dikkat çekilerek bilinçli gösterici kullanımının tartışılması | - Göstericilerin fonksiyonlarla ve dizilerle kullanımı, adres aritmetiği, bellek atama konularını içeren bölümlerin okunması. Kaynak: Ders Kitabı, 85-94; 157-160.
|
| 16 | Final | |