Syllabus
Computer Science 6410
Design and Analysis of Algorithms
Section 001
Fall 2011

Class meeting MWF 10:00-10:50 MW Austin 306
Instructor Karl Abrahamson
Office Sci&Tech C-113
Office hours
MW 2:00-3:00pm
TTh 1:30-3:00pm
or by appointment
Phone 328-9689
Email abrahamsonk@ecu.edu
Course web page www.cs.ecu.edu/~karl/6410/fall11/
My web page www.cs.ecu.edu/~karl/
Text Introduction to Algorithms (third edition), by Cormen, Leiserson, Rivest and Stein


Prerequisites

You should have enough mathematical sophistication to handle summations and algebraic manipulation. Calculus is helpful. You should have enough sophistication in developing computer programs to understand how pseudo-code algorithms are translated to working software. We will not be doing such translations, but you must be able to visualize how they might be done.


Introduction

When faced with a new problem that needs to be solved on a computer, you must design an algorithm to solve it. Questions that can arise are as follows.

  1. Has this problem been solved before? Clearly, some knowledge of the solutions of classical problems is required. We will cover solutions of some well-studied problems.

  2. If no solutions are known, what approaches might be tried? A toolkit of general algorithmic methods is needed. We will discuss tools including dynamic programming, divide and conquer and greedy algorithms.

  3. Having developed an algorithm to solve a problem, you might want to know how efficiently it runs. That is where analysis of algorithms comes in. We will cover some analysis techniques.

  4. Even after designing and analyzing an algorithm, you might not necessarily know how good the algorithm is relative to other algorithms. We will examine some methods for relating an algorithm to the best possible algorithm for solving the same problem.

After completing this course, you should be able to evaluate a variety of computational problems and design efficient, correct algorithmic solutions to them using appropriate methods. You should recognize problems whose solutions are well known. You should be able to analyze the complexity of an assortment of algorithms, including those that you have not seen before.


Grading

Grading will be on the basis of homework (25%), three exams (16% each) and a comprehensive final examination (27%). The exams will take place on September 23,October 28 and December 2. The final examination is Monday, December 12 from 8:00am to 10:30am in Austin 306.


Student conduct

Smoking is not permitted in classrooms. Please turn off telephones while in class.

Students are expected to abide by the university's Student Honor Code. The homework that you do is a critical part of your education. Each student is expected to do his or her own work. That does not mean you are not allowed to discuss your ideas with other students. Working in groups can be beneficial, and I encourage you to talk through ideas with other students. But outright copying is plagiarism, and is unacceptable. Students who copy other students' work, or who allow their work to be copied, or who copy their work from other sources, such as the internet, will receive no credit.


Weather emergencies

In the event of a weather emergency, information about ECU can be accessed through the following sources:

ECU emergency notices http://www.ecu.edu/alert
ECU emergency information hotline 252-328-0062


Students with disabilities

East Carolina University seeks to comply fully with the Americans with Disabilities Act. Students requesting accommodations based on a covered disability must go to the Department for Disability Support Services, located in Slay 138, to verify the disability before any accommodations can occur. The telephone number is 252-737-1016.