BBZ202 Algorithm Design and Analysis

6 ECTS - 3-0 Duration (T+A)- 4. Semester- 3 National Credit

Information

Code BBZ202
Name Algorithm Design and Analysis
Term 2024-2025 Academic Year
Semester 4. Semester
Duration (T+A) 3-0 (T-A) (17 Week)
ECTS 6 ECTS
National Credit 3 National Credit
Teaching Language Türkçe
Level Belirsiz
Type Normal
Mode of study Yüz Yüze Öğretim
Catalog Information Coordinator Öğr. Gör.Dr. HAVVA ESİN ÜNAL
Course Instructor
1


Course Goal / Objective

The aim of this course is to learn the basic concepts of programming and object-oriented programming techniques using the Java language.

Course Content

In this course, object-oriented programming, basic concepts, data types, arrays, strings, polymorphism and inheritance are covered using the JAVA programming language..

Course Precondition

None

Resources

Daniel Liang, Introduction to Java Programming, 10th edition, Pearson, 2014

Notes

Y. Daniel Liang, Introduction to Java Programming and Data Structures, Comprehensive Version 11th Edition, Pearson, 2017


Course Learning Outcomes

Order Course Learning Outcomes
LO01 Defines beginner level codes using the Java programming language.
LO02 It identifies errors in code written in the Java programming language.
LO03 It develops code written in the Java programming language.
LO04 Understands the syntax of the Java programming language.
LO05 Uses iteration structures (for, while, do-while) in the Java program.
LO06 Uses array and array list structures in Java language
LO07 Develops Java programs to solve a specific software problem.
LO08 Defines arithmetic, relational, and logical expressions, type conversions, assignment expressions, select and iterate expressions, and conditional branches.


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. 4
PLO02 Bilgi - Kuramsal, Olgusal Learn essential computer topics such as software development, programming languages, and database management 4
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. 2
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. 2
PLO10 Yetkinlikler - Alana Özgü Yetkinlik Foster a mindset open to technological innovations.
PLO11 Yetkinlikler - Öğrenme Yetkinliği Encourage the capacity for continuous learning and self-improvement. 2
PLO12 Yetkinlikler - İletişim ve Sosyal Yetkinlik Enhance the ability to solve complex problems 2


Week Plan

Week Topic Preparation Methods
1 Basic Concepts Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Soru-Cevap, Tartışma
2 Elementary Programming (Identifiers, Variables, Expressions, Operators...) Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Soru-Cevap, Alıştırma ve Uygulama
3 Decision Structures (If, If-Else, Switch, Logical Operators...) Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
4 Mathematical Functions, Characters and Strings Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
5 Loops (While, Do-While, For...) Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
6 Methods Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
7 Midterm Overview Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
8 Mid-Term Exam Preparation to exam Ölçme Yöntemleri:
Yazılı Sınav
9 Arrays (Single and Multidimensional) Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
10 Objects and Classes Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
11 Object-Oriented Thinking-I Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
12 Object-Oriented Thinking-II Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
13 Inheritance Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
14 Polymorphism Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
15 Final Exam Overview Reading the related chapter in lecture note Öğretim Yöntemleri:
Anlatım, Alıştırma ve Uygulama
16 Term Exams Preparation to exam Ölçme Yöntemleri:
Yazılı Sınav
17 Term Exams Preparation to 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 3 42
Out of Class Study (Preliminary Work, Practice) 14 5 70
Assesment Related Works
Homeworks, Projects, Others 0 0 0
Mid-term Exams (Written, Oral, etc.) 1 14 14
Final Exam 1 24 24
Total Workload (Hour) 150
Total Workload / 25 (h) 6,00
ECTS 6 ECTS

Update Time: 20.09.2024 11:22