Anda di halaman 1dari 4

CS463 - ALGORITHMS

SPRING 2017 SYLLABUS

Prerequisite: (for undergraduate students) CS253 or


(for graduate students) CS501.
Catalog Description: Topics include algorithms in combinatorics, integer and real
arithmetic, pattern matching, list processing, and artificial intelligence. Algorithmic
analysis and domain-independent techniques are also considered. Irregular. [GR]

Instructor: Irena Pevac


Phone: (860) 832-2721
Email: pevac@ccsu.edu
Office: Maria Sanford 303
Office Hours: MW 12:00-12:15 PM and 1:30-3:05 PM
Tue Thu 4:00-4:30 PM and 5:45-5:55 PM
.
Textbook: Levitin: Intro to the Design & Analysis of Algorithms, (3rd
edition)
Addison Wesley, 2012, copyright Pearson 2012.
Supplement: Pevac: Practicing Running Time Analysis of Recursive
Algorithms,
CreateSpace, 2016.

Additional Reading Cormen, Leiserson, Rivest: Intro to Algorithms


McGraw Hill, MIT
Press, 2012.
Baase, Gelder: Computer Algorithms, (3rd edition),
Addison Wesley, 2000.
Sedgewick, Wayne: Algorithms in JAVA, (4th edition),
Addison Wesley, 2011.
Harel, Feldman: Algorithmics: The Spirit of Computing,
Springer, 2012.
General Course Description:

This is a theoretical course covering design and analysis of algorithms for


solving real problems that arise frequently in computer applications. The
emphasis is on fundamental concepts of studying design techniques and not
on specific software and implementation. The computational complexity
such as time performance worst case, average behavior, and space usage
and lower bounds on the complexity of a problem will be discussed. Various
types of advanced algorithms and NP-completeness will be introduced.
Course objectives: Having completed this course successfully, the student should:

Understand and be able to classify algorithms based on different


strategies and design techniques the algorithms were created ( The new
taxonomy developed by Levitin includes classes such as brute force,
decrease-and conquer, transform and conquer, greedy, dynamic
programming, space and time trade-offs, and iterative improvement )
Know how to analyze algorithm efficiency and complexity (space, and
time complexity: worst case, average case, and best case) and be familiar
with algorithm complexity classes (logarithmic, linear, quadratic, cubic,
polynomial, exponential, factorial) and limitations of algorithm power.
Be able to specify asymptotic growth of non-recursive and recursive
algorithms using O, , , , and o notation.)
Be familiar with a range of algorithms based on their problem type
( sorting, searching, string processing, graph processing, combinatorial
problems, and geometric problems)

Topics Covered:

Notion of Algorithm, GCD (Euclid, consecutive integer checking, sieve of Eratostenes)


Analyzing algorithms: O, , , , and o.
Analysis of nonrecursive algorithms
Analysis of recursive algorithms
Brute force algorithms: definition based matrix multiplication, straight forward string-
matching, closest pair, convex hull, selection sort.
Exhaustive search: traveling salesman, knapsack, and assignment
Divide-and-conquer: mergesort, quicksort, binary search, binary tree traversal, multiplication
of large integers, Strassen matrix multiplication, closest-pair, and convex hull (n log n
version) problem.
Decrease-by-one: insertion sort, DFS, BFS, topological sorting
Decrease-by-a-constant factor: exponentiation an, multiplication a la Russe
Variable-size-decrease: GCD
Instance simplification: presorting, Gaussian elimination, balanced search trees
Representation change: heap and heapsort, Horners rule, binary exponentiation, LCD
Space-time tradeoffs: string matching, hashing, B-trees
Dynamic programming algorithms: Fibonacci, longest common subsequence, binomial
coefficients
Greedy algorithms: Prims, Kruskals, and Dijkstras algorithms
P, NP, and NP-complete algorithms, limitations of algorithm power

Course Grading:
There will be two tests (20 pt each), three projects (10 pt each), research paper (10 pt), and a
final exam (20 pt). The total of all scores will be your grade for the course. Projects are due on
the specified due dates before 11:30PM. They must be submitted through Web Vista. If you
submit project after the due date/ time but before the cut off time, there will be 2 points late
penalty. After that time the project is no longer acceptable. Minimum total score for each of the
letter grades is given in the following table:

A A- B+ B B- C+ C C- D+ D D-
94 90 87 84 80 77 74 70 67 64 60

CS463 Spring 2017 Schedule Projects are due before 11:30 PM on a due
date.
Test Dates
Test 1: 3-08-2017 Project1: 2-22-2017
Test 2: 4-19-2017 Project2: 3-22-2017
Project3: 4-12-2017
Final exam May 8 to 12 2017
(see University schedule) Research Paper + PPT slides 4 - 26 - 2017
Oral presentation 5 - 03 - 2017
GRADE EVAL Quantity Points Percentage
TESTS 2 20 points each 40% of Final Grade
PROJECTS 3 10 points each 30%
RESEARCH PAPER
AND 1 10 points 10%
PRESENTATION
FINAL EXAM 1 20 20%

Research Paper: should be done in pairs covering one of the following four
algorithm approaches: dynamic programming, space and time tradeoffs,
greedy technique, or transform-and-conquer. Choose topic, write and
implement an application of your choice that uses the chosen design
approach (algorithm used should not be any of those used in lectures),
discuss time efficiency, and compare it with other related algorithms, if
appropriate. Submit paper 8-12 pages long with at least 4 references written
in MSWord and PowerPoint slides that will be used for oral presentation in the
class (15 minutes each student).

Students with disabilities: Please contact me privately to discuss your specific needs if you
believe you need course accommodations based on the impact of a disability, medical condition,
or if you have emergency medical information to share. I will need a copy of the
accommodation letter from Student Disability Services in order to arrange your class
accommodations. Contact Student Disability Services, if you are not already registered with
them. Student Disability Services maintains the confidential documentation of your disability
and assists you in coordinating reasonable accommodations with your faculty.
Other University Policies:
You must take the final examination at the time scheduled by the university.
You are responsible for understanding and abiding by the Universitys policy on
academic integrity. Information on the policy may be found at
http://www.ccsu.edu/AcademicIntegrity/ . This policy is rigorously enforced by the
Department of Computer Sciences.
It is expected that all students will conduct themselves in an honest manner (see the
CCSU Student Handbook), and never claim work which is not their own. Violating this
policy will result in a substantial grade penalty, and could result in expulsion from the
University. However, students are allowed to discuss programming assignments with
others and receive debugging help from others.

Attendance: It is expected that the student will attend class sessions regularly. In case of absence
each student is responsible for making-up missed study or work. Limited assistance will be
offered during office hours to those with plausible reasons for absences; unexcused absences
result in the student being totally responsible for make-up process.

Drop/Course Withdrawal Policy:

1. Students withdrawing from a full semester course through April 17


2017 may do so by completing and submitting a withdrawal form to
the registrars office. A notation of W will appear on the students
transcript. Withdrawals during this time do not require written
authorization; however, it would be prudent for the student to discuss
this with the instructor and academic advisor.
2. After that time withdrawal from the course is seldom approved, and
requires approval from the instructor, the department chair and the
dean.
3. Forms to either drop or withdraw from a course may be found on the
Registrars website at: http://www.ccsu.edu/page.cfm?p=512 or in the
Registrars Office in Willard Hall.

Cancellations: Cancellation of classes due to inclement weather will be


announced over radio station WTIC 1080 and other radio and TV stations
serving the central Connecticut area. Evening classes will not be
automatically cancelled when day classes are cancelled. You may call the
snow phone at (860) 832-3333 for current information.

Anda mungkin juga menyukai