Information
Code | BBZ101 |
Name | Introduction to Algorithms and Programing I |
Term | 2023-2024 Academic Year |
Semester | 1. 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 Instructor |
Prof. Dr. HÜSEYİN GÜLER
(A Group)
(Ins. in Charge)
|
Course Goal / Objective
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/ and relevant internet sources
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, Problem Çözme |
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, Problem Çözme |
15 | Debugging a program | Related chapter in course resources | Öğretim Yöntemleri: Anlatım, Alıştırma ve Uygulama |
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 |