TR EN

ALGORİTMA VE PROGRAMLAMA TEMELLERİ DERS TANITIM VE UYGULAMA BİLGİLERİ

Kodu Dersin Adı Yarıyıl Süresi(T+U) Kredisi AKTS Kredisi
BTP151 ALGORİTMA VE PROGRAMLAMA TEMELLERİ 1 3 3 6

DERS BİLGİLERİ

Dersin Öğretim Dili : Türkçe
Dersin Düzeyi ÖNLİSANS, TYY: + 5.Düzey, EQF-LLL: 5.Düzey, QF-EHEA: Kısa Düzey
Dersin Türü Zorunlu
Dersin Veriliş Şekli -
Dersin Koordinatörü Öğr.Gör. SENA NUR BENLİ
Dersi Veren Öğretim Üyesi/Öğretim Görevlisi Öğr.Gör. NACİYE MACİT SEZİKLİ
Ders Ön Koşulu Yok

AMAÇ VE İÇERİK

Amaç: Öğrencilerin algoritma mantığını kavrayarak problemlere çözüm odaklı bir yaklaşım geliştirmelerini sağlamak. Algoritma tasarımı ve akış diyagramları oluşturma yetkinliği kazandırmak. Temel programlama kavramlarını ve yapıları öğrenerek yazılım geliştirme sürecinin temellerini anlamalarını sağlamak. Farklı problemlere uygun programlar geliştirebilme becerisi kazandırmak. Temel bir programlama dilinde kodlama pratiği yaparak uygulama geliştirme becerisini geliştirmek.
İçerik: Algoritma ve Programlama Temelleri dersi, algoritma mantığı ve akış diyagramlarının oluşturulmasıyla başlayarak temel programlama kavramlarını öğretir. Veri türleri, operatörler, kontrol yapıları (if-else, döngüler), fonksiyonlar ve modüler programlama gibi konuları kapsar. Basit veri yapıları, hata ayıklama teknikleri ve uygulama geliştirme süreçlerine giriş yapılarak öğrencilere problem çözme ve temel kodlama becerileri kazandırılır.

DERSİN ÖĞRENME ÇIKTILARI (Öğrenciler, bu dersi başarı ile tamamladıklarında aşağıda belirtilen bilgi, beceri ve/veya yetkinlikleri gösterirler.)

