CNG213 DATA STRUCTURES
Course Code: | 3550213 |
METU Credit (Theoretical-Laboratory hours/week): | 4 (3.00 - 2.00) |
ECTS Credit: | 6.0 |
Department: | Computer Engineering |
Language of Instruction: | English |
Level of Study: | Undergraduate |
Course Coordinator: | Assist.Prof.Dr MERYEM ERBİLEK |
Offered Semester: | Fall or Spring Semesters. |
Course Objectives
Having successfully completed this course, the student will be able to:
1) Apply advance C programming techniques such as pointers, dynamic memory allocation, structures to developing solutions for particular problems;
2) Design and implement abstract data types such as linked list, stack, queue and tree by using C as the programming language using static or dynamic implementations;
3) Analyze, evaluate and choose appropriate abstract data types and algorithms to solve particular problems;
4) Design and implement C programs that apply abstract data types.
Course Content
Classification of data structures, space and time considerations. Linked lists, stacks and queues. Tree structures, binary search trees. Array and pointer based implementations. Recursive applications. Sorting and searching.
Course Learning Outcomes
Satisfies the following student outcomes (SOs) via the following Performance Indicators:
- SO -1 – PI-a1.
- Analyze the computational complexity of algorithms by using discrete mathematics
- SO -2 – PI-c2.
- Evaluate and adapt standard algorithms, e.g. sorting, searching, string processing, graph processing, and parsing, for realistic tasks.
- SO -2 – PI-c3.
- Design and implement algorithms, heuristics and supporting data structures as packaged components.
- SO -7 – PI-i2.
- Explore topics not covered in lectures.
- SO -1-2-6 – PI-k1.
- Use a widely accepted high-level programming language, e.g. Java, C# and C++.
Program Outcomes Matrix
Level of Contribution | |||||
# | Program Outcomes | 0 | 1 | 2 | 3 |
1 | Employ knowledge of mathematics, science and engineering to formulate solution to real life computing problems | ✔ | |||
2 | Design and conduct experiments, as well as analyze, evaluate and interpret data | ✔ | |||
3 | Design systems, components, and/or processes by specifying the requirements and determining the realistic constraints such as ethical and environmental | ✔ | |||
4 | Judge professional and ethical principles and integrate them in the working environment | ✔ | |||
5 | Have the ability to communicate effectively | ✔ | |||
6 | Recognize the need for, and an ability to engage in life-long learning | ✔ |
0: No Contribution 1: Little Contribution 2: Partial Contribution 3: Full Contribution