Eskisehir Technical University Info Package Eskisehir Technical University Info Package
  • Info on the Institution
  • Info on Degree Programmes
  • Info for Students
  • Türkçe
About the Program Educational Objectives Key Learning Outcomes Course Structure Diagram with Credits Field Qualifications Matrix of Course& Program Qualifications Matrix of Program Outcomes&Field Qualifications
  • Faculty of Engineering
  • Dept.of Electrical and Electronics Engineering(Eng
  • Course Structure Diagram with Credits
  • Algorithms and Complexity
  • Learning Outcomes
  • Description
  • Learning Outcomes
  • Course's Contribution to Prog.
  • Learning Outcomes & Program Qualifications
  • ECTS Credit Load

  • Recalls fundamental concepts in data structure
  • Has a background of OOP.
  • Relates the algorithms and its corresponding mathematical complexity measurements.
  • Defines core OOP concepts in Java (class, object, inheritance, encapsulation, polymorphism) and states the differences among them.
  • Defines arrays, linked lists, stacks, queues, trees, hash tables, and graphs and lists their basic properties.
  • Defines the concept of pointers/references, memory addresses, and Java's reference semantics.
  • Explains and interprets concepts
  • EN: Explains how arrays are stored in memory, the indexing logic, and the advantages/disadvantages of fixed size.
  • EN: Explains LIFO (Stack) and FIFO (Queue) principles and justifies which structure to use in real-life scenarios.
  • EN: Explains the structure of a binary search tree (BST), traversal methods (inorder, preorder, postorder), and the imbalance problem.
  • Explains the purpose of a hash function, collision resolution strategies (chaining, open addressing), and the load factor.
  • Compares directed and undirected graphs, and explains adjacency matrix vs. adjacency list representations.
  • Uses knowledge in concrete situations
  • Designs and implements a multi-level class hierarchy in Java using inheritance and interfaces.
  • Implements linked list, stack, and queue data structures from scratch in Java using reference/pointer logic, supporting insert, delete, and search operations.
  • Inserts, deletes, and searches elements in a binary search tree and produces sorted output via inorder traversal.
  • Breaks down and compares components
  • Analyzes and compares the time complexity (Big-O) of insertion, deletion, and access operations for arrays, linked lists, stacks, and queues.
  • Analyzes best/average/worst-case complexities of balanced (AVL, Red-Black) and unbalanced BSTs.
  • Analyzes hash table performance with respect to load factor and collision strategy, explaining the conditions for O(1) amortized access.
  • Designs and produces something new
  • Designs and develops an original Java application that combines appropriate data structures to solve a real-world problem (e.g., task manager, social network analysis, autocomplete).
  • Writes a technical report documenting the time/space complexity of the chosen data structures and validates code correctness with unit tests.

  • Info on the Institution
  • Name and Adress
  • Academic Calendar
  • Academic Authorities
  • General Description
  • List of Programmes Offered
  • General Admission Requirements
  • Recognition of Prior Learning
  • Registration Procedures
  • ECTS Credit Allocation
  • Academic Guidance
  • Info on Degree Programmes
  • PhD / Proficiency in Art
  • Master's Degree
  • Bachelor's Degree
  • Associate Degree
  • Info for Students
  • Cost of living
  • Accommodation
  • Meals
  • Medical Facilities
  • Facilities for Special Needs Students ı
  • Insurance
  • Financial Support for Students
  • Student Affairs Office
  • Info for Students
  • Learning Facilities
  • International Programmes r
  • Practical Information for Mobile Students
  • Language courses
  • Internships
  • Sports and Leisure Facilities
  • Student Associations