CENG310 ALGORITHMS AND DATA STRUCTURES WITH PYTHON

Course Code:5710310
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. MEHMET VOLKAN ATALAY, Assoc.Prof.Dr. EMRE AKBAŞ
Offered Semester:Fall and Spring Semesters.

Course Objectives

What you should expect as outcomes of taking this course:

  • You will acquire intermediate level of knowledge about the most common abstractions for data collections.
  • You will develop skills to develop and use data structures more efficiently.
  • You will understand sorting and searching algorithms that are essential in computer sciences, and reflect on their performances from theoretical point of view.
  • You will be able to utilize data structures and algorithms to solve more complex problems.

Course Content

Introduction to Algorithms, Space and Time Considerations, Python built-in types, Linked lists, Stacks, Queues, Recursion. Trees, Sorting, Searching, Implementations in Python, Introduction to graphs. (Offered to non-CENG students only)


Course Learning Outcomes


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