Identification Prerequisites Language Compulsory/Elective Required textbooks and course materials Course website Course outline Subject Department Data Structure-3 credits Computer Science Program Term Instructor E-mail: Phone: Classroom/hours Undergraduate Fall, 2015 (+994 12) 4211093 Ext(227) 11 Mehseti str. (Neftchilar campus), ?, Room #401N Elementary English, A programming language ( C or C++ is preferred) English Compulsory Core Textbooks: 1. Introduction to Algorithms, by Cormen, Leiserson, Rivest, and Stein, 3rd Edition, 2009 This course combines traditional face-to-face classes. • Besides introducing the basic language and tools for algorithm analysis, we will also cover several specific problems and general design paradigms. We will focus on the theoretical and mathematical aspects in class and on the homework assignments. But because one gains a deeper understanding of algorithms from actually implementing them, the course will include a substantial programming component. Course objectives This course covers the modern theory of algorithms, focusing on the themes of efficient algorithms and intractable problems. Learning outcomes By the end of the course the students should be able: • To analyze algorithms and to implement some specific algorithms. Teaching methods Lecture Group discussion Experiential exercise Simulation Case analysis Course paper Others Methods Midterm Exam Case studies Class Participation Assignment and quizzes Project Laboratory work Final Exam Others Total Preparation for class Evaluation Policy x x x x Date/deadlines Percentage (%) 30 5 25 40 100 The structure of this course makes your individual study and preparation outside the class extremely important. The lecture material will focus on the major points introduced in the text. Reading the assigned chapters and having some familiarity with them before class will greatly assist your understanding of the lecture. After the lecture, you should study your notes and work relevant problems and cases from the end of the chapter and sample exam questions. Throughout the semester we will also have a large number of review sessions. These review sessions will take place during the regularly scheduled class periods. Withdrawal (pass/fail) This course strictly follows grading policy of the School of Engineering and Applied Science. Thus, a student is normally expected to achieve a mark of at least 60% to pass. In case of failure, he/she will be required to repeat the course the following term or year. Cheating/plagiarism Cheating or other plagiarism during the Quizzes, Mid-term and Final Examinations will lead to paper cancellation. In this case, the student will automatically get zero (0), without any considerations. Professional behavior guidelines The students shall behave in the way to create favorable academic and professional environment during the class hours. Unauthorized discussions and unethical behavior are strictly prohibited. Ethics We ek Students should not arrive in late to class. All cell phones must be turned off and stowed away before entering class. Use of any electronic devices is not allowed in the classroom and violators will be punished accordingly. Tentative Schedule Topics Date/Day (tentative) Textbook/ Assignments 1 • • Recall bubble sort and selection sort To investigate complexity of the algorithms. 2 • • Insertion Sort, Implementing the algorithms via programming 3 • Merge sort: implementing and theoretical aspects Part I, sec. 2.3 4 • • Growth of functions: asymptotic notation Common functions Part I, Ch. 3/ 5 • • Quiz + Divide and conquer Strassen’s algorithm for matrix multiplication 6 • • Quick sort Performance of quick sort and its analysis 7 • • Graphs and Trees Exercise presentation Part I, sec. 2.1, 2.2 Part I, sec. 4.2 / Quiz (5 pt) + assignment #1 (8 pts) Part II, sec. 7.1, 7.2, 7.4 Part VIII appendix, B.4, B.5 / assignment #1 due 8 Midterm Exam 9 • Heapsort Part I, Ch. 6 / 10 • • Stack and Queue Implementing using arrays Part III, sec. 10.1 11 • Linked lists • Implementing pointers and objects 12 Part III, sec 10.2, 10.3 / Quiz (5 pts)+Assignme nt #2 (7 pts) • Hash tables Part III, sec. 11.1, 11.2, 11.3 • Binary search trees Part III, sec. 12.1, 12.2, 12.3/ Assignment #2 due 14 • Implementing BST presentation 15 • Preparation for final exam presentation 13 TBA Final Exam This syllabus is a guide for the course and any modifications to it will be announced in advance.