CS 5050

Advanced Algorithms

Fall 2009

 

 

Professor: Dr. Nick Flann

Office: Old Main 402D

Office Hours: You are encouraged to come to office hours whenever you have difficulties with the class. Whatever the problem, students should bring their class notes, program and attempts at solving the problem with them.

 

Office Hour Times:

Mon Wed Fri: 9:30pm - 10:30am, Main 402D
Tue, Thu: 10:30am - 11:30am, Main 402D

Other times by appointment through email, see below.

Other help: If you cannot come to office hours or want help outside office hours I recommend emailing me a clear and concise description of your problem or question. Often I will be able to get back to them immediately.

 

Email: nick.flann@usu.edu

 

Course website: Mostly blackboard (syllabus at http://www.cs.usu.edu/~flann/cs5050/)

 

Class Time: 8:30am --- 9:20pm MWF

Class Location: Eccles Business 214

Course Goal:  Gain knowledge of a variety of computational problems and their algorithmic solutions 

Learning Outcomes:

Course Objectives:

Holidays and special days:

Prerequisites: Advanced standing. This is an advanced algorithm course and as such, you are expected to be an expert programmer. If you still struggle to get a complex program working quickly, this class will probably to be too hard for you. 

 

Text: Advanced Algorithms: Foundations, Analysis and Internet Examples by Michael Goodrich and Robert Tamassia

 

Last day to add/drop: see www.usu.edu/registrar/dates

 

Assignments: There will be assignments and projects given throughout the class. Completed assignments need to be submitted before the due date and time. All assignments will be posted on the class web page and through blackboard. All completed work is to be submitted through blackboard. The deadline for assignments will be 11:59 pm on the due date. Late work will lose points.

Written assignments must be submitted in pdf format. Code must be submitted as a .zip file that contains all support files needed to run the code.

 

Programming: This class will include a mixture of assignments, many involving programming. While the book emphasizes the Java programming language, there is no specific programming language that must be used for assignments. You may use any language you wish. This is not a programming class. You are expected to be able to take an algorithm description and write your own program that implements the algorithm. Getting the algorithm to work will not be surficient to complete the assignment since most assignments will include an empirical component where the algorithm is run repeatedly on sets of problems and its performance evaluated. You must allow additional time to complete the assignment after the code is running. This additional time will be needed to perform multiple runs of the algorithm on randomly generated input and because we often need thousands of different runs on large input sizes, runs can take up to 24 hours. Then you need to allow more time to analyze the results and write up your report. In other words, start you assignments early!

Late Work: Will lose points. No work can be submitted beyond 2 days late.

 

Quizzes: There will be quizzes during the semester, given at the beginning of class. The lowest scoring quiz will be dropped from your final score.

 

Exams: There will be a total of 3 exams. Two midterm exams of duration 50 minutes and a final of duration 1:50 minutes. 

The first exam will be given within approximately 4 weeks, the second given within approximately 8 weeks. The final will be comprehensive and given at 7:30am Wednesday, Dec 9th in Business 214

 

Approximate Grading:

    Assignments                         55%

    Quizzes                                 5%

    Mid term Exams                    20%

    Final Exam                           20%

 

Following each graded assignment, quiz or exam, a report detailing your scores, standing in the class and percentage available through blackboard. Please read this report carefully. Errors in recording scores must be corrected as soon as possible.

 

Re-grading: Occasionally, a mistake may be made in grading. If you think you have found an error, please email nick.flann@usu.edu as soon as possible explaining the error, then come and see me during office hours.

 

Email: All students in the class will need an email account in order to receive grade information. Your account on the usu system will be used unless you email a different address.

 

Learning Style

         I think learning is a lot more than remembering the contents of power point slides! I will mostly teach using the board, where we will dynamically develop problems and solutions. I welcome your participation! When I ask questions during class time, these are not intended to be rhetorical questions (i.e., I expect an answer). I will encourage you to develop problem-solving skills, which will be utilized during class, test taking and completing assignments. I will use power points when appropriate and will base the content of the lectures on the power points posted on the book website.

 

Rough Outline:

WeekTopic
1Chapter 1 Complexity, empirical analysis, math review, amortization
2Chapter 4 Sorting
3,4Chapter 5 Fundamental techniques of algorithm design
5Chapter 6,7 Graphs and weighted graphs
6Chapter 8 Network flow and matching graphs
7,8Chapter 9 Text processing
9,10,11Chapter 10 Number theory and FFT
12,13Chapter 12 Computational geometry
15,16Chapter 13 NP completeness and approximation algorithms

Incomplete:  

The University policy will be adhered to for incomplete. This means that an incomplete cannot be given to prevent receipt of a bad grade. Under no circumstances can an incomplete be given for which a re-take of the class is required to make up the work. In such situations, a withdrawal or late withdrawal is required. If a student feels that an incomplete is appropriate, it is their responsibility to immediately discuss the matter with their instructor.

 

 

 MSDNAA software downloads :

The Computer Science Department is a member of the Microsoft Academic Alliance (MSDNAA), and specifically what is now called the Developer Academic Alliance. Through this program, students in CS courses can obtain and use a large number of Microsoft's operating systems and software packages. If you are interesting in downloading any of this software for your use, please follow the directions found at http://www.cs.usu.edu/elms.html

 

ADA Compliance:


If a student has a disability that will likely require some accommodation by the instructor, the student must contact   the instructor and document the disability through the Disability Resource Center, preferably during the first week of the course. Any requests for special considerations   relating to attendance, pedagogy, taking of examinations, etc. must be discussed with and approved by the instructor. In cooperation with the Disability Resource   Center, course materials can be provided in alternative formats, e.g. large   print, audio, diskette, or Braille.

 

Fee:

 

Associated with this class is a class fee of $25. Monies from this fee are used to maintain lab facilities for the class, purchase software and licenses, and supervise the lab. In some cases, students may have their own computing equipment, and thus feel that they do not need to use the lab. However, the lab must be maintained regardless of and individuals use of it, and thus the fee is charged to all registered for the class. If you have questions or concerns about the fee, please see the department head.