CENG301 ALGORITHMS AND DATA STRUCTURES

Course Code:5710301
METU Credit (Theoretical-Laboratory hours/week):3 (3.00 - 0.00)
ECTS Credit:5.0
Department:Computer Engineering
Language of Instruction:English
Level of Study:Undergraduate
Course Coordinator:Prof.Dr. YUSUF SAHİLLİOĞLU
Offered Semester:Fall and Spring Semesters.

Course Objectives

At the end of this course, students will be able to:

- design and analyze basic algorithms such as sorting and searching

- learn basic algorithm design principles such as dynamic programming, divide and conquer, and backtracking

- learn and use basic data structures such as stack, queues and trees


Course Content

Linked lists, stacks, queues, recursion, trees, sorting, searching, introduction to graphs, space and time consideration. (Offered to non-CENG students only).


Course Learning Outcomes

At the end of this course the students will be:

- write programs for sorting objects efficiently

- write programs for efficient searching of a particular object in a set

- design algorithms to solve complex problems recursively

- learn and apply the stack data structure

- learn and apply the queue data structure

- learn and apply the binary tree data structure

- analyze time and space complexity of algorithms


Program Outcomes Matrix

Contribution
#Program OutcomesNoYes
1An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics
2An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors
3An ability to communicate effectively with a range of audiences
4An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts
5An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives
6An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions
7An ability to acquire and apply new knowledge as needed, using appropriate learning strategies