Syllabus for CSCE 423/823 (Spring 2019)


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


COURSE INFORMATION

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]


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.


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 (time permitting) TBD


COURSE ELEMENTS

HOMEWORK

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 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. Therefore, 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.

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.

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 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.


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. 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.


OTHER INFORMATION

ACADEMIC INTEGRITY POLICY

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 POLICY

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

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.

COUNSELING AND PSYCHOLOGICAL SERVICES

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.

CSE SUGGESTION BOX

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.

STUDENT RESOURCE CENTER

GTA office hours are held in the CSE Student Resource Center in Avery 12.

COMMUNICATION

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 .