Teaching   |   Research   |   Biography   |   Contact Me    |   About   |   Help   |   Home

COP 3530 Data Structures & Algorithms

   
 Professor     Michael Robinson
 Email     michael.robinson@cs.fiu.edu
 Webpage     www.cs.fiu.edu/~mrobi002/teaching
 Tel     305-348-7523
 Office     ECS 212 D
   
 Course Title   Data Structures & Algorithms
 Course Number   COP 3530
 Credits   3
 Class Type   Required
 Prerequisites   COP 3804 or COP 3337 with a minimum grade of C.
 CGS 3559 or equivalent knowledge.
   Those who do not have a C in one of these classes will be dropped from the course
   during the first week of class.
 Co-requisites   None
 Class Policies   FIU Academic Affairs policy on academic dishonesty
   


   Credits
  • 3

   Class Type
  • Core Class - Required

   Pre-requisites
  • COP2250 or COP2210 with a minimum grade of C. Those who have less than a C in one of these classes will be dropped from the course during the first week of class.

   Co-requisites
  • None

   Goals
   Class Type
  • Core Class - Required

   Attendance
  • Attendance will be taken.
  • Not everything I teach in this class is in the book.

   Simple Rules
  • All programs MUST be done in the computers provided by FIU or in your own laptop and presented in class or in the lab when appropiate.

  • All programs MUST be named:
    last name + first Name initial + pgm1, 2, 3 or 4.
    ex: SmithJpgm1.java  SmithJpgm1.c  SmithJpgm1.html 

  • Your email MUST have your name on it.
    FIU, ElHombre, TheItGuy, etc are NOT accepted.

  • On your email's subject write:
    Your class name and email's purpose: OS1 pgm1, WEB2 pgm4

  • Email me your source programs ONLY, attached. DO NOT COPY AND PASTE.

  • Your programs must compile using the terminal mode.

  • Programs with warnings will NOT be accepted. I will not debug your programs.

  • Do not change the names of the files I provide.

  • Programs turned in after the due date are NOT accepted.

  • Any modification to your grades MUST be done no later than ONE week after grades are posted in Moodle.




Tools Required - FREE
  The computers in the ECS labs contain all the necessary programs for his course, you can also
  use your own computers, installing the following FREE software:
  JDK Java Compiler
  Netbeans IDE



Grading
4 Exams    17 points each   =   68 points
4 Programs 8 points each   =   32 points
Total   = 100 points
 
Pass       Fail
A  = 100-95    C- = 69-66
A- =  94-90    D+ = 65-60
B+ =  89-87    D  = 59-56
B  =  86-83    D- = 55-51
B- =  82-80    F  = 50-0
C+ =  79-76 
C  =  75-70 



    Assignments



Schedule for classes held on Tuesdays and Thrusdays
Important Dates
Program 1
  Program 1 Due on Tuesday Sept 17th at beginning of Class.
  Exam 1 Wed September 26th 2013 (covering Project 1 plus chapters 2 and 3)
   
  Program 2 Due Thursday October 24th, 2013 at beginning of Class.
  Exam 2 Thursday October 31st, 2013 (covering Project 2 plus class material)
   
  Program 3 Due Tuesday November 12th, 2013 at beginning of Class.
  Exam 3 Thursday November 21, 2013 (covering Project 3 plus class material)
   
  Program 4 Due Tuesday December 3rd, 2013 at beginning of Class.
   
  Exam 4-Final COP 3530-U01 (86568) 12/12/2013, Thursday 12:00PM - 2:00PM ECS 138 (covering all Projects all exams and all Class material)



Catalog Description:
  Basic concepts of data organization, running time of a program, abstract types,
  data structures including linked lists, n-ary trees, sets and graphs, internal sorting.

Required Text
  Data Structures and Algorithm Analysis in Java, Third Edition
  ISBN 13: 978-0-13-257627-7

Source Code for Data Structures and Algorithm Analysis in Java (Third Edition)


Prerequisites Topics:
  - Primitive data types
  - Basic Assignment control structures
  - Familiarity with methods or functions

Expected Course Outcomes
  1. Be familiar with basic techniques of algorithm analysis
  2. Be familiar with writing recursive algorithms
  3. Master the implementation of linked data structures such as linked lists and binary trees
  4. Be familiar with advanced data structures such as:
      balanced search trees, hash tables, priority queues and the disjoint set union/find data structure
  5. Be familiar with several sub-quadratic sorting algorithms including quicksort, mergesort and
      heapsort
  6. Be familiar with some graph algorithms such as shortest path and minimum spanning tree
  7. Master the standard data structure library of a major programming language (e.g. java.util in
      Java 1.2)
  8. Master analyzing problems and writing program solutions to problems using the above
      techniques

Projected Schedule ( optimistic COULD BE MODIFIED )
    Chapter 2
        Algorithms Analysis
        What they are and what are their time and space complexities.
        Big-Oh notation.
        Computation of complexities of an algorithm.
    Chapter 3
        Lists, Stacks, Queues
    Chapter 4
        Trees
        binary search trees, AVL trees, B-trees.
    Chapter 5
        Hash Tables
    Chapter 6
        Priority Queues (Heaps)
        Binary heaps, heapsort
    Chapter 7
        Sorting Algorithms:
        Insertion sort, Shellsort, mergesort, quicksort, bucket sort.
        Lower bounds for sorting.
    Chapter 8
        Disjoint Set Class

        UNION-FIND algorithm,
    Chapter 9
        Graph Algorithms
        Minimum spanning tree, shortest path algorithms.

©2009-2099 Michael Robinson    ®