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 |
Label | C Compulsory |
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 | |
2 | Basic concepts: Computer, computer program, algorithm, flow chart, compiler - 2 | Related chapter in course resources | |
3 | The structure of a computer program, designing a program, divide and conquer: subprogramsand functions, Pyhton environment - 1 | Related chapter in course resources | |
4 | The structure of a computer program, designing a program, divide and conquer: subprogramsand functions, Pyhton environment - 2 | Related chapter in course resources | |
5 | Variables, constants, arrays, comments | Related chapter in course resources | |
6 | Mathematical operations | Related chapter in course resources | |
7 | Conditions: if-then-else and switch-case. | Related chapter in course resources | |
8 | Mid-Term Exam | General review for the midterm exam | |
9 | Loops - 1 | Related chapter in course resources | |
10 | Loops - 2 | Related chapter in course resources | |
11 | Subprograms and functions - 1 | Related chapter in course resources | |
12 | Subprograms and functions -2 | Related chapter in course resources | |
13 | Sorting and searching algorithms - 1 | Related chapter in course resources | |
14 | Sorting and searching algorithms - 2 | Related chapter in course resources | |
15 | Debugging a program | Related chapter in course resources | |
16 | Term Exams | General review for the final exam | |
17 | Term Exams | General review for the final exam |
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 |