Up-to-date information is at http://cse.unl.edu/~sscott/teach/Classes/cse423F19/
INSTRUCTOR | TA | TA |
Stephen Scott | Zeynep Hakguder | Eleanor Quint |
sscott AT cse | zhakguder AT cse | equint AT cse |
Office Hours: W 2:30–3:20pm R 10:00am–11:00am and by appointment in Avery 361 |
Office Hours: M 12:00pm–1:00pm F 10:00am–11:00am In Avery 12 |
Office Hours: T 11:00am–12:00pm W 11:00am–12:00pm In Avery 12 |
TITLE: Design and Analysis of Algorithms
PREREQUISITES: A grade of "P" or "C" or better in CSCE 310, CSCE 310H, CSCE 311, SOFT 260, SOFT 260H or RAIK 283H
TIME: 1:30–2:20pm MWF
CLASSROOM: Avery 106
TEXTBOOK: Introduction to Algorithms, Third Edition by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein, MIT Press, 2009. [Includes solutions to selected exercises]
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.
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.
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 (time permitting) | TBD |
There will be several homework assignments, each due by 11:59 p.m.
on its due date.
Late homework submissions will be penalized
exponentially: if your submission is m minutes late,
your final score will be multiplied by
Homework Problem Types: Each assignment will contain core problems and advanced problems.
Homework 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. Use of materials from the Internet should be very limited, with 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.
Homework Formatting: 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 the UNL Writing Center, 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!
Lecture Questions: Algorithm design and analysis is a field of abstract concepts, requiring deep, careful consideration to fully appreciate. Thus, you are expected to regularly take time to formulate thoughtful, nontrivial questions about the course material. You will upload these questions and reasonable answers (which don't have to be completely correct) via Canvas throughout the semester. We will evaluate them on how they suggest rigorous depth of knowledge of course material, and reward bonus points at the end of the semester based on these evaluations.
There will be several short quizzes given during certain classes.
There will be two exams given in class: a midterm (tentatively scheduled for class time on Wednesday, October 30), and a comprehensive final exam given during Finals Week (1:00pm–3:00pm on Monday, December 16). 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" × 11" reference sheet to the midterm and two such reference sheets to the final.
Grades for the above course elements will be weighted as follows:
Homeworks: 40% | Quizzes: 20% | Midterm: 15% | Final: 25% | Lecture Questions: Up to 3% bonus |
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. Note that for students registered for CSCE 823, a B is required to pass the course; a B– is insufficient. In general, students registered for CSCE 823 will be graded more stringently on everything.
All submitted work must be your own. No direct collaboration with fellow students, past or current, is allowed unless otherwise stated (e.g., your homework partner). 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.
Attendance at all officially scheduled class meetings is expected. Students are responsible for knowing all material discussed in class meetings. Changes to schedules and assignments will be announced in class.
Students with disabilities are encouraged to contact us for a confidential discussion of their individual needs for academic accommodation. This includes students with mental health disabilities like depression and anxiety. It is the policy of the University of Nebraska-Lincoln to provide individualized accommodations to students with documented disabilities that may affect their ability to fully participate in course activities or to meet course requirements. To receive accommodation services, students must be registered with the Services for Students with Disabilities (SSD) office, 232 Canfield Administration, 402-472-3787.
Victim Advocacy is a confidential, supportive resource for victims/survivors of interpersonal violence and other crimes. They provide advocacy and support for students, faculty and staff who have experienced sexual assault, domestic/dating violence, stalking, harassment and other crimes. Victim advocates help you navigate campus and community resources. With a victim advocate, you will be able to tell your story confidentially. You will be supported in your decision to report or not to report to police, Institutional Equity and Compliance (Title IX) or neither.
The CSE Department's anonymous suggestion box at http://cse.unl.edu/department/suggestion.php lets you voice your concerns about any problems in the course or department if you do not wish to be identified.
GTA office hours are held in the CSE Student Resource Center in Avery 12.
It is CSE Department policy that all students in CSE courses are expected to regularly check their email so they do not miss important announcements.
Last modified 30 September 2019; please report problems to sscott .