BBZ102 Introduction to Algorithms and Programing II

6 ECTS - 3-1 Duration (T+A)- 2. Semester- 3 National Credit

Information

Code BBZ102
Name Introduction to Algorithms and Programing II
Semester 2. Semester
Duration (T+A) 3-1 (T-A) (17 Week)
ECTS 6 ECTS
National Credit 3 National Credit
Teaching Language Türkçe
Level Lisans Dersi
Type Normal
Mode of study Yüz Yüze Öğretim
Catalog Information Coordinator Prof. Dr. HÜSEYİN GÜLER


Course Goal

The purpose of the course is to introduce the idea of developing an algorithm to students for problem solving, to bring the knowledge of developing a program using their algorithm and to introduce some frequently used algorithms.

Course Content

Once the computers, algorithms and flow charts are discussed in the course, data structers of computers, mathematical operations, conditions and loops, subroutines and functions, sorting and searching algorithms will be given. The written algorithms will be coded with Python and the student will gain basic programming skills.

Course Precondition

None

Resources

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

Notes

https://www.python.org/ ve diğer internet kaynakları


Course Learning Outcomes

Order Course Learning Outcomes
LO01 Differentiates between algorithms and flow charts
LO02 Defines data structers of computers
LO03 Writes an algorithm and program for some basic operations
LO04 Uses conditions and loops in alogrithms and programs
LO05 Extends algorithms and programs with subroutines and functions
LO06 Writes an algorithm and program for sorting and searching operations
LO07 Uses Python to code the developed algorithm
LO08 Debugs the written program


Relation with Program Learning Outcome

Order Type Program Learning Outcomes Level
PLO01 Bilgi - Kuramsal, Olgusal Gain comprehensive knowledge of fundamental concepts, algorithms, and data structures in Computer Science. 5
PLO02 Bilgi - Kuramsal, Olgusal Learn essential computer topics such as software development, programming languages, and database management 5
PLO03 Bilgi - Kuramsal, Olgusal Understand advanced computer fields like data science, artificial intelligence, and machine learning. 3
PLO04 Bilgi - Kuramsal, Olgusal Acquire knowledge of topics like computer networks, cybersecurity, and database design.
PLO05 Beceriler - Bilişsel, Uygulamalı Develop skills in designing, implementing, and analyzing algorithms 4
PLO06 Beceriler - Bilişsel, Uygulamalı Gain proficiency in using various programming languages effectively 3
PLO07 Beceriler - Bilişsel, Uygulamalı Learn skills in data analysis, database management, and processing large datasets.
PLO08 Beceriler - Bilişsel, Uygulamalı Acquire practical experience through working on software development projects. 3
PLO09 Yetkinlikler - Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği Strengthen teamwork and communication skills.
PLO10 Yetkinlikler - Alana Özgü Yetkinlik Foster a mindset open to technological innovations. 3
PLO11 Yetkinlikler - Öğrenme Yetkinliği Encourage the capacity for continuous learning and self-improvement. 3
PLO12 Yetkinlikler - İletişim ve Sosyal Yetkinlik Enhance the ability to solve complex problems 3


Week Plan

Week Topic Preparation Methods
1 Basic concepts: Computer, computer program, algorithm, flow chart, compiler - 1 Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
2 Basic concepts: Computer, computer program, algorithm, flow chart, compiler - 2 Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
3 The structure of a computer program, designing a program, divide and conquer: subprogramsand functions, Pyhton environment - 1 Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama, Problem Çözme
4 The structure of a computer program, designing a program, divide and conquer: subprogramsand functions, Pyhton environment - 2 Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama, Problem Çözme
5 Variables, constants, arrays, comments Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama, Problem Çözme
6 Mathematical operations Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama, Problem Çözme
7 Conditions: if-then-else and switch-case. Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama, Problem Çözme
8 Mid-Term Exam General review for the midterm exam Ölçme Yöntemleri:
Proje / Tasarım
9 Loops - 1 Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama, Problem Çözme
10 Loops - 2 Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama, Problem Çözme
11 Subprograms and functions - 1 Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama, Problem Çözme
12 Subprograms and functions - 2 Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
13 Sorting and searching algorithms - 1 Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama, Problem Çözme
14 Sorting and searching algorithms - 2 Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
15 Debugging a program Related chapter in course resources Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama, Problem Çözme
16 Term Exams General review for the final exam Ölçme Yöntemleri:
Yazılı Sınav
17 Term Exams General review 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 4 56
Out of Class Study (Preliminary Work, Practice) 14 4 56
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