CSE382 - Algorithms and Data Structures

Revised: 7/25/2011
Home  Courses  SWTrack  Code  Handouts  StudCult  CoreTech  Books  Articles  Math  Research  TechnicalLinks  Student Projects  CASE Projects  Project Topics  SWDev  WebDev  News  OtherLinks  SiteDesign  Graduates  AllPages  Office Hours  Seminars  Notices  Summer Projects  Technical Links 

CSE382-AADS  CSE681-SWMAA  CSE686-IP  CSE687-OOD  CSE775-DO  CSE776-DP  CSE778-AWP  CSE784-SWS 

Makeup Exam

  1. Here is a link to the Makeup Examination. You only need to do this if I suggested to you to do so at the end of your oral examination. Please upload your answers to the college server no later than 11:59pm December 24th, 2008. You are required to include a few diagrams. If you draw them by hand, then please scan our exam and upload the resulting file. Alternately you may use Visio to provide diagrams embedded in the Word file you use to submit your answers.

Resources: Lectures Code Syllabus projects File Download ScreenShot Project Upload Instructions

Course Scope:

This course is concerned with modeling and building common data structures and describing, analyzing, and building algorithms that use these data structures. To do this we introduce: The use of C++, the standard C++ library, C#, and the .Net Framework Class Libraries are required. Fairly simple parts of these facilities will be needed for each of the labs and projects, and will be discussed in class. The Teaching Assistant will hold survival help sessions and office hours in the computer.

Required Texts, Notes, and Projects:

  1. Algorithms in C++, Third Edition, Robert Sedgewick, Addison-Wesley, 1998, ISBN 0-201-35088-2
  2. Class Notes, available on www.ecs.syr.edu/faculty/fawcett/handouts/cse382
  3. Project Statements
  4. Lab statements will be handed out in each class and the labs completed before the end of the class.

Supplementary Text and links

  1. C++ Primer Plus, Fifth Edition, Stephen Prata, SAMS, 2005, ISBN 0-672-32697-3
  2. C# Tutorial - C# Station
    C# Tutorial - Univ Linz
    C# Tutorial - functionx
    C++ Tutorial - cplusplus
    C++ Tutorial - cprogramming
    C++ Tutorial - java2s

Prerequisites:

Students are expected to have a good working knowledge of the C Programming Language. No prior knowledge of C# or C++ is required.

Syllabus - Fall 2008:

LectureTopicsRead before classProject
Lecture #1
Fri, Aug 29
Introduction, C++, C#, proofs, recursion, complexity, arrays, C++ pointers, C# references, HandoutsClass Notes,
Class code,
Class Text Chap 2
Projects
Lecture #2
Mon 9/1,
Wed 9/3
No class on Monday due to Labor Day holiday,
C++, C# Libraries, Project structure
Class NotesPr1
Lecture #3
Mon 9/8,
Wed 9/10
Abstract Data Types: lists, queues, stacks, trees, graphsClass Text Chap 3
Class Notes
prototype code
Pr1
Lecture #4
Mon 9/15,
Wed 9/17
Implementing Abstract Data TypesClass Text Chap 3
Class Notes
prototype code
Pr1
Lecture #5
Mon 9/22,
Wed 9/24
Binary Trees, 234 TreesClass Notes,
Text chap 13
prototype code
Pr1
Lecture #5
Mon 9/29,
Wed 10/1
Balanced Trees: Red-BlackClass Notes,
Text chap 13
prototype code
Pr1
Lecture #6
Mon 10/6,
Wed 10/8
Sorting and Searching
Priority Heaps
Text chaps 6 & 7
Class Notes
prototype code
Pr1 due
Lecture #7
Mon 10/13,
Wed 10/15
C++ Standard Template Library, C# Collection NamespacesClass Notes
prototype code
Pr2
Lecture #8
Mon 10/20,
Wed 10/22
Hashtables
Associative Containers: Sets and Maps
Class Notes
prototype code
Pr2
Lecture #9
Mon 10/27,
Wed 10/29
Graph Algorithms
Priority Heaps
Class notes,
Text Chap 14
Pr2
Lecture #10
Mon 11/3,
Wed 11/5
Math structures: Linear Vector Spaces, Linear Algebra, vectors, matricesClass notesPr2 due
Lecture #11
Mon 11/10,
Wed 11/12
Optimization: Dynamic Programming, Steepest Descent, Newton-Raphson, Conjugate-gradientclass notesPr3
Lecture #12
Mon 11/17,
Wed 11/19
Hard ProblemsClass notes, papersPr3
Mon 11/24,
Wed 11/26
Preparation for Oral Examinations
Thanksgiving Holidays - no class
Pr3
Lecture #14
Mon 12/1,
Wed 12/3
Individual Oral ExaminationsAll notes, class text, projectsPr3 due
Class meets twice per week for an hour and a half.