Syllabus for CSCE 423/823 (Fall 2017)


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


COURSE INFORMATION

INSTRUCTOR: INSTRUCTOR: TA:
Stephen Scott Vinod Variyam Bahar Shahsavarani
sscott AT cse vinod AT cse sshahsav AT cse
Office Hours:
MWF 10:00–11:00
or by appointment
In Avery 268
Office Hours:
TR 2:00–3:30
or by appointment
In Avery 262
Office Hours:
M 2:00–3:00
W 1:30–2:30
In Avery 12

TITLE: Design and Analysis of Algorithms

PREREQUISITES: CSCE 235; CSCE 310 or CSCE 311

TIME: 12:30–1:45pm TR

CLASSROOM: Avery 19

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.


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.


TOPICS COVERED

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
Dynamic Programming Chapter 15
Greedy Algorithms Chapter 16
Elementary Graph Algorithms Chapter 22
Minimum-Weight Spanning Trees Chapter 23
Single-Source Shortest Paths Chapter 24
All-Pairs Shortest Paths Chapter 25
Lower Bounds Chapter 8
NP-Completeness Chapter 34
Maximum Flow Chapter 26
Approximation Algorithms Chapter 35
Selected topics TBD


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 handin 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 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 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). 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. 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, we 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 we strongly recommend this!

QUIZZES

There will be several short quizzes given during certain classes.

EXAMS

There will be two exams given in class: a midterm (tentatively scheduled for class time on Tuesday, October 31), and a comprehensive final exam given during Finals Week (7:30am–9:30am on Friday, December 15). 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 8.5" x 11" reference sheet to the midterm and two such reference sheets to the final.


GRADING

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

Homeworks: 40% Quizzes: 20% Midterm: 15% Final: 25%

Computing letter grades starts with this base scale, where s is the 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.


COMMUNICATION

The best way to communicate with your instructor and GTA is through email. 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 communication tool is the course web page, where announcements and resources will be made available. The CSE Department has an anonymous contact form 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 12.


Last modified 15 August 2017; please report problems to sscott AT cse.