This course provides an introduction to the theory underlying computer algorithms.
Students successfully completing this class will have a basic understanding
of how algorithms for problem solving on computers are designed and analyzed, and will be
prepared begin independently designing algorithms to solve new problems.
The course begins with a tutorial of the
basic algorithmic analysis techniques, continues with a study of
basic algorithms for solving common computing problems, and concludes with a look
at computational complexity and approximate solutions.
Topics covered include analysis of recursive and nonrecursive algorithms; design techniques: brute force,
greedy, divide-and-conquer, dynamic programming, backtracking, branch-and-bound, space and time tradeoffs;
NP-completeness; approximation algorithms; computational problems:
sorting, searching, string processing, graphs, arithmetic, linear algebra.
The course objectives are:
- To learn major algorithm design techniques.
- To learn principal methods of algorithm analysis.
- To learn applications of the design and analysis frameworks to problems in the
principal areas of computing.
Most of the course readings will come from the following
book, with possible additional papers assigned for readings and as reference
Anany Levitin, Design and Analysis of Algorithms, 3rd edition (Amazon)
A detailed list of lectures, readings, assignments, due dates (subject
to change as the semester evolves) is available on the
Students will be evaluated based on the following breakdown:
- 25% Weekly quizzes (average of 10 best)
- 30% Midterm
- 40% Final
- 5% Class Participation
Scale: 50 ≤ C < 57 ≤ C+ < 64 ≤ B- < 71 ≤ B < 80 ≤ B+ < 87 ≤ A- < 94 ≤ A
The course will include one midterm and one final exam. Students
will be responsible for material covered both in the readings AND
lectures. Attendance is therefore recommended as not all class
discussions will be covered in the text. The average score of the
two exams must be ≥50 to pass the course.
10-minute quizzes will be given in the last course period each week. It is strongly suggested
that students do the reading prior class, as a good percentage of their
grade will depend on them. Quizzes missed because of absences can not be made up unless arrangements are made with
the instructor prior to the course
The instructor will assign homework assignments on a periodic basis for
topics associated with the class assignments. The
content of these assignments will be decided over the
course of the semester. While the assignments will not be graded, they
provide critical practice for the course material that will allow students to
perform well on the weekly quizzes and exams.
To do well in this course, students must take active and regular roles
in discussion and demonstrate comprehension of the reading and lecture
themes. Students are required to do the assigned reading before
class. This will be closely monitored by the professor, thereby
making a student's ability to demonstrate their comprehension of
material essential to a receiving a passing grade.
Disabilities and Learning Support
It is the policy of Villanova to make reasonable academic accommodations
for qualified individuals with disabilities. You must present verification
and register with the Learning Support Office by contacting 610-519-5176
or at email@example.com. Accommodations cannot be made
until verification is delivered to the professor, and cannot be enacted retroactively.
For physical access or
temporary disabling conditions, please contact the Office of Disability
Services at 610-519-4095 or email Stephen.firstname.lastname@example.org
Registration is needed in order to receive accommodations.
Academic Integrity Policy
All students are expected to uphold Villanova's Academic Integrity Policy and Code. Any incident of academic dishonesty will typically result in an "F" for the assignment and will be reported to the appropriate university officials. See the statement of the full policy on the
Graduate Arts and Sciences website. You can view the Academic Integrity Policy and Code, as well as other useful information related to writing papers, at the
Academic Integrity Gateway web site