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 Outcomes | No | Yes | ||
1 | An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics | ✔ | |||
2 | An 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 | ✔ | |||
3 | An ability to communicate effectively with a range of audiences | ✔ | |||
4 | An 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 | ✔ | |||
5 | An 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 | ✔ | |||
6 | An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions | ✔ | |||
7 | An ability to acquire and apply new knowledge as needed, using appropriate learning strategies | ✔ |