SECTION I: GENERAL INFORMATION ABOUT THE COURSE

Course Code Course Name Year Semester Theoretical Practical Credit ECTS
BLP5101 Fundamentals of Programming and Algorithms 1 Fall 1 2 3 6
Course Type : Compulsory
Cycle: Associate      TQF-HE:5. Master`s Degree      QF-EHEA:Short Cycle      EQF-LLL:5. Master`s Degree
Language of Instruction: Turkish
Prerequisities and Co-requisities: N/A
Mode of Delivery: Face to face
Name of Coordinator: Instructor BUKET DÖNMEZ
Dersin Öğretim Eleman(lar)ı: Instructor ÖZGE DEMİR
Instructor BUKET DÖNMEZ
Dersin Kategorisi: Field Specific

SECTION II: INTRODUCTION TO THE COURSE

Course Objectives & Content

Course Objectives: This course aims to enable the student to acquire competencies related to programming fundamentals and to be able to write programs.
Course Content: Algorithms and programming basics, loop, conditions, functions and variable types

Course Specific Rules

• Class Attendance: You are required to attend at least 70% of the classes. This percentage is important to ensure active participation in classes and continuous learning.
• Practice Review: After each class, you must review the exercises and examples covered during the class. Learning by practicing will help reinforce the topics.
• Course Content: The first 4-5 weeks of the course will focus on algorithm topics. During this period, the focus will be on basic algorithms, data structures, and algorithm analysis. In the following weeks, a programming language will be selected, and students will work on applying algorithms and software development processes in that language.
• Assignments and Projects: Regular assignments and projects are crucial for reinforcing what you have learned.
• Exams and Assessment: The course will be assessed based on the total score obtained from midterm exams, final exams, and practical assignments. Please note that exams and assignments are designed to measure both your theoretical knowledge and practical skills.
• Face-to-Face Classes: Classes will be conducted face-to-face. Classes will not be recorded, so your attendance and active participation in class is important.
• Feedback and Help: You can ask your instructor directly about any topics you do not understand during the course. If you cannot find the time during the course, you can contact your instructor during the consultation hours they specify to ask your questions.
• Time Management: It is recommended that you develop a regular study habit for your coursework. Completing assignments and projects on time will help you understand the topics better.
• Course Recording and Notes: The course will not be recorded. Therefore, the notes taken and information conveyed during the course will be sufficient for you to continue learning. Regular attendance is very important.
• Discipline and Ethics: During the course, a collaborative approach is expected for group work and assignments. However, for individual assignments and projects, you must submit your own work. Copying others' work and plagiarism will be considered a serious academic violation.

Course Learning Outcomes (CLOs)

Course Learning Outcomes (CLOs) are those describing the knowledge, skills and competencies that students are expected to achieve upon successful completion of the course. In this context, Course Learning Outcomes defined for this course unit are as follows:
Knowledge (Described as Theoritical and/or Factual Knowledge.)
  1) Explains the fundamental concepts of programming, algorithms, and the software development process.
  2) Describes the structure of a programming language, variables, data types, and control statements, and relates them with examples.
Skills (Describe as Cognitive and/or Practical Skills.)
  1) Designs appropriate algorithms to solve given problems using algorithmic thinking methods.
  2) Writes code using basic programming structures in a programming language (e.g., Python).
  3) Analyzes the functionality of written programs and applies debugging and testing processes.
Competences (Described as "Ability of the learner to apply knowledge and skills autonomously with responsibility", "Learning to learn"," Communication and social" and "Field specific" competences.)
  1) Develops modular solutions by combining programming components such as functions, loops, and decision structures.
  2) Evaluates real-world problems and produces appropriate software solutions using programming skills.

Weekly Course Schedule

