3.0

Methods for analyzing algorithms are discussed including an introduction to asymptotic notation.
Several approaches to designing algorithms are covered using theory, examples and problems.
Those approaches include divide-and-conquer, dynamic programming, the greedy approach backtracking
and branch-and-bound. Different approaches are applied to the same problem to illuminate the relative
advantages.

CS-201 (minimum grade of C) and CS-304 (minimum grade of C).

N/A (online)

Rachel Trana

Mondays, 6:00 p.m. - 8:00 p.m.

Wednesdays, 2:00 p.m. - 5:00 p.m.

Thursdays, 1:00 p.m. - 3:00 p.m.

Zoom office hours links available on D2L

Wednesdays, 2:00 p.m. - 5:00 p.m.

Thursdays, 1:00 p.m. - 3:00 p.m.

Zoom office hours links available on D2L

r-trana@neiu.edu

All course-related questions should be posted on the Slack workspace.

All course-related questions should be posted on the Slack workspace.

Foundations of Algorithms, 5th Edition. Richard Neapolitan.
Jones & Bartlett Learning 2015, ISBN 978-1-284-04919-0

Algorithms, 4th Edition. Robert Sedgewick and Kevin Wayne. Pearson 2011, ISBN 978-0-321-57351-3

Java SE 11 Documentation

Java SE 11 Documentation

Grades, Homework Submissions: D2L

Discussion Forum: Slack (link available on D2L)

Course Lectures, Homework Assignments: https://racheltrana.com/

Discussion Forum: Slack (link available on D2L)

Course Lectures, Homework Assignments: https://racheltrana.com/

Upon completing CS-324: Introduction to the Design of Algorithms, students
will be able to do the following:

- Describe the logics and concepts of algorithms.
- Deciding the correctness and efficiency of algorithms.
- Describe different types of algorithms like divide-and-conquer, dynamic programming, greedy, backtracking, and branch-and-bound.
- Analyze, critique, and discuss different types of algorithms.
- Write short programs to implement various algorithms.

- Introduction to time complexity analysis
- Divide-and-conquer: binary search, merge sort, and quick sort
- Dynamic programming: Floyd’s algorithm, and chained matrix multiplication
- The greedy approach: minimum spanning trees, Prim’s algorithm, Kruskal’s algorithm, and Dijkstra’s algorithm
- Backtracking: the n-Queens problem, graph coloring
- Branch-and-bound: the 0-1 Knapsack problem

Assignments: Homework will be assigned frequently, posted online and is worth 25%
of the final grade. All assignments must be submitted to GitHub or D2L (pending
assignment) by the specified due date and time. Homework assignments are graded
as Pass/Fail (i.e. 0 vs 1 pts). To get Pass credit, the assignment must pass all
GitHub tests and coding checks. Plagiarism is strictly not tolerated.

There will be multiple online (D2L) open-book quizzes throughout the quarter,
designed to reinforce core concepts worth a total of 15% of the final grade.
These quizzes must be completed prior to the specified class meeting time.

Content assessment credit, worth a total of 15% of the final grade, can be earned
via code reviews. You will be provided with another student’s homework problem
(anonymously) and must assess that student’s solution to the code. Each assessment
is worth 1% and you can do two code reviews per week.

There will be three scheduled (online) exams, each worth 15% of your final grade.

Item | Weight |
---|---|

Homework | 25% |

Quizzes | 15% |

Exams | 45% |

Content Assessments | 15% |

Percentage | Letter Grade |
---|---|

90 % - 100 % | A |

80 % - < 90% | B |

70 % - < 80% | C |

50 % - < 70% | D |

< 50 % | F |

Monday, January 18, 2021: Martin Luther King, Jr. Birthday - No Classes, Office Hours

Friday, February 12, 2021: Lincoln's Birthday - No Classes

Monday, March 15, 2021 - Sunday, March 22, 2021: Spring Recess - No Classes

Friday, April 2, 2021: Last day to drop with a W

Friday, February 12, 2021: Lincoln's Birthday - No Classes

Monday, March 15, 2021 - Sunday, March 22, 2021: Spring Recess - No Classes

Friday, April 2, 2021: Last day to drop with a W

Getting Started, Algorithms and Efficiency

Divide and Conquer, recursion, combinations, numWays, Recursive Binary Search,
MergeSort

QuickSort, Large Integer Multiplication

