Up-to-date information is at http://cse.unl.edu/~sscott/teach/Classes/cse423S19/
INSTRUCTOR | TA | TA |
Stephen Scott | Zeynep Hakguder | Aziza Al-Zadjali |
sscott AT cse | zhakguder AT cse | aalzadjali AT cse |
Office Hours: T 12:30pm–1:20pm W 2:30pm–3:20pm and by appointment in Avery 361 |
Office Hours: R 9:00am–11:00am In Avery 12 |
Office Hours: W 10:00am–11:00am 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 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!
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 be asked to submit some of these questions as part of your homework assignments.
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 Friday, March 15), and a comprehensive final exam given during Finals Week (1:00pm–3:00pm on Thursday, May 2). 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% |
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.
UNL offers a variety of options to students to aid them in dealing with stress and adversity. Counseling and Psychological Services (CAPS) is a multidisciplinary team of psychologists and counselors that works collaboratively with Nebraska students to help them explore their feelings and thoughts and learn helpful ways to improve their mental, psychological and emotional well-being when issues arise. CAPS can be reached by calling 402-472-7450. Big Red Resilience & Well-Being provides fun events, innovative education, and dynamic services to help students understand emotions, manage stress, build strength, connect with others, develop grit and navigate transitions.
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 08 March 2019; please report problems to sscott .