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