Dersin Adı Ders Kodu Yarıyılı Teori
(Saat/Hafta)
Uygulama
(Saat/Hafta)
Akts
ALGORİTMA VE PROGRAMLAMA TEMELLERİ BIL 101 1 3 1 4,0
Önkoşul(lar)-var ise Ön koşul yok
Dersin Dili Türkçe
Dersin Türü Ön Lisans
Dersin sorumlusu(ları) Öğr.Gör. NİLAY AKYIL
Dersin Amacı Birinci yarıyıl sonuna kadar bilgisayar programcılığının temeli olan algoritma tasarımının öğretilmesi ve programlama temellerine giriş yapılması amaçlanmıştır.
Dersin Verilme Şekli Örgün
Sıra No Dersin Öğrenme Çıktıları Öğretim Yöntemleri Değerlendirme Yöntemleri Program Yeterliliklerini Karşılama Düzeyi(1)(2)(3)(4)(5)
1 Have knowledge about computer and information technologies (hardware and software).
1 Bilgisayar ve bilgi teknolojileri (donanım ve yazılım) konusunda bilgi sahibi olur. Anlatım, Problem Çözme, Gösterip Yaptırma Sınav, Performans Ödevi 1, 2, 3, 4, 9, 12
2 Örnek uygulamalar ile algoritma oluşturma kabiliyeti kazanır. Anlatım, Soru-cevap, Gösterip Yaptırma Sınav, Performans Ödevi 1, 2, 3, 4, 12
2 Gains the ability to create algorithms with sample applications.
3 Defines a problem. Identifies critical points, divides the problem into parts.
3 Bir problemi tanımlar. Kritik noktaları belirler, problemi parçalara böler. Anlatım, Gösterip Yaptırma Sınav, Performans Ödevi 1, 2, 3, 9, 13
4 Problemin her kısmı için algoritmaları düşünür, yazar, akış şemaları haline dönüştürür, test eder ve hataları bulur. Anlatım, Gösterip Yaptırma Sınav, Performans Ödevi 1, 2, 3, 9, 13
4 Thinking and writing algorithms for each part of the problem, converting them into flowcharts, testing them and finding errors.
5 Recognises the programming environment in which the solution for which the flow diagram is prepared will be coded. Performs basic operations such as storing and calling in this environment.
5 Akış diyagramını hazırladığı çözümün kodlanacağı programlama ortamını tanır. Bu ortamda saklama, çağırma gibi temel işlemleri yapar. Anlatım, Gösterip Yaptırma Sınav, Performans Ödevi 2, 3, 4, 9, 12
6 Olası söz dizimi hatalarını bilir ve düzeltir.
6 Knows and corrects possible syntax errors.
7 Have knowledge about programming languages.
7 Programlama dilleri konusunda bilgi sahibi olur.
8 Farklı sınıf seviyeleri için uygun programlama dillerini kullanarak kısa programlar yazabilir.
8 Can write short programmes using programming languages suitable for different grade levels.
9
9
10
10
11
11
12
12
13
13
14
14
15
15
Dersin İçeriği
Algoritmalar, akış diyagramları, yalancı kod, değerler, değişkenler, türler, basit giriş/çıkış, programlama deyimleri, aritmetik ifadeler, üstünlük sırası, kontrol ifadeleri, bool verisi, fonksiyonlar, prosedürler, adım adım iyileştirme, arayüz kavramı, kütüphaneleri kullanma, basit grafik kütüphanesi, karakter ve dizgiler konularını kapsar.
Kaynaklar
1. Sınıf içi dersi veren öğretim elemanının ders notları. 2. Çamoğlu, K. (2011). Algoritma: uygulamalı algoritma klavuzu. Kodlab. 3. Çobanoğlu, B.(2016). C, C++ ve Java dilleriyle algoritma ve programlama. Abaküs Kitap. 4. Nabiyev, V. V. (2011). Algoritmalar teoriden uygulamalara. Seçkin Yayıncılık. 5.Yaşar E.(2016). Algoritma ve programlamaya giriş. Ekin Basım Yayın. 6., Temurtaş,F., Öz, C., Çiftçi, Ö.(2014). C ile algoritma geliştirme. Pusula Yayıncılık.
Haftalara Göre İşlenecek Konular
Haftalar Konular Dokümanlar
1 . Hafta Bilgisayar ve temel bilgi teknolojileri kavramları (Donanım, yazılım, işletim sistemeri)
1 . Hafta Computer and basic information technology concepts (Hardware, software, operating systems)
2 . Hafta Algorithm concept and problem solving
2 . Hafta Algoritma kavramı ve problem çözme
3 . Hafta Algoritma gösterim yöntemleri ve algoritmaların sınıflandırılması
3 . Hafta Algorithm representation methods and classification of algorithms
4 . Hafta Arithmetic and logical expressions
4 . Hafta Aritmetik ve mantıksal ifadeler
5 . Hafta Karşılaştırma ve koşul deyimleri (Karar yapıları)
5 . Hafta Comparison and condition statements (Decision structures)
6 . Hafta Development of algorithms suitable for cyclic problem
6 . Hafta Döngüsel problemlere uygun algoritmaların geliştirme
7 . Hafta Döngüsel problemlere uygun algoritmaların geliştirme
7 . Hafta Development of algorithms suitable for cyclic problem
8 . Hafta Midterm Exam
8 . Hafta Ara Sınav
9 . Hafta Programlamaya giriş
9 . Hafta Introduction to programming
10 . Hafta Programme interface, basic codes and simple examples
10 . Hafta Program arayüzü, temel kodlar ve basit örnekler
11 . Hafta Karar yapıları (if – else if – else)
11 . Hafta Decision structures (if - else if - else)
12 . Hafta Loops (while-for)
12 . Hafta Döngüler (while-for)
13 . Hafta Kodlama program uygulamaları
13 . Hafta Coding programme applications
14 . Hafta Coding programme applications
14 . Hafta Kodlama uygulamaları
15 . Hafta Kodlama uygulamaları
15 . Hafta Final Exam
16 . Hafta Dönem Sonu Sınavı
Değerlendirme Sistemi
Yarıyıl içi çalışmaları Sayısı Katkı Payı (%)
Ara sınav 1 30
Performans Ödev 0 0
Dönem Sonu Sınavı 0 0
Sınav 0 0
Performans Ödevi 0 0
0 0
0 0
0 0
1 50
0 0
0 0
0 0
1 10
0 0
0 0
0 0
0 0
0 0
0 0
0 0
0 0
1 10
0 0
Toplam 100
Yarıyıl İçi Çalışmalarının Başarı Notuna Katkısı 2 30
Yarıyıl Sonu Çalışmalarının Başarı Notuna Katkısı 1 0
Toplam 100
AKTS (Öğrenci İş Yükü) Tablosu
Etkinlikler Sayısı Süresi Toplam İş Yükü
Ders süresi (sınav haftası dahil: 16xders saati) 1 8 8
Sınıf Dışı Ders Calışma Süresi (Ön çalışma, pekiştirme) 0 0 0
Ara sınav 0 0 0
Dönem Sonu Sınavı 0 0 0
Performans Ödev 0 0 0
0 0 0
0 0 0
0 0 0
1 12 12
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
0 0 0
14 2 28
0 0 0
0 0 0
14 3 42
14 2 28
Toplam İş Yükü 118
Dersin Öğrenme Çıktılarının Program Yeterlilikleri İle İlişkilendirilmesi
Sıra No Program Yeterlilikleri Katkı Düzeyi*
1 2 3 4 5
1 To be able to construct mathematical models of computer systems and simulate them on computer. X
2 Knows algorithm design and can make analysis techniques. X
3 Knows how to develop algorithms and can create the appropriate data structure for the algorithm. X
4 Knows and can use software development platforms. X
5 Gains the ability to work independently and take responsibility. X
6 Gains the ability to learn and manage learning. X
7 Knows at least one of the web programming languages. X
8 Knows and uses web programming software development platforms. X
9 Can define a new computer problem by himself/herself. X
10 Knows and uses the hardware components of the computer. X
11 Knows the basic elements of computers and microprocessors and makes component selection X
12 Determines the necessary skills for solving problems and develops methods. X
13 Proposes innovative solutions according to the current state of basic sciences and technology. X