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 |