Catch-up!

Review

Exam #1

Breathe, wait for exam results and decide about final project vs final exam.

Dynamic Programming Part I: Dynamic Programmign Practice, Floyd’s Algorithm

Dynamic Programming Part II: Chained Matrix Multiplication, Sequence Alignment

Spring Recess

Greedy Algorithms Part I: Coin Change Problem, Scheduling, Knapsack Problem

Greedy Algorithms Part II: Prim's Algorithm, Kruskal's Algorithm, Dijkstra's Algorithm

Backtracking Part I: N-Queens

Backtracking Part II: Graph Coloring

Complete Homework

Final Project/Final Exam

By enrolling in this course, you are bound by the
NEIU Student Code of Conduct. You will be informed by your
instructor of any additional policy specific to your course regarding
plagiarism, class disruptions, etc.

Cheating is a serious academic offense and violates the NEIU Student Code of
Conduct (see University Policies below). All students will be required to turn off their
electronic devices (phone, smart watches, etc) at the beginning of each exam. Failure to do so
and/or any involvement in or suspicion of cheating will result in a failing grade for the final exam
(and the course). Additionally, students involved in cheating will be reported
for academic misconduct to the Dean of Students (two reports can result in
expulsion from the university).

Northeastern Illinois University (NEIU) complies with the Americans with
Disabilities Act (ADA) in making reasonable accommodations for
qualified students with disabilities. To request accom- modations,
students with special needs should make arrangements with the Student
Disability Services (SDS) office, located on the main campus in room D104.
Contact SDS via (773) 442-4595 or SDS online.
It is your responsibility to have the Accessibility Center send me this
information by the 3rd week of the semester.

Web links to Campus Safety: Emergency Procedures and Safety Information
can be found on NEIUport on the MyNEIU tab or via the
University Police Page on NEIU's website.

Because quizzes are online and open-book/note, no make-up quizzes will be given.
However, one quiz will be dropped.

Cheating and/or plagiarism will not be tolerated. Students that violate the NEIU academic conduct policy may be subject to an F for that assignment, quiz, exam, project or any portion (or all) of the final course grade

Syllabus topics/content for this course may be changed/updated as deemed appropriate or necessary by the instructor.

Policies may be modified or added as deemed appropriate or necessary by the instructor.

Cheating and/or plagiarism will not be tolerated. Students that violate the NEIU academic conduct policy may be subject to an F for that assignment, quiz, exam, project or any portion (or all) of the final course grade

Syllabus topics/content for this course may be changed/updated as deemed appropriate or necessary by the instructor.

Policies may be modified or added as deemed appropriate or necessary by the instructor.

Quiz due 01/18/21 at 9:00 p.m.

Video

Quiz 3 due 02/01/21 at 9:00 p.m.

Complete all videos first!

Complete all videos first!

Quiz 4 - Due Friday, 03/05/21 at 9:00 p.m. CT

Quiz 5 - Due Sunday, 03/14/21 at 9:00 p.m. CT

Quiz 6 - Due Friday, 03/26/21 at 9:00 p.m. CT

Quiz 7 - Due Friday, 04/02/21 at 9:00 p.m. CT

Quiz 8 - Due Friday, 04/09/21 at 9:00 p.m. CT

Quiz 9 - Due Friday, 04/16/21 at 9:00 p.m. CT

Due Date: 01/20/21

GitHub Assignment link available on D2LInstructions available in GitHub

Due Date: 01/27/21

GitHub Assignment link available on D2LInstructions available in GitHub

Due Date: 02/03/21

GitHub Assignment link available on D2LInstructions available in GitHub

Due Date: 03/10/21 at 9:00 p.m.

GitHub Assignment link available on D2LInstructions available in GitHub

Due Date: 03/24/21 at 9:00 p.m.

GitHub Assignment link available on D2LInstructions available in GitHub

Due Date: 03/31/21 at 9:00 p.m.

GitHub Assignment link available on D2LInstructions available in GitHub

Due Date: 04/07/21 at 9:00 p.m.

GitHub Assignment link available on D2LInstructions available in GitHub

Due Date: 04/21/21 at 9:00 p.m.

GitHub Assignment link available on D2LInstructions available in GitHub

Due Date: 04/07/21 at 9:00 p.m.

GitHub Assignment link available on D2LInstructions available in GitHub