Code | Name of the Course Unit | Semester | In-Class Hours (T+P) | Credit | ECTS Credit |
---|---|---|---|---|---|
BTP151 | ALGORİTMA VE PROGRAMLAMA TEMELLERİ | 1 | 3 | 3 | 6 |
GENERAL INFORMATION |
|
---|---|
Language of Instruction : | Türkçe |
Level of the Course Unit : | ÖNLİSANS, TYY: + 5.Düzey, EQF-LLL: 5.Düzey, QF-EHEA: Kısa Düzey |
Type of the Course : | Zorunlu |
Mode of Delivery of the Course Unit | - |
Coordinator of the Course Unit | Öğr.Gör. SENA NUR BENLİ |
Instructor(s) of the Course Unit | Öğr.Gör. NACİYE MACİT SEZİKLİ |
Course Prerequisite | No |
OBJECTIVES AND CONTENTS |
|
---|---|
Objectives of the Course Unit: | Öğ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. |
Contents of the Course Unit: | 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. |
KEY LEARNING OUTCOMES OF THE COURSE UNIT (On successful completion of this course unit, students/learners will or will be able to) |
---|
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. |
WEEKLY COURSE CONTENTS AND STUDY MATERIALS FOR PRELIMINARY & FURTHER STUDY |
|||
---|---|---|---|
Week | Preparatory | Topics(Subjects) | Method |
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 | - |
SOURCE MATERIALS & RECOMMENDED READING |
---|
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. |
ASSESSMENT |
|||
---|---|---|---|
Assessment & Grading of In-Term Activities | Number of Activities | Degree of Contribution (%) | Description |
Level of Contribution | |||||
---|---|---|---|---|---|
0 | 1 | 2 | 3 | 4 | 5 |
KNOWLEDGE |
|||||||
---|---|---|---|---|---|---|---|
Theoretical |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Required in the field of computer and information knows the term.
|
5 | |||||
2 |
The basic vocational English terms on the computer knows.
|
5 | |||||
3 |
Knowledge about the concept of information security.
|
3 |
KNOWLEDGE |
|||||||
---|---|---|---|---|---|---|---|
Factual |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Concepts in the field of computer learning skills necessary to win.
|
5 |
SKILLS |
|||||||
---|---|---|---|---|---|---|---|
Cognitive |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Know the functions of basic electrical and electronic components.
|
2 |
SKILLS |
|||||||
---|---|---|---|---|---|---|---|
Practical |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
The ability to use different operating systems.
|
3 | |||||
2 |
Self-installation performs the required software.
|
5 |
OCCUPATIONAL |
|||||||
---|---|---|---|---|---|---|---|
Autonomy & Responsibility |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Find simple software and hardware failures and fixes.
|
5 | |||||
2 |
Digital information on a regular basis to maintain existing backup function performs.
|
4 |
OCCUPATIONAL |
|||||||
---|---|---|---|---|---|---|---|
Learning to Learn |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Independently in their field, learn and apply that learning.
|
5 |
OCCUPATIONAL |
|||||||
---|---|---|---|---|---|---|---|
Communication & Social |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Human relations and communications know about and apply to be done.
|
5 |
OCCUPATIONAL |
|||||||
---|---|---|---|---|---|---|---|
Occupational and/or Vocational |
|||||||
Programme Learning Outcomes | Level of Contribution | ||||||
0 | 1 | 2 | 3 | 4 | 5 | ||
1 |
Self desired operating system builds and manages.
|
2 |
WORKLOAD & ECTS CREDITS OF THE COURSE UNIT |
|||
---|---|---|---|
Workload for Learning & Teaching Activities |
|||
Type of the Learning Activites | Learning Activities (# of week) | Duration (hours, h) | Workload (h) |
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 |
Total Workload of the Course Unit | 154 | ||
Workload (h) / 25.5 | 6 | ||
ECTS Credits allocated for the Course Unit | 6,0 |