To gain the ability of analyzing and designing of algorithms and using existing algorithms.
To gain the ability to write generalized codes and data abstraction in software development.
To gain the ability to separating big problems in to smaller sub parts for solving.
To learn the concept behind the complexity theory and gain the ability to develop appropriate software
To gain multidiciplinary working ability.
Mode of Delivery
Face to face
Prerequisites
Yes(BİL101)
Recommended Optional Programme Components
It is recommended for the student to take BİL101 and BİL105 courses before.
Course Description
Following topics are covered in this course:
Analyzing and designing of algorithms and using existing algorithms.
To gain the ability to write generalized codes and data abstraction in software development
Separating big problems in to smaller sub parts for solving.
To learn the concept behind the complexity theory and gain the ability to develop appropriate software
Course Contents
WEEK
TOPICS
1st Week
Introduction: Review, two dimensional arrays.
2nd Week
Class, Data types, Abstract Data Types (ADT)
3rd Week
Pointers. First laboratory work
4th Week
Strings, transformations, functions.
5th Week
Parameter Transition methods, Macros and command line arguments
6th Week
Structs and Recursive functions
7th Week
Bitwise operations. Second laboratory work
8th Week
MIDTERM
9th Week
List class, list member functions and examples, implementation of iterators and usage with lists. Examples. Third laboratory work
10th Week
Stack data structure. Stack class, member functions. Using and working with stacks. Examples
11th Week
Introduction to Queues. Queue class and functions. Working and using queues. Examples. Fourth laboratory work.
12th Week
Priority queues. Working with priority queues. Member functions. Radix sort algorithm. Examples
13th Week
Dynamic data structures. Introduction to linked lists. Linked list applications. Doubly linked lists. Circular linked lists. Examples. Fifth laboratory work
14th Week
Trees. Binary search trees. Designing and developing trees. Tree traversal. Searching, traversing, adding deleting in tree structure
Recommended or Required Reading
Data Structures with C++ Using STL, 2/E?,William H. Ford, William R. Topp, Prentice Hall
Planned Learning Activities and Teaching Methods
Lecture
Presentation
Questions/Answers
Assessment Methods and Criteria
Quantity
Percentage (%)
Mid-term
1
30
Quiz
4
10
Practice
6
20
Total(%)
60
Contribution of In-term Studies to Overall Grade(%)
60
Contribution of Final Examination to Overall Grade(%)