Data Structures Syllabus
                                      
                                 COMSC 3613

                                      
   ______________________________________________________________________
                                      
   Instructor:
          Dr. Bill McDaniel
          
   Office:
          MCS 127
          
   Phone:
          974-5388
          
   E-mail:
          mcdaniel@www.comsc.uco.edu
          
   Office Hours:
                                      
     * 10:00 - 10:50 AM MWF
     * 11:00 - noon TR
     * by appointment
       
   Prerequisites:
          COMSC 2613 (Programming II), COMSC 2813 (Assembly Language),
          MATH 2165 (Discrete Math), STAT 3103
          
   Warning:

    This is a programming course.   I presume you have learned C in 
    Programming I, and perfected your techniques in Prog II.  In this course 
    you are to get a LOT of practice writing fairly complex C programs, and 
    at the same time, learn some of the advanced techniques available to 
    programmers.
          
   Texts:
          Data Structures and Algorithm Analysis in C 2nd edition by Mark
          Allen Weiss
          
   Topics:
          
         1. Review of Multiple Module Compilation and ADT's
         2. Mathematical Induction
         3. Algorithm Analysis
         4. Sparse Arrays
         5. Recursion
         6. Graphs
         7. Trees
         8. Sorting and Searching
         9. Hash Tables
            
   Grading:

     Your grade will be based on the following:

        2 Tests (midtern and final) 100 points each 
        Homework - from 100 to 150 points.
        1 or 2 quizzes (maybe).

     The grades I give students is based on a required level of work in a 
     given time frame.  If you don't (or can't) do the work in the given
     time frame, then you won't get the grade. 

     Your grades are posted in the Internet.  Click on my page then
     scroll to the bottom.  A user name and password will be required. 
     You can change your password to any 11 character sequence. (See me.)
     If you do not wish your grades to be available on the web, please 
     notify me.

     The assignments are due at the beginning of the class period of
     the due date.  After that I will count off 50%.  All assignments
     must be turned in no later than a week after the due date and must 
     satisfy the requirements of the assignment.

     Duplicate programs will NOT be accepted.  
          

          
   Exams:

     Exams will primarily consist of problems, and may include
     multiple choice and short answer questions. Exams should be
     taken with #2 pencils, not pens.  Unless it is explicitly announced
     otherwise, calculators are not allowed on tests. If they are
     allowed, calculators may not be shared.  

     Be sure to bring a scantron sheet for the exam.  

     In general, makeup exams are not given.  If you have an emergency,
     a missing grade will be replaced by the grade you make on the final. 
     However, you are strongly encouraged to contact the instructor before 
     the exam if you must miss it. 
          
     Academic dishonesty will not be tolerated. Any instance of such
     will result in a grade of zero that will not be replaced.
          
   Homework:

     Homework consists of 8 or more programming assignments. You may
     use either the AIX (a UNIX like system) or your own PC for the 
     programs.  I require a list and a sample run.  I may require that
     you turn in a MS-DOS readable (virus-free) disk with your
     complete source code. 
          
     You are assumed to have mastered the topics of the prerequisite
     classes, especially Programming II.  Every semester, some student
     tries to take Data Structures without having passed Programming II.
     Virtually, all of them do poorly.
          
     Homework is a very important part of this class. Each program
     has a due date. To be considered on time, the program must be
     turned in at the beginning of class on the due date.  Late 
     assignments cannot receive more that half credit and will only 
     be accepted up to one week after the due date or the last day of 
     classes whichever comes first.
          
     Programs must reflect your knowledge and work, not others. You may ask 
     others questions, but the code should be your own. All help you receive 
     on an assignment must be documented in the comments of your program. 
     This means any help from any instructor, tutor, other students, etc. To 
     recieve credit for an assignment you may be asked to explain (to the 
     instructor) how your program works. Also, you must not misrepresent the 
     output of your program. Violators and abetters of any of these policies 
     will recieve a grade of zero on the assignment. The instructor shall
     be the sole judge in these matters. Two blatant offenses will result in 
     a grade of F for the class.
          
     Program grades reflect both the performance of the program and
     the programming style of the program. Examples of POOR programming
     style include:
          
          + inappropriate global variables
          + inadequate use of functions
          + non-meaningful variable names
          + inadequate use of structures
          + poor comments
          + inappropriate use of goto
            
          


  Procedures for Assisting Students with Disabilities:

    Current interpretations of Sections 503 and 504 of the Rehabilitation Act of 1973 and the Americans with Disabilities Act of 1990 compel the 
    University to make reasonable accommodations in providing students (with disabilities) equal access to University resources.

    Students with disabilities who require accommodations may contact the campus Equity Office (Thatcher Hall, Room 220, 974-2549) to
    request assistance.  The student will be given the opportunity to identify specific academic needs.  Students will be asked to furnish documentation
    regarding their disability and request for accommodation.

    The Equity Officer can assist the student in removing architectural or attitudinal barriers on campus.