|
COURSE
SYLLABUS |
COP 4531: Analysis of Data Structures and Algorithms (this pre-requisite will not be waived). You are also expected to have the mathematical maturity to write formal proofs.
MW 12:30 pm - 1:45 pm, LOV 103.
Instructor: Ashok Srinivasan Office hours: M R 4-5pm. I am also usually available in my office, and you can feel free to meet me in the afternoons. Alternatively, you may schedule an appointment, either by email or by phone. Office: 169, Love Building Phone: 644-0559 Email: asriniva@cs.fsu.edu Course web site: Access through blackboard http://campus.fsu.edu.
In your undergraduate Discrete Mathematics course(s), you learned mathematical techniques that subsequently enabled you to perform simple analysis of algorithms. In this course, you will learn more sophisticated mathematical techniques, which will enable you to perform more complex analysis of algorithms. You may, therefore, think of this as a graduate level discrete mathematics course, targeted at Computer Science applications.Apart from learning certain mathematical techniques, you will also learn to write formal proofs and derive results. Both of these skills should help you in theoretical Computer Science courses, and in your research.
In this course, you will learn more sophisticated mathematical techniques than in your undergraduate level discrete mathematics course. This will enable you to analyze more complex algorithms than those you studied in your undergraduate algorithms course.To be more specific, we will discuss the following topics. (i) Recurrences, where the solution to a problem is formulated in terms of solutions to its subproblems. (ii) Sums, which are commonly encountered in algorithm analysis, since we can often formulate the time complexity of an algorithm as the sum of the time taken for a sequence of steps. (iii) Generating functions, where we deal with a sequence of numbers by manipulating functions that generate a corresponding infinite series. (iv) Discrete probability, which is useful for average-case analysis of algorithms.
This course does not require any programming. It does involve deep thinking and rigorous theoretical analysis. Therefore, much mathematical maturity is required of you. (However, specific mathematical skills, beyond those learned in undergraduate Discrete Mathematics courses, are not required.) For example, you should be able to understand and write formal proofs. This course will also require you to be creative; you will need to solve problems that differ from the ones discussed in class, though the solution strategies will often be related to those discussed.
By the end of the semester, you should develop the following skills: (i) solve problems that require a direct application of the techniques discussed in class or in reading assignments, (ii) given a practical application or algorithm, identify appropriate techniques that can be used to solve the problem or analyze the algorithm, and then apply those techniques, and (iii) understand the basic idea behind the techniques, so that you can modify them when required, and prove the correctness of your modifications. We will provide specific objectives for each lecture, through links from the online course calender.
Class participation and review questions 20 Two Homework assignments 2 x 15 = 30 Midterm 20 Final Exam 30
Course average Letter grade 90 - 100 A 85 - 90 A- 80-85 B+ 75-80 B 70-75 B- 0-70 F to C+ Your grade will be based on the scores obtained in the above categories, with weights as given above. You should also score at least 70% in the weighted average of the midterm and finals in order to get a grade of B or higher. Note that the thresholds for grades in this course are a little lower than they normally are in other courses. Please don't think this makes it easier to obtain a high grade. The thresholds are lower because the exams are more difficult!
- Examples
- If you obtain 83% total and 93% on the exams, your grade will be B+.
- If you obtain 83% total and 65% on the exams, you will not get a B+. Your grade will be B-, because your exam grade is below 70%.
- Class participation and review questions
- Class participation consists of answering questions correctly in class, and other positive contributions, discussed in greater detail at www.cs.fsu.edu/~asriniva/courses/am06/classparticipation.html.
- Assignments
- Assignments will all be theoretical; there will be no programming involved. Hardcopies should be turned in to me in my office. If I am not in my office, you can slip it under my door. Assignments are due 5 pm on the due date.
- Midterm and final exams
- Both exams will be closed book. You will be tested on knowledge, understanding, and application of material discussed in class. You will also have some questions testing your ability to creatively solve new problems, using techniques discussed in class. The final exam will be comprehensive.
- Deadlines and instructions
- Following the same professional guidelines that you will encounter at work, there are strict deadlines, and instructions that must be followed. Please read instructions carefully, and schedule your activities so that you submit assignments well in time. You should check your garnet email account and the class web page regularly, and note other announcements, on-line and in class.
- Participation
- I will ask you questions in class: (i) review questions on the previous lecture, and (ii) questions on the material currently being discussed, in order for me to obtain feedback on how well you understand the material. You should be prepared to answer these questions, and should also participate by asking questions, suggesting ideas, and performing in-class assignments that I give. Of course, you cannot participate in class unless you attend it!
- Reading assignments
- You will have a reading assignment for each lecture, which you should read. New material often builds on the old ones. So, if you have trouble with some material, please get help from me before the next class. You should also peruse the material for the next lecture, and be prepared to answer questions on it, which I will provide in advance. I expect that you will need to spend between one and two hours studying, for each lecture. The assignments and exams will consume additional time. The following learning components are important, and you may want to verify if you perform satisfactorily on these, after studying the material.
- Knowledge: Do you understand the terminology used? Can you explain the techniques discussed in class?
- Understanding/Application: Given a problem or an algorithm, can you identify a suitable technique, or a combination of techniques, and use them to solve the problem, or analyze the algorithm?
- Creativity: If some aspect of a problem were modified, then can you modify the techniques learned in order to analyze the new problem? In order to accomplish this, you will need to understand the underlying problem structure that made the original technique work, why the new problem features makes the previous technique not directly applicable, and how that limitation can be overcome.
- Assignments
- You will have two assignments in this course, and you will have around ten days to work on each one.
Attendance Policy:
The university requires attendance in all classes, and it is also important to your learning. The attendance record may be provided to deans who request it. If your grade is just a little below the cutoff for a higher grade, your attendance will be one of the factors that we consider, in deciding whether to "bump" you up to the higher grade. Missing three or fewer lectures will be considered good attendance. In rare cases, such as medical needs or jury duty, absences may be excused with appropriate documentation. You should let me know in advance, when possible, and submit the documentation I seek. You should make up for any materials missed due to absences.Missed exam Policy:
A missed exam will be recorded as a grade of zero. We will follow the university rules regarding missed final exams (see http://registrar.fsu.edu/dir_class/spring/exam_schedule.htm), for all the exams, including the final exam.Late Assignment Policy:
In order to enable us to provide timely solutions to assignments, we have the following policy regarding submission of late assignments.
- An assignment that is turned in no more than 48 hours late will be scored with a 20% penalty.
- An assignment that is turned in more than 48 hours late will receive the score of zero, though we will review it and comment on it.
Grade of 'I' Policy:
The grade of 'I' will be assigned only under the following exceptional circumstances:
- The final exam is missed with an accepted excuse for the absence. In this case, the final exam must be made up during the first two weeks of the following semester.
Professional ethics:
You will gain confidence in your ability only when you do the work independently. On the other hand, one does learn a lot through discussions with ones peers. In order to balance these two goals, I give below a list of things that you may, and may not, do.Things you may not do: You should not copy from the assignments of other students. This includes directly copying or making modifications to others' assignments. If you happen to find a solution to an assignment problem from some source, you may not copy it. Furthermore, you should take steps to ensure that others cannot copy your assignment.
Things you may do: You may ask others about (i) terminology that you do not understand, (ii) clarifications on what is required of you in an assignment problem (though you may be much better of asking me), and (iii) how to submit your assignment. After the assignment has been graded, you are encouraged to discuss each others' solutions.
Honor Code: Students are expected to uphold the academic honor code published in "The Florida State University Bulletin" and the "Student Handbook". Please read the provisions of the Academic Honor Code: http://www.fsu.edu/Books/Student-Handbook/codes/honor.html. Also read the section on "Honor code" below.
Plagiarism:
- Plagiarism is "representing another's work or any part thereof, be it published or unpublished, as ones own. For example, plagiarism includes failure to use quotation marks or other conventional markings around material quoted from any source" (Florida State University General Bulletin 1998-1999, p. 69). Failure to document material properly, that is, to indicate that the material came from another source, is also considered a form of plagiarism. Copying someone else's program, and turning it in as if it were your own work, is also considered plagiarism.
Student Disability Resource Center
Dean of Students Department
08 Kellum Hall
Florida State University
Tallahassee, FL 32306-4400
(850) 644-9566 (voice)
(850) 644-8504 (TDD)
SDRC@admin.fsu.edu
http://www.fsu.edu/~staffair/dean/StudentDisability/
Week Lecture Chapter Assignments 1 9 Jan Introduction. 11 Jan Tower of Hanoi -- Sec 1.1 2 16 Jan Martin Luther King day -- no class. 18 Jan Lines in a plane -- Sec 1.2 3 23 Jan The Josephus problem -- Sec 1.3 (to be continued) 26 Jan The Josephus problem -- Sec 1.3 (completed) 4 30 Jan Sums and recurrences -- Sec 2.1 and 2.2 1 Feb Manipulation of sums -- Sec 2.3 5 6 Feb Multiple sums -- Sec 2.4, General methods -- Sec 2.5 methods 0 and 1 Assignment 1 announced 6 Feb. 8 Feb General methods -- Sec 2.5 methods 2 and 3 6 13 Feb General methods -- Sec 2.5 methods 4 and 5 Assignment 1 due 16 Feb. 15 Feb Finite and infinite calculus -- Sec 2.6 (to be continued). 7 20 Feb Finite and infinite calculus -- Sec 2.6 (completed). 22 Feb Infinite sums -- Sec 2.7. 8 27 Feb Midterm review. Midterm this week! 1 Mar Midterm. 9 6 Mar Spring break -- no class. 8 Mar Spring break -- no class. 10 13 Mar Generating functions, Domino theory and change -- Sec 5.4 and 7.1. 15 Mar Basic maneuvers -- Sec 7.2. 11 20 Mar Solving recurrences -- Sec 7.3 (to be continued). 22 Mar Solving recurrences -- Sec 7.3 (to be continued). 12 27 Mar Solving recurrences -- Sec 7.3 (to be continued). 29 Mar Solving recurrences -- Sec 7.3 (to be continued). 13 3 Apr Solving recurrences -- Sec 7.3 (to be continued). Assignment 2 announced 5 Apr. 5 Apr Solving recurrences -- Sec 7.3 (completed). 14 10 Apr Convolutions -- Sec 7.5 (to be continued). 12 Apr Convolutions -- Sec 7.5 (completed). 15 17 Apr Exponential GF's -- Sec 7.6, Dirichlet GF -- Sec 7.7. Assignment 2 due 17 Apr. 19 Apr Probability generating functions -- Sec 8.3. 16 25 Apr Final exam: Tuesday 5:30 - 7:30 pm.
This syllabus is a guide for the course and is subject to change with advanced notice.