This is an introductory course on data structures and algorithms meant for students of electrical engineering, especially those interested in computer aided design and design automation. The course covers basic algorithmic complexity theory; data structures and algorithms for list-like structures, graphs, matrices; Algorithm Design Paradigms - greedy, divide and conquer, dynamic programming, backtracking.