Syllabus for CSCE 423/823 (Spring 2012)


Up-to-date information is at http://cse.unl.edu/~sscott/teach/Classes/cse423S12/


CONTENTS


COURSE INFORMATION

INSTRUCTOR: TA:
Stephen Scott Yuji Mo
268 Avery
472-6994
206 Schorr
sscott AT cse ymo AT cse
Office Hours:
T 2:30–3:30
W 3:30–4:30
or by appointment
In Avery 268
Office Hours:
M 2:30–3:30
W 1:30–2:30
In Avery 13A

TITLE: Design and Analysis of Algorithms

PREREQUISITES: CSCE 235; CSCE 310 or CSCE 311

TIME: 12:30pm–1:20pm MWF

CLASSROOM: Avery 110

TEXTBOOK: Introduction to Algorithms, Third Edition by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, MIT Press, 2009.


COURSE OVERVIEW

Algorithms for problems such as sorting, graph reachability, matching, etc. are at the heart of almost all real-life computer applications. Efficiency and correctness of these algorithms directly influence the overall efficiency and correctness of the applications that use them. Hence it is important to come up with very fast and correct solutions to these basic computational problems. As the name suggests, this course has mainly two aspects: designing algorithms for basic computational problems and analyzing their correctness and efficency. These two aspects go hand in hand with each other.

The emphasis of this course will be on relatively high-level descriptions of the algorithms rather than lower-level implementation details. This makes it a more abstract course than many other programming-based courses. In particular, all the main analysis tools will be mathematical in nature.


COURSE BULLETIN DESCRIPTION

Mathematical preliminaries. Strategies for algorithm design, including divide-and-conquer, greedy, dynamic programming and backtracking. Mathematical analysis of algorithms. Introduction to NP-Completeness theory, including the classes P and NP, polynomial transformations and NP-complete problems.


TENTATIVE SCHEDULE

The following table contains a list of topics we will cover, along with the relevant chapters of the text. This schedule is tentative and may be changed or topics added/removed as time dictates. Furthermore, though we will follow the book, additional material may be introduced (with sufficient resources), while the depth of each topic may vary.

Medians and Order Statistics Chapter 9
Graph Algorithms Chapters 23–26
NP-Completeness Chapter 34
Approximation Algorithms Chapter 35
Some selected topics Chapters 28–33


COURSE ELEMENTS

HOMEWORK

There will be several homework assignments, each due by 11:59 p.m. on its due date. (cse's system clock, which timestamps your submissions, is the official clock for this course. Do not assume that just because the handin program allows you to submit that the deadline has not passed; you are responsible for ensuring that your files are submitted and timestamped before the deadline. Late homework submissions will be penalized exponentially: if your submission is m minutes late, your final score will be multiplied by 2m/60. Thus you will lose 16% of your points if you submit 15 minutes late, 29.3% of your points if you submit 30 minutes late, 50% if you submit 60 minutes late, etc. (amount of lateness is measured by the time stamp given by cse's web-based handin). Thus unless you are making very significant improvements to your submission, it is better to submit a partially completed homework assignment than a late one. If you have a valid excuse for a late submission (e.g. illness), contact the instructor as soon as possible

Each assignment will contain two sets of problems: core problems and advanced problems.

Collaboration Policy. Unless otherwise indicated on a specific assignment, you may not consult each other for assistance on the homework beyond asking each other for basic clarification on the course material. If you are unsure whether the help you want to ask for from another student is appropriate, first ask the instructor (refer to the CSE Department's Policy on Academic Integrity for more information). Further, you must write up your results in your own words and indicate whom you consulted, and on what. Also, use of materials from the Internet should be very limited, with due and complete acknowledgment if you use any. These policies will be strictly enforced. Violation of any of the above rules as well as any other academic dishonesty will be dealt with harshly. Finally, ensure that all your files (e.g. program code, homework write-ups) are reasonably well-protected. You will be held responsible if someone copies your files and submits them as homework solutions.

You must use some document processing package (e.g. LaTeX) to write your homework submissions, and you must submit your reports electronically in pdf format (see "Help on Creating pdf Files" and "Help with LaTeX, etc."). You must also write as clearly and concisely as possible. Presentation of your results is as important as the results themselves, and will be heavily weighted in grading. If we cannot understand what you wrote due to poor writing, etc., then we cannot award full credit, even if your answers are correct. Thus I recommend that you ask someone (e.g. a friend or someone from the English Department, but not a student in this class) to proofread your write-ups before you submit them, to check for clarity, typographical errors, etc. If English is not your native language, then I strongly recommend this!

Homework Grading. The homework assignments will be graded by the class under the guidance of the teaching assistant. While it is important for you to learn to design and analyze an algorithm, it is equally important for you to be able to evaluate an algorithm written by someone else and verify its correctness and stated time complexity. Thus each student will grade one problem of one problem set (or two problems that are easy to grade). You are not required to submit your own solution for the problem that you grade.

QUIZZES

There will be several short quizzes given during certain classes. The quizzes will cover recent topics. No makeup quizzes will be given without prior approval.

EXAMS

There will be two exams given in class: a midterm (tentatively scheduled for class time on Friday, March 16), and a comprehensive final exam given during Finals Week (3:30pm–5:30pm on Monday, April 30). No makeup exams will be given without prior approval. Each exam may have additional problems for students in CSCE 823. Both exams will be closed book but you may bring one reference sheet.

GRADING

Grades for the above course elements will be weighted as follows:

Homeworks: 45% Quizzes: 20% Midterm: 15% Final: 20%

In computing your letter grade I will start with the following base scale, where s is your final score:

s ≥ 90% A 80% ≤ s < 90% B 70% ≤ s < 80% C 60% ≤ s < 70% D s < 60% F

You will receive a "+" with your grade if the last digit of your score is ≥ 7, and a "–" if the last digit is < 3. I will scale up from this base scale if warranted. So if you get an 87% in this course you are guaranteed a B+ (similarly, an 82% guarantees a B–), but your grade might be higher depending on your performance relative to the rest of the class and your level of class participation.

ACADEMIC INTEGRITY

All homework assignments, quizzes, exams, etc. must be your own work. No direct collaboration with fellow students, past or current, is allowed unless otherwise stated. The Computer Science & Engineering department has an Academic Integrity Policy. All students enrolled in any computer science course are bound by this policy. You are expected to read, understand, and follow this policy. Violations will be dealt with on a case by case basis and may result in a failing assignment or a failing grade for the course itself.

COMMUNICATION

The best way to communicate with your instructor and GTA is through email. To ensure that your messages reach us, it is safest to send them from your cse account to avoid spam filters.

Email is how we will frequently contact you. You are expected to check your cse email account at least once a day to ensure that you do not miss announcements or other communications.

Another valuable communication tool is the course web page, on which announcements and resources will periodically be made available. The CSE Department has an anonymous suggestion box that you may use to voice your concerns about any problems in the course or department if you do not wish to be identified.

Besides regular office hours held by the instructor and GTAs, you may also find useful the Student Resource Center in Avery 13A.


Last modified 09 April 2012; please report problems to sscott AT cse.