Week Subject
Materials Sharing *
Related Preparation Further Study
1) The course objectives and structure will be introduced. The definition and basic components of a computer, as well as the concepts of data and information and their differences, will be explained. A brief overview of the history and evolution of computers will be provided. Then, number systems (binary, decimal, octal, hexadecimal) will be introduced, and students will perform practical conversions between these systems. Through these activities, students will gain an understanding of computer logic and basic data representation. Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
2) The concept of algorithms will be explained, problem-solving methodology will be introduced, and students will develop simple algorithms using real-world examples. Additionally, flowcharts and pseudocode will be used to visualize algorithms. Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
3) Basic data types and operators will be covered, with practical examples on variables and constants. Decision structures (if, multiple selection) will be demonstrated, and students will reinforce learning through mini exercises. Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
4) Loops (for, while, do-while) and loop control statements (break, continue) will be introduced. Students will apply these in mini projects for data searching and sorting. Nested loops and their applications will be demonstrated with examples. Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
5) Arrays (one-dimensional and multi-dimensional) and operations on arrays (searching, summing, updating, etc.) will be explained. Applications will be performed using real datasets (e.g., student grades, price lists). Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
6) Subprograms and functions will be introduced, including parameter passing methods and return values with examples. Modular programming and code reusability with functions will be demonstrated. Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
7) Basic algorithms (searching, sorting) will be coded, and their logic and optimization differences will be demonstrated. Students will evaluate different solution approaches. Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
8) MIDTERM EXAM Resources available at online.beykoz.ed.tr. Materyal Materyal
9) File operations (opening, reading, writing, closing) will be covered and applied within projects using version control (Git). This will provide students with experience in project-based data management. Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
10) During the mini-project week, students will work in teams to develop algorithms, reinforcing problem-solving and teamwork skills. Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
11) Project development practices will be carried out; an introduction to Agile, Scrum, and Kanban methodologies will be provided, with practical examples in project planning. Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
12) Project presentations will be conducted, emphasizing teamwork, business analysis, and schedule planning. Students will gain experience in industry-relevant presentations. Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
13) Basic file operations (opening, reading, writing, closing files), Introduction to simple error handling logic Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
14) In the final week, students will review the mini-projects and applications they developed throughout the course and make minor improvements. They will check the readability of their code, variable names, and algorithm logic, and perform small-scale tests to ensure their programs work correctly. During this process, students will correct any errors or incomplete parts, reinforcing the concepts learned during the course and reflecting on their own learning process. Thus, the final week allows students to practically review their knowledge and conduct a general assessment.. Doç. Dr. Fahri Vatansever, Algoritma Geliştirme ve Programlamaya Giriş, Seçkin, 2017, September. Reading the related chapter and other resources to be obtained Materyal Materyal
*These fields provides students with course materials for their pre- and further study before and after the course delivered.

Recommended or Required Reading & Other Learning Resources/Tools

Course Notes / Textbooks: Doç. Dr. Fahri Vatansever 2017; Algoritma Geliştirme ve Programlamaya Giriş, 13.Baskı, Seçkin Yayıncılık San. ve Tic. A.Ş.
References: Kamil Çamoğlu 2016; Algoritma, 4.Baskı, Kodlab Yayın Dağıtım Yazılım ve Eğitim Hiznetleri San. ve Tic. Ltd. Şti.
Robert Sedgewick, Kevin Wayne, Çeviri Editörü Doç. Dr. Şadi Evren Şeker 2018; Algoritmalar, 4.Basımdan Çeviri, Nobel Akademik Yayıncılık Eğitim Danışmanlık Tic. Ltd. Şti.
Algoritma Tasarımı ve Geliştirme - Java ve C#, Nobel Akademik Yayıncılık
Python ile Veri Yapıları ve Algoritma Analizi, Yılmaz Kaya, Nobel Akademik Yayıncılık Materyal

DERS ÖĞRENME ÇIKTILARI - PROGRAM ÖĞRENME ÇIKTILARI İLİŞKİSİ

Contribution of The Course Unit To The Programme Learning Outcomes

Ders Öğrenme Çıktıları (DÖÇ)

1

2

3

4

5

6

7

Program Öğrenme Çıktıları (PÖÇ)
1) It explains fundamental concepts in mathematics, statistics, and probability; and applies this knowledge to data analysis, modeling, and interpretation of results.
2) It explains the principles of algorithm design and develops software for solving problems using at least one programming language.
3) It compares machine learning and data mining algorithms, selects the appropriate method, and applies it to real data.
4) Big data platforms utilize distributed systems and cloud computing architectures to perform data processing operations.
5) They apply natural language processing techniques to text data and develop basic NLP-based applications.
6) It analyzes different data sources, transforms them into meaningful outputs, and presents them using appropriate visualization tools.
7) It creates data-driven decision models using decision support systems.
8) It develops optimization models and produces solutions for industrial and sectoral problems.
9) In professional practice, we operate within the framework of ethical principles, data security, and social responsibility.
10) They keep up with current technological developments in their field, actively participate in teamwork, and develop a lifelong learning awareness.