Algoritmik Düşünce Geliştirme: Problemleri analiz ederek çözüm odaklı algoritmalar oluşturabilir. Akış diyagramları kullanarak mantıksal süreçleri görselleştirebilir.
Programlama Temellerini Anlama: Temel veri türlerini ve programlama yapısını kavrayabilir. Operatörleri ve kontrol yapılarıyla karar verme süreçlerini uygulayabilir.
Kodlama Becerisi: Seçilen bir programlama dilinde (Python, C#, vb.) temel seviyede kod yazabilir. Fonksiyonlar ve modüler yapı sayesinde organize ve yeniden kullanılabilir kodlar geliştirebilir.
Hata Ayıklama ve Optimizasyon Programlama sırasında karşılaşılan hataları tespit edip düzeltebilir. Programların performansını analiz ederek optimize edebilir.
Uygulama Geliştirme Günlük hayattaki basit problemlere uygun yazılımlar geliştirebilir. Farklı senaryolara yönelik algoritmalar tasarlayarak çözüm üretebilir.
Ekip Çalışması ve Proje Yönetimi Temel yazılım projelerinde ekip çalışması yapabilir. Yazılım geliştirme süreçlerini planlayıp yönetebilir.

HAFTALIK DERS KONULARI VE ÖNGÖRÜLEN HAZIRLIK ÇALIŞMALARI

Hafta Ön Hazırlık Konular Yöntem
1 Bilgisayar sistemleri ve yazılım geliştirme kavramlarını araştırın. Temel algoritma tanımlarını okuyun. Bilgisayar ve Yazılım Temelleri, Algoritmaya Giriş Bilgisayar ve yazılım kavramları Algoritma nedir, neden önemlidir? Algoritma yazma adımları Anlatım, soru-cevap, kısa videolar ile desteklenen kavram tanıtımı.
2 Aritmetik ve mantıksal operatörlerin tanımlarını inceleyin. Basit algoritma örneklerini inceleyin. Aritmetiksel ve Mantıksal İfadeler, Algoritmalar Aritmetik ve mantıksal ifadelerin kullanımı Algoritma yazımı için örnekler Tahtada çözüm, grup çalışması ile basit algoritma tasarlama.
3 Akış diyagramı sembollerini öğrenin. Örnek bir akış diyagramı çözümünü inceleyin. Akış Çizelgeleri ve Uygulamaları Akış çizelgelerinin tanımı ve sembolleri Örneklerle akış diyagramı oluşturma Akış diyagramı yazma uygulamaları, bireysel ve grup çalışmaları.
4 Döngü yapılarını ve döngülerle ilgili temel algoritma örneklerini inceleyin. Döngülerle Akış Çizelgeleri Döngü kavramı ve türleri Döngülerle ilgili akış diyagramı örnekleri Uygulamalı çalışma, döngülerle akış diyagramları çizme.
5 Geliştirme ortamı kurulum talimatlarını takip edin, veri tiplerini inceleyin. Programlama: Kurulum ve Temel Yapılar Geliştirme ortamının kurulumu Veri tipleri, değişkenler, sabitler Tip dönüşümleri Uygulamalı kurulum, örneklerle veri tipi ve değişken tanımlama.
6 C dilindeki operatörleri ve temel giriş/çıkış fonksiyonlarını araştırın. Operatörler ve Giriş/Çıkış Fonksiyonları Operatör türleri (aritmetik, mantıksal, karşılaştırma) printf ve scanf kullanımı Matematiksel fonksiyonlar ve kütüphaneler Kod yazma pratiği, bireysel uygulamalar ve küçük örnek problemler çözümü.
7 Karşılaştırma operatörlerini öğrenin, if-else yapısının örneklerini inceleyin. Karşılaştırma Operatörleri ve Şart Yapıları Karşılaştırma operatörleri if-else yapıları ve örnekler İç içe if yapıları Kod yazma pratiği, örneklerle şart yapılarının çözüm analizi.
8 - ARA SINAV -
9 Switch-case yapılarını öğrenin ve basit senaryoları inceleyin. Switch-Case Kontrol Yapıları Switch-case yapısının tanımı Kullanımı ve örnekler Kodlama ve senaryo üzerinden çözümleme, uygulamalı örnekler.
10 Döngülerin tanımını ve kullanım örneklerini inceleyin. Döngüler: For, While ve Do-While For döngüsü While ve do-while döngüleri Döngü içindeki kontrol ifadeleri (break, continue) Kodlama uygulamaları, grup çalışmasıyla döngü içeren programlar geliştirme.
11 Tek ve çok boyutlu dizilerin kullanım örneklerini araştırın. Diziler: Tek ve Çok Boyutlu Diziler Tek boyutlu dizilerin tanımı ve kullanımı Çok boyutlu dizilere giriş ve örnekler Kodlama uygulamaları, bireysel ve grup projelerinde dizi kullanımı.
12 String işlemlerine dair temel fonksiyonları inceley Stringler (Karakter Dizileri) Stringlerin tanımı ve temel işlemleri String fonksiyonları ve uygulamaları Kodlama çalışmaları, örnek problemler çözümü.
13 Dosya açma, okuma ve yazma işlemlerini araştırın. Dosya İşlemleri Dosya oluşturma, yazma, okuma Dosyalama işlemlerinde temel fonksiyonla Uygulamalı kodlama, dosya işlemleriyle ilgili küçük projeler.
14 Fonksiyon türlerini ve örneklerini öğrenin. Fonksiyonlar ve Modüler Programlama Fonksiyon tanımı, türleri ve kullanımı Fonksiyonlarla modüler programlama Grup çalışmaları, modüler programlama üzerine uygulamalı projeler.
15 Hazırlanan projeyi sunuma uygun hale getirin, kod yapısını gözden geçirin. Proje Sunumu ve Değerlendirme Öğrencilerin hazırladığı projelerin sunumu Ders genel değerlendirmesi ve öğrenilenlerin gözden geçirilmesi Öğrenci sunumları, geri bildirim ve genel değerlendirme.
16 - FİNAL -
17 - FİNAL -

KAYNAKLAR

1. Ders Kitapları "Algoritmalar ve Programlamaya Giriş" – Ali Dölek Algoritmik düşünce ve akış diyagramlarına odaklanır. "Problem Çözme ve Programlama Temelleri" – Behrouz A. Forouzan, Firuzan Forouzan Temel algoritma tasarımı ve programlama kavramları. "C How to Program" – Paul Deitel, Harvey Deitel C diliyle programlama öğrenimi için detaylı bir kaynak. "Introduction to the Theory of Computation" – Michael Sipser Algoritma ve bilgisayar biliminin teorik altyapısını sunar.
Online Eğitim ve Referans Siteleri GeeksforGeeks Algoritmalar, veri yapıları ve programlama dilleriyle ilgili detaylı açıklamalar ve örnekler. W3Schools Programlama dilleri ve temel kodlama konularında başlangıç seviyesinde eğitim. TutorialsPoint Algoritma ve C dili konularında kapsamlı içerik. Khan Academy Algoritmalar ve veri yapıları üzerine interaktif eğitim.
Uygulama Araçları ve Çevrimiçi Platformlar Replit (https://replit.com/): Çevrimiçi kodlama platformu, özellikle başlangıç seviyesindeki öğrenciler için kullanışlıdır. Visual Studio Code veya Code::Blocks: C dili ile çalışmak için uygun geliştirme ortamları. HackerRank ve LeetCode: Algoritmalar ve programlama becerilerini geliştirmek için pratik yapma imkânı sunar.

ÖLÇME VE DEĞERLENDİRME

Yarıyıl İçi Yapılan Çalışmaların Ölçme ve Değerlendirmesi Etkinlik Sayısı Katkı Yüzdesi Açıklama
(0) Etkisiz (1) En Düşük (2) Düşük (3) Orta (4) İyi (5) Çok İyi
0 1 2 3 4 5

DERSİN PROGRAM ÖĞRENME ÇIKTILARINA KATKISI

BİLGİ
Kuramsal
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Bilgisayar alanında gerekli terimleri ve bilgileri bilir.
5
2
Bilgisayar ile ilgili olan temel mesleki ingilizce terimlerini bilir.
5
3
Bilgi güvenliği kavramı hakkında bilgi sahibi olur.
3
BİLGİ
Olgusal
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Bilgisayar alanında gerekli kavramları öğrenme becerisi kazanır.
5
BECERİLER
Bilişsel
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Temel elektrik-elektronik parçaların işlevlerini bilir.
2
BECERİLER
Uygulamalı
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Farklı işletim sistemlerini kullanma becerisi kazanır.
3
2
Kendinden istenen yazılım kurulum işlemini gerçekleştirir.
5
YETKİNLİKLER
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Basit yazılım ve donanım hatalarını bulur ve düzeltir.
5
2
Var olan dijital bilgiyi korumak için düzenli periyotlarla yedekleme işlevini gerçekleştirir.
4
YETKİNLİKLER
Öğrenme Yetkinliği
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Kendi alanında bağımsız bir şekilde öğrenir ve öğrendiğini uygulayabilir.
5
YETKİNLİKLER
İletişim ve Sosyal Yetkinlik
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
İnsan ilişkileri ve iletişimi konusunda yapılması gerekeni bilir ve uygular.
5
YETKİNLİKLER
Alana Özgü Yetkinlik
Program Yeterlilikleri/Çıktıları Katkı Düzeyi
0 1 2 3 4 5
1
Kendinden istenilen işletim sistemlerini kurar ve yönetir.
2

DERSİN İŞ YÜKÜ VE AKTS KREDİSİ

Öğrenme-Öğretme Etkinlikleri İş Yükü
Öğrenme-Öğretme Etkinlikleri Etkinlik(hafta sayısı) Süresi(saat sayısı) Toplam İş Yükü
Ders 14 3 42
Derse Ön Hazırlık ve Ders Sonrası Pekiştirme 14 1 14
Arazi Çalışması 0 0 0
Grup Çalışması / Ödevi 0 0 0
Laboratuvar 14 3 42
Okuma 0 0 0
Ödev 0 0 0
Proje Hazırlama 6 5 30
Seminer 0 0 0
Staj 0 0 0
Teknik Gezi 0 0 0
Web Tab. Öğrenme 0 0 0
Uygulama 14 1 14
Yerinde Uygulama 0 0 0
Mesleki Faaliyet 0 0 0
Sosyal Faaliyet 0 0 0
Tez Hazırlama 0 0 0
Alan Çalışması 0 0 0
Rapor Yazma 0 0 0
Final Sınavı 1 1 1
Final Sınavı Hazırlığı 5 1 5
Ara Sınav 1 1 1
Ara Sınav Hazırlığı 5 1 5
Kısa Sınav 0 0 0
Kısa Sınav Hazırlığı 0 0 0
TOPLAM 74 0 154
Genel Toplam 154
Toplam İş Yükü / 25.5 6
Dersin AKTS(ECTS) Kredisi 6,0