Data Structures (CS 300)

2021 Fall
Faculty of Engineering and Natural Sciences
Computer Sci.& Eng.(CS)
3
6.00 / 6.00 ECTS (for students admitted in the 2013-14 Academic Year or following years)
Cemal Yılmaz cyilmaz@sabanciuniv.edu,
Click here to view.
English
Undergraduate
CS204
Formal lecture,Recitation
Interactive,Other
Click here to view.

CONTENT

This course covers some of the fundamental data structures as well as the algorithms operating on them. Topics included are: Introduction to theoretical aspects of computing: modeling algorithms and their run times, computational complexity. Linear data structures (lists, stacks, queues) trees (tries, binary search trees, AVL trees, treetraversals), hashing and hash tables, graphs and their representations, graph algorithms (depth first and breadth first search, single source shortest path algorithms), sorting algorithmic paradigms (divide and conquer, greedy, dynamic programming).

OBJECTIVE

To introduce fundamental techniques of algorithm analysis
To introduce common data structures, their properties and implementation
To apply C++ programming skills to implement solutions using common data structures to practical problems

LEARNING OUTCOME

describe common data structures and associated algorithms
contrast the advantages and disadvantages of these data structures
apply these data structures to develop algorithmic solutions to practical problems
design new data structures and associated algorithms
analyze the computational complexity of simple algorithms and programs

ASSESSMENT METHODS and CRITERIA

  Percentage (%)
Final 30
Midterm 25
Assignment 35
Other 10

RECOMENDED or REQUIRED READINGS

Textbook

Mark Allen Weiss, Data Structures and Algorithm Analysis in C++ 2nd/3rd Edition, Addison Wesley