SECTION III: RELATIONSHIP BETWEEN COURSE UNIT AND COURSE LEARNING OUTCOMES (CLOs)

Level of Contribution of the Course to PLOs

No Effect 1 Lowest 2 Low 3 Average 4 High 5 Highest
           
Programme Learning Outcomes Contribution Level (from 1 to 5)
1) It explains fundamental concepts in mathematics, statistics, and probability; and applies this knowledge to data analysis, modeling, and interpretation of results.
2) It explains the principles of algorithm design and develops software for solving problems using at least one programming language. 5
3) It compares machine learning and data mining algorithms, selects the appropriate method, and applies it to real data.
4) Big data platforms utilize distributed systems and cloud computing architectures to perform data processing operations.
5) They apply natural language processing techniques to text data and develop basic NLP-based applications.
6) It analyzes different data sources, transforms them into meaningful outputs, and presents them using appropriate visualization tools. 2
7) It creates data-driven decision models using decision support systems.
8) It develops optimization models and produces solutions for industrial and sectoral problems. 3
9) In professional practice, we operate within the framework of ethical principles, data security, and social responsibility.
10) They keep up with current technological developments in their field, actively participate in teamwork, and develop a lifelong learning awareness.

SECTION IV: TEACHING-LEARNING & ASSESMENT-EVALUATION METHODS OF THE COURSE

Teaching & Learning Methods of the Course

(All teaching and learning methods used at the university are managed systematically. Upon proposals of the programme units, they are assessed by the relevant academic boards and, if found appropriate, they are included among the university list. Programmes, then, choose the appropriate methods in line with their programme design from this list. Likewise, appropriate methods to be used for the course units can be chosen among those defined for the programme.)
Teaching and Learning Methods defined at the Programme Level
Teaching and Learning Methods Defined for the Course
Lectures
Demonstration
Laboratory
Project Preparation
Individual and Group Work
Active Participation in Class

Assessment & Evaluation Methods of the Course

(All assessment and evaluation methods used at the university are managed systematically. Upon proposals of the programme units, they are assessed by the relevant academic boards and, if found appropriate, they are included among the university list. Programmes, then, choose the appropriate methods in line with their programme design from this list. Likewise, appropriate methods to be used for the course units can be chosen among those defined for the programme.)
Aassessment and evaluation Methods defined at the Programme Level
Assessment and Evaluation Methods defined for the Course
Midterm
Final Exam
Homework Evaluation
Practice Exam
Active Participation in Class

Contribution of Assesment & Evalution Activities to Final Grade of the Course

Measurement and Evaluation Methods # of practice per semester Level of Contribution
Homework Assignments 1 % 15.00
Midterms 1 % 35.00
Semester Final Exam 1 % 50.00
Total % 100
PERCENTAGE OF SEMESTER WORK % 50
PERCENTAGE OF FINAL WORK % 50
Total % 100

SECTION V: WORKLOAD & ECTS CREDITS ALLOCATED FOR THE COURSE

WORKLOAD OF TEACHING & LEARNING ACTIVITIES
Teaching & Learning Activities # of Activities per semester Duration (hour) Total Workload
Course 14 1 14
Laboratory 14 2 28
Application 10 2 20
Special Course Internship (Work Placement) 0 0 0
Field Work 0 0 0
Study Hours Out of Class 8 1 8
Presentations / Seminar 0 0 0
Project 1 9 9
Homework Assignments 6 4 24
Total Workload of Teaching & Learning Activities - - 103
WORKLOAD OF ASSESMENT & EVALUATION ACTIVITIES
Assesment & Evaluation Activities # of Activities per semester Duration (hour) Total Workload
Quizzes 0 0 0
Midterms 1 20 20
Semester Final Exam 1 30 30
Total Workload of Assesment & Evaluation Activities - - 50
TOTAL WORKLOAD (Teaching & Learning + Assesment & Evaluation Activities) 153
ECTS CREDITS OF THE COURSE (Total Workload/25.5 h) 6