Data Structures & Algorithm Course Outline.pdf

Embed Size (px)

Citation preview

  • 7/27/2019 Data Structures & Algorithm Course Outline.pdf

    1/2

    Course OutlineCSC211 Data Structures & AlgorithmsInstructor: Ammar AjmalContactOffice: Communication and Signal Processing Lab

    Email:[email protected]

    Weekly Schedule

    Classes: Monday 08:00 AM 09:30 AMWednesday 08:00 AM 09:30 AM

    Lab: Tue, Fri 02:4005:50 PM & 09:35AM 12:45 PM

    Catalog Description

    This course is intended to present the data structures which may be used in computer storage to

    represent the information involved in solving problems (heaps, hash tables, B-trees). Emphasis will be

    placed on concepts of data abstraction and its implementation along with sorting and searching

    techniques.

    Learning Objectives Problem Solving Skills and Software Design Introduce the concepts of Abstract Data Types Be able to use and manipulate several core Data Structures including: Arrays, Linked Lists,

    Stacks, Queues, and Trees

    Study the efficiency of Algorithms Study advanced Structures such as Graphs and Hashing

    Learning Outcomes

    Upon completion of the course through examination and assignments, the students will be equipped

    with the tools of software engineering, abstract data types, searching and sorting, algorithm analysis

    and efficiency concepts. The course will be structured around a comprehensive set of computer

    assignments to enable students to get hands on experience. C++ will be the programming language used

    throughout the course.

    Prerequisites

    Object Oriented Programming along with a strong C/C++ programming skill set. If you do not meet the

    prerequisite requirements for this course, you should see the department manager.

    Course Webpagehttps://www.sites.google.com/site/dsfall2012

    Text BookData Abstraction and Problem Solving with C++ by Frank M. Carrano

    Reference Books

    Algorithms in C++ by Robert Sedgewick Object Oriented Programming in C++ by Robert Lafoare Let Us C++ by Yashavant Kanethkaar Pointers in C by Yashavant Kanetkar

    mailto:[email protected]:[email protected]:[email protected]://www.sites.google.com/site/dsfall2012/http://www.goodreads.com/author/show/15721.Robert_Sedgewickhttp://www.goodreads.com/author/show/15721.Robert_Sedgewickhttp://www.goodreads.com/author/show/15721.Robert_Sedgewickhttps://www.sites.google.com/site/dsfall2012/mailto:[email protected]
  • 7/27/2019 Data Structures & Algorithm Course Outline.pdf

    2/2

    Course Outline (tentative)

    Review of C++ Programming Basics Review of Object Oriented Programming Pointers in C++ and Dynamic Memory Recursion and Abstraction Linked Lists (i.e., array-based and pointer-based)

    o Sorted Listso Unsorted Lists

    Stacks (i.e., array-based and linked-list-based) Queues (i.e., array-based and linked-list-based) Algorithm Analysis Searching Sorting

    oSelection Sort, Bubble Sort, Insertion Sort

    o Radix Sort, Merge Sort, Quick Sort Trees Graphs

    o Searching (i.e., DFS and BFS)o Shortest Paths (i.e., Dijkstras and Bellman-Ford algorithms)

    Advanced Topics (Optional)

    Range Trees kD-Trees Hash Tables Standard Template Library

    Grading

    Assignments and Quizzes (10%): There will be 4 assignments comprising of programming andnon-programming tasks and plenty of un-announced quizzes

    Exams (30% + 40%): There will be 2 Midterm and 1 Final Exam according to the universityschedule

    Lab Work (10%): Lab performance will be marked on regular basis along with the attendance Project(10%): There will be a project at the end of the semester

    Course Policies Lecture slides, assignments, and other information will be posted on the course webpage. Regular attendance is highly recommended. If you miss a class, you are responsible for all

    material covered or assigned in class.

    Assignments which are too similar will receive a zero. No late programming assignments will be accepted.