Information
Unit | FACULTY OF SCIENCE AND LETTERS |
ARTIFICIAL INTELLIGENCE AND MACHINE LEARNING PR. (ENGLISH) | |
Code | YZZ107 |
Name | Algorithms and Programming I |
Term | 2025-2026 Academic Year |
Semester | 1. Semester |
Duration (T+A) | 3-2 (T-A) (17 Week) |
ECTS | 6 ECTS |
National Credit | 4 National Credit |
Teaching Language | İngilizce |
Level | Lisans Dersi |
Type | Normal |
Label | BS Basic Science Courses C Compulsory |
Mode of study | Yüz Yüze Öğretim |
Catalog Information Coordinator | Dr. Öğr. Üyesi Cevher ÖZDEN |
Course Instructor |
Dr. Öğr. Üyesi Cevher ÖZDEN
(Güz)
(A Group)
(Ins. in Charge)
|
Course Goal / Objective
The aim of this course is to instill in students the ability to develop algorithms for problem solving, to provide them with the knowledge of translating algorithms into computer programs, and to introduce some frequently used algorithms.
Course Content
This course will discuss computers, algorithms, and flowcharts, followed by computer data structures, mathematical operations, conditionals and loops, subroutines and functions, sorting algorithms, and program analysis. The algorithms are coded in Python, providing students with basic programming skills.
Course Precondition
None
Resources
https://www.python.org/ ve other network sources
Notes
Benjamin Baka. (2017). Python Data Structures and Algorithms : Implement Classic and Functional Data Structures and Algorithms Using Python. Packt Publishing 2. Parker, J. R. (2021). Python : An Introduction to Programming. Mercury Learning and Information. 3. Başer, M. (2012). Python. Dikeyeksen.
Course Learning Outcomes
Order | Course Learning Outcomes |
---|---|
LO01 | Uses algorithms and flowcharts. |
LO02 | Defines data structures in the computer. |
LO03 | Writes algorithms and programs for some basic operations. |
LO04 | Uses conditionals and loops in algorithms and programs. |
LO05 | Uses algorithms and programs effectively with the help of subroutines and functions. |
LO06 | Writes algorithms and programs for sorting and searching operations. |
LO07 | Codes the algorithms writes using Python. |
LO08 | Analyzes the program wrote. |
Relation with Program Learning Outcome
Order | Type | Program Learning Outcomes | Level |
---|---|---|---|
PLO01 | Bilgi - Kuramsal, Olgusal | It provides a broad range of knowledge about fundamental Computer Science concepts, algorithms and data structures. | 4 |
PLO02 | Bilgi - Kuramsal, Olgusal | Learns basic computer topics such as software development, programming languages, and database management. | 4 |
PLO03 | Bilgi - Kuramsal, Olgusal | Understands advanced computing fields such as data science, artificial intelligence, and machine learning. | 3 |
PLO04 | Belirsiz | Learn about topics such as computer networks, cyber security, and database design. | |
PLO05 | Beceriler - Bilişsel, Uygulamalı | Develops skills in designing, implementing and analyzing algorithms. | 4 |
PLO06 | Beceriler - Bilişsel, Uygulamalı | Gains the ability to use different programming languages effectively | 3 |
PLO07 | Beceriler - Bilişsel, Uygulamalı | Learns data analysis, database management and big data processing skills. | |
PLO08 | Beceriler - Bilişsel, Uygulamalı | Gains practical experience by working on software development projects. | 3 |
PLO09 | Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği | Strengthens collaboration and communication skills within the team. | |
PLO10 | Yetkinlikler - Alana Özgü Yetkinlik | It provides a mindset open to technological innovations. | |
PLO11 | Yetkinlikler - Öğrenme Yetkinliği | Encourages continuous learning and self-improvement competence. | |
PLO12 | Yetkinlikler - İletişim ve Sosyal Yetkinlik | Develops the ability to solve complex problems. | 3 |
Week Plan
Week | Topic | Preparation | Methods |
---|---|---|---|
1 | Basic concepts: Computer, computer program, algorithm, flowchart, compiler - 1 | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama |
2 | Basic concepts: Computer, computer program, algorithm, flowchart, compiler - 2 | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama |
3 | Computer program structure, program design, divide and conquer: subroutines and functions, Python environment - 1 | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama, Problem Çözme |
4 | Computer program structure, program design, divide and conquer: subroutines and functions, Python environment - 2 | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama, Problem Çözme |
5 | Variables, constants, arrays, declarations | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama, Problem Çözme |
6 | Basic mathematical operations | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama, Problem Çözme |
7 | Conditions: if-then-else and switch-case. | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama, Problem Çözme |
8 | Mid-Term Exam | General preparation for the midterm exam | Ölçme Yöntemleri: Proje / Tasarım |
9 | Loops - 1 | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama, Problem Çözme |
10 | Loops - 2 | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama, Problem Çözme |
11 | Subroutines and functions - 1 | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama, Problem Çözme |
12 | Subroutines and functions - 2 | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama |
13 | Sorting and search algorithms - 1 | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama, Problem Çözme |
14 | Sorting and search algorithms - 2 | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama |
15 | Analyze the program | Relevant section in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama, Problem Çözme |
16 | Term Exams | General preparation for the final exam | Ölçme Yöntemleri: Yazılı Sınav |
17 | Term Exams | General preparation for the final exam | Ölçme Yöntemleri: Yazılı Sınav |
Student Workload - ECTS
Works | Number | Time (Hour) | Workload (Hour) |
---|---|---|---|
Course Related Works | |||
Class Time (Exam weeks are excluded) | 14 | 5 | 70 |
Out of Class Study (Preliminary Work, Practice) | 14 | 3 | 42 |
Assesment Related Works | |||
Homeworks, Projects, Others | 5 | 3 | 15 |
Mid-term Exams (Written, Oral, etc.) | 1 | 10 | 10 |
Final Exam | 1 | 15 | 15 |
Total Workload (Hour) | 152 | ||
Total Workload / 25 (h) | 6,08 | ||
ECTS | 6 ECTS |