CSC 505, [Current Semester], Course Policies
Course Title: Design and Analysis of
Algorithms
Instructor: Matt Stallmann
Time/Place: [N/A]
Office hours:
Walk-in's welcome or
make an appointment
(try to get questions resolved by email or
message board first).
Office: 2252 EB II, 890 Oval Drive, Centennial Campus
Phone:
(919) 515-7978 (please leave a message if I don't answer)
E-Mail:
Matt_Stallmann AT ncsu.edu
Text:
Introduction to Algorithms (Second Edition)
by T.H. Cormen, C.E. Leiserson, R.L. Rivest, and C. Stein
(2002, McGraw-Hill, ISBN 0-07-013151-1).
Other materials: Available on the World Wide Web at URL
http://courses.ncsu.edu/csc505/[may not work]
Prerequisites:
- Calculus and lower level math (approximating the area under a curve,
limits, L'Hôpital's rule,
logarithm identities, summation formulas, complex numbers,
polar coordinates, sines and cosines),
- Discrete Mathematics [CSC 226] (Solving recurrences,
permutations and combinatons, proof techniques, induction,
logic, equivalence relations,
partially ordered sets),
- Data structures [CSC 316] (stacks, queues, lists, trees, graphs,
abstract data types, recursion, binary search trees, balanced tree schemes,
tree traversals, big-O notation),
- (recommended) Automata Theory [CSC 333]
(Turing machines, nondeterministic comptation),
- Structured Programing Language (abstract data types,
recursion).
For quick reference, much of this material is reviewed in the following
sections of the text: 3.2, 10.1-10.4, 11.1-11.3, 12.1-12.3; and Appendix
A.1, all of B, and C.1.
Course Objectives
-
to become comfortable with rigorous mathematical approaches to
computational problems: proofs of correctness of algorithms, analysis
of running time, mathematical models of computation, properties of
problems that lead to efficient algorithms or make them intractable
-
to get an overview of and experience with the most prevalent
algorithm design techniques: greedy, divide and conquer, dynamic
programming, graph searching, and the use of efficient data
structures
-
to acquire the ability to analyze worst-case and average-case running
times of algorithms
-
to be exposed to problem domains in which theoretical results in
algorithm design and analysis have practical applications
Course Requirements
Grades will be based 15% on the homework, 5% on the prerequisite
quiz (Tuesday, January 18),
5% on other quizzes (unannounced),
and 25% on each of three exams (two
midterms and a final).
An average of 90% or greater guarantees an A, 75% guarantees a
B.
Other factors, such as
improvement in performance and consistent quality and creativity
on homework problems, will be
used to decide grades in borderline situations.
I will assign about 25 homework problems during the semester.
A homework assignment will be due
about every other week.
In order to perform well on the tests, it is important that you work
through the homework on your own, asking for help by
email
or
message board if you have
trouble understanding the concepts.
Use email (plain text is preferred)
for questions that reveal details of your homework solutions, the
message board for all others.
Homework assignments will not be handed out in class.
Homeworks are usually due on
[a specific week day and time](not at class time).
They
should be turned in at
the TA office on the due date or
submitted
electronically (preferred).
In case of emergency (submit fails to work -- please test it early and often)
you can email homework to the
instructor
at least half an hour prior to the due time.
Late homework will be accepted only in circumstances that are grounds
for excused absence under
university policy.
(Arrangements for turning in late homework must be made during the
previous class if possible.)
Homework must be stapled (not folded) with the
cover sheet, completed and signed by you,
attached to the front.
Electronically submitted homework should include the information on the
cover sheet (your signature is assumed).
Academic Integrity Statement
The instructor of this course is committed to upholding
the University policy on academic integrity, described in
the
Code of Student Conduct (Appendix L of the Handbook for Advising and Teaching),
which can be found at:
http://www.ncsu.edu/policies/student_services/student_discipline/POL11.35.1.php
Students will be required to sign the honor pledge on each
exam: ``I have neither given nor received unauthorized aid on this test''.
The honor policy for homework assignments is spelled out in the
Homework Policy Form.
This form must be signed and turned in with the
first homework
assignment (as a separate sheet -- do not staple it to your
homework solutions)
and will apply to all homework assignments.
Any suspected case of academic dishonesty will be reported to
the Director, Office of Student Conduct.
Homework problems constitute the most
significant part of the learning that takes place in this course.
They will be used not only to reinforce material covered in lectures but
also to introduce additional ideas, tricks, and topics that cannot be
adequately covered by the lectures.
NC State Policy on Working with Students with Disabilities
``No otherwise qualified handicapped individual in the United States. . .
shall, solely by reason of his handicap be
excluded from participation in, be denied the benefits of, or be subjected
to discrimination under any program or
activity receiving Federal financial assistance.''
Consult instructor as soon as possible to arrange for any
accomodations which may be necessary.
For further information, consult:
http://www.ncsu.edu/provost/offices/affirm_action/dss/
Matthias Stallmann
(
Matt_Stallmann AT ncsu.edu)
Last modified: Thu Feb 3 12:28:15 EST 2005