GAZI UNIVERSITY INFORMATION PACKAGE - 2019 ACADEMIC YEAR

COURSE DESCRIPTION
DATA STRUCTURES AND ALGORITHMS/MAT2028
Course Title: DATA STRUCTURES AND ALGORITHMS
Credits 3 ECTS 3
Course Semester 4 Type of The Course Elective
COURSE INFORMATION
 -- (CATALOG CONTENT)
 -- (TEXTBOOK)
 -- (SUPPLEMENTARY TEXTBOOK)
 -- (PREREQUISITES AND CO-REQUISITES)
 -- LANGUAGE OF INSTRUCTION
  Turkish
 -- COURSE OBJECTIVES
 -- COURSE LEARNING OUTCOMES
To teach basic data structures and algorithms that can be used to design software solutions to problems and to recognize data structures and algorithm

 -- MODE OF DELIVERY
  The mode of delivery of this course is Face to face
 --WEEKLY SCHEDULE
1. Week  Introduction to Software Design: Software life cycle; Complexity management; Data abstraction; Conceptual data structure; Program errors; Test strateg
2. Week  Introduction to Algorithm Analysis: Calculation models; Efficiency of algorithms; Asymptotic representation; Recursive algorithms; Experimental analys
3. Week  Introduction to Algorithm Analysis: cont.
4. Week  Sequential Patterns: Vector Conceptual Data Structure; Vector realizations.
5. Week  Consecutive Containers: Linked list, List conceptual data structure; List and iterator classes; Realization; Standard Template Library.
6. Week  Stack: Stack class and implementations; Applications: palindrome finding; Control of correct usage of brackets, Calculation of arithmetic expressions.
7. Week  Queue: Queue class and its implementations; Applications: Simulation of physical systems: waiting queues.
8. Week  midterm
9. Week  Recursion: recursive thinking; manual operation of recursive functions; Recursive algorithm design; Applications; Recursion and loop comparison
10. Week  Trees: General structure; Tree navigation methods; Binary trees; Binary search trees; BST class and its implementation.
11. Week  Trees: Stacks; Stack realizations; Huffman compression method.
12. Week  Map and Set Classes: Hash coding; Open addressing; Conveyor; Realizations.
13. Week  Graphs: Definitions; Graph Class and its implementations; Graph navigation; Topological sorting; Graphical problems: Short Path Problems; Minimum cove
14. Week  Balanced Trees: Balanced binary search trees: AVL tree, Red-black tree; 2-3 trees; 2-3-4 tree; B-tree.
15. Week  Sorting: Sorting with STL; Elective sorting; Bubble ranking; Additive sorting; Shell ranking; Combinational sorting; Stack sorting; fast
16. Week  Final Exam
 -- TEACHING and LEARNING METHODS
 -- ASSESSMENT CRITERIA
 
Quantity
Total Weighting (%)
 Midterm Exams
1
25
 Assignment
1
5
 Application
1
5
 Projects
1
5
 Practice
0
0
 Quiz
0
0
 Percent of In-term Studies  
40
 Percentage of Final Exam to Total Score  
60
 -- WORKLOAD
 Activity  Total Number of Weeks  Duration (weekly hour)  Total Period Work Load
 Weekly Theoretical Course Hours
14
3
42
 Weekly Tutorial Hours
0
 Reading Tasks
0
0
0
 Searching in Internet and Library
4
2
8
 Material Design and Implementation
0
0
0
 Report Preparing
1
6
6
 Preparing a Presentation
1
4
4
 Presentation
1
2
2
 Midterm Exam and Preperation for Midterm Exam
1
6
6
 Final Exam and Preperation for Final Exam
1
7
7
 Other (should be emphasized)
0
0
0
 TOTAL WORKLOAD: 
75
 TOTAL WORKLOAD / 25: 
3
 Course Credit (ECTS): 
3
 -- COURSE'S CONTRIBUTION TO PROGRAM
NO
PROGRAM LEARNING OUTCOMES
1
2
3
4
5
1To train individuals who are contemporary, entrepreneur and have unique and aesthetic values, self-confidence and capable of independent decision-making.X
2To give good education in the program fields as algebra, geometry, applied mathematics, topology and analysis in order to be equipped with enough mathematics.X
3To teach mathematical thinking methods in order to improve the ability to express mathematics both orally and in writing.X
4To train individuals who are knowledgeable about the history of mathematics and the production of scientific knowledge and can follow developments in these disciplines.X
5To provide necessary equipments to take positions such areas as banking, finance, econometrics, and actuarial.X
6To acquire ability to solve problems encountered in real life by means of mathematical modeling using mathematical methods.X
7To provide ability to do necessary resource researches in the areas of mathematics and to use accessed information.X
8To give appropriate training in such areas as in computer programming and creating algorithms in order to take parts in developing IT sector.X
9To gain substructure to be able to study at graduate level.X
10To enable the student to gain the ability of relating mathematics with the other sciences.X
 -- NAME OF LECTURER(S)
   (Prof.Dr. M. Kemal ÖZTÜRK)
 -- WEB SITE(S) OF LECTURER(S)
   (www.gazi.edu.tr/~ozturkm)
 -- EMAIL(S) OF LECTURER(S)
   (ozturkm@gazi.edu.tr)