Undergraduate
Faculty of Engineering and Architecture
Computer Engineering
Anlık RSS Bilgilendirmesi İçin Tıklayınız.Düzenli bilgilendirme E-Postaları almak için listemize kaydolabilirsiniz.

Computer Engineering Main Page / Program Curriculum / Data Structures and Algorithms I

Data Structures and Algorithms I

Course CodeSemester Course Name LE/RC/LA Course Type Language of Instruction ECTS
CSE4014 4 Data Structures and Algorithms I 2/0/2 CC English 8
Course Goals
This course will provide students the fundamentals of the data structures. Beside the theoretical knowledge on the basic data structures, the students will gain practical experience by designing/analyzing/implementing them and solving some computational problems through the use of them. Programming will be based on C++.
Prerequisite(s) CSE 2002 Programming II
Corequisite(s)
Special Requisite(s) Knowledge & experience in an OOP language. Knowledge of fundamental OO concepts such as class, instance, interface, polymorphism, encapsulation, and inheritance
Instructor(s) Assis. Professor Levent CUHACI
Course Assistant(s)
Schedule Theory: (1,2,3 Sessions : Friday 14:00 – 15:30) (4,5,6 Sessions : Friday 16:00 - 17:30) Laboratory: #1 : Thursday 14:00 - 15:45 #2 : Thursday 16:00 - 17:45 #3 : Friday 16:00 - 17:45 #4 : Friday 11:00 - 12:45 #5 : Friday 14:00 - 15:45 #6 : Friday 09:00 - 10:45
Office Hour(s) Assis. Prof. Dr. Levent CUHACI : Wednesday, 11:00-12:00
Teaching Methods and Techniques 28 hours of lecture including exams.

28 hours of lab including quizzes, demonstrations, and discussion.
Principle Sources  D. S. Malik (2013). C++ Programming: Program Design Including Data Structures, International Edition, 6th Edition (International Edition), Cengage Learning. 

 
Other Sources Adam DROZDEK (2013). Data Structures and Algorithms in C++,4th edition (International Edition), Cengage Learning.

Mark Allen Weiss, Data Structures and Algorithm Analysis in C++, Fourth Edition. ISBN-13: 9780132847377 
Course Schedules
Week Contents Learning Methods
1. Week Complexity Analysis lecture and lab
2. Week Linked Lists lecture and lab
3. Week Doubly Circular Linked List lecture and lab
4. Week Stack & Queue lecture and lab
5. Week Searching and Sorting Algorithms I lecture and lab
6. Week Searching and Sorting Algorithms II lecture and lab
7. Week Binary Tree lecture and lab
8. Week Feast of Ramadan -
9. Week Midterm classroom exam
10. Week STL Library lecture and lab
11. Week Priority Queue (Heap) lecture and lab
12. Week Hashing lecture and lab
13. Week Graphs I (Graph Representation & Traversals) lecture and lab
14. Week Graphs II (Shortest Path) & Spanning Trees lecture and lab
15. Week
16. Week
17. Week
Assessments
Evaluation tools Quantity Weight(%)
Midterm(s) 1 35
Lab Exam 1 15
Final Exam 1 50


Program Outcomes
PO-1Adequate knowledge in mathematics, science and engineering subjects pertaining to the relevant discipline; ability to use theoretical and applied information in these areas to model and solve engineering problems.
PO-2Ability to identify, formulate, and solve complex engineering problems; ability to select and apply proper analysis and modelling methods for this purpose.
PO-3Ability to design a complex system, process, device or product under realistic constraints and conditions, in such a way so as to meet the desired result; ability to apply modern design methods for this purpose. (Realistic constraints and conditions may include factors such as economic and environmental issues, sustainability, manufacturability, ethics, health, safety issues, and social and political issues according to the nature of the design.)
PO-4Ability to devise, select, and use modern techniques and tools needed for engineering practice; ability to employ information technologies effectively.
PO-5Ability to design and conduct experiments, gather data, analyse and interpret results for investigating engineering problems.
PO-6Ability to work efficiently in intra-disciplinary and multi-disciplinary teams; ability to work individually.
PO-7Ability to communicate effectively, both orally and in writing; knowledge of a minimum of one foreign language.
PO-8Recognition of the need for lifelong learning; ability to access information, to follow developments in science and technology, and to continue to educate him/herself.
PO-9Awareness of professional and ethical responsibility.
PO-10Information about business life practices such as project management, risk management, and change management; awareness of entrepreneurship, innovation, and sustainable development.
PO-11Knowledge about contemporary issues and the global and societal effects of engineering practices on health, environment, and safety; awareness of the legal consequences of engineering solutions.
Learning Outcomes
LO-1I can use priority queue in my programs, and explain in which way it differs from the queue.
LO-2I can explain concepts of asymptotic and computational compexity.
LO-3I can design a program using linked lists.
LO-4I can explain the difference between stack and queue data structures.
LO-5Considering the big-oh notation of sorting algorithms, I can explain the most efficient one.
LO-6I can explain the traversal methods of binary trees.
LO-7I can use graph shortest path algorithms in my programs.
LO-8I can use STL library in my programs.
LO-9I can use Hashing techniques in my programs.
Course Assessment Matrix:
Program Outcomes - Learning Outcomes Matrix
 PO 1PO 2PO 3PO 4PO 5PO 6PO 7PO 8PO 9PO 10PO 11
LO 1
LO 2
LO 3
LO 4
LO 5
LO 6
LO 7
LO 8
LO 9