Course Syllabus

B403 Introduction to Algorithm Design and Analysis

Credits: 3

Prerequisite(s): CSCI-C 241, C 343 and MATH-M 216 or M 212.

Instructor: Erfan Sadeqi Azer (esadeqia@indiana.edu)
Time: 1:00PM-2:15PM Mon, Wed

(NEW) location: Ballantine Hall 247 (OLD)Lcation: (Lindley Hall, Room 101)

Office hours: Wednesdays 3-4. LH325. OR by email.

Assistant Instructor: Shambhavi Dhargalkar sdhargal@umail.iu.edu)

Office hours: Tuesdays 1pm to 2pm. LH125

Textbook: Introduction to Algorithms. by T. Cormen, C. Leiserson, R. Rivest, C. Stein. Third Edition.  [CLRS]

Supplementary Text: Algorithm Design. by Kleinberg and Tardos.

Important Dates

Contents:

  • Introduction to Asymptotic Notation 
  • Non-recursive algorithms
    • Search, Quadratic sort, Linear sort, exponentiation by squaring
  • Dynamic programming
    • Counting problems
    • Optimization problems
  • Greedy algorithms
  • Recursion and its Analysis
    • Substitution, tree, and master methods
  • Recursive Sorts
  • Divide and conquer
  • Graph algorithms
  • Network flows
  • NP-completeness
  • If time permits:
    • Approximation Algorithms
    • Randomized Algorithms
    • Algorithms for large data sets
    • Linear programming
    • String matching

Grading

  • Active participation
  • Weekly assignments (quiz)
  • One mini-project
  • Midterm(s)
  • Final exam

 

Weekly Assignments:

Each Monday, new assignments will be presented, they are due next Monday in class in hard copy. There will be quizzes once in a while on Mondays instead of assignment. Often times, just one question from your assignment will be graded. If you can, typeset in your favorite software and bring printed hard copy to class. If you are handwriting, make sure it is legible. 

All questions in the assignment should be worked by each individual. No collaboration from other students or people outside this class is allowed. However, meeting instructor and AI or referring to text books are always encouraged. Except some famous questions that will be labeled, for the rest of assignments consulting with web is NOT allowed.

No late policy in this course. You might hand in your assignments (or be ready to take the quiz) before 1pm each Monday.

Project:

You will be asked to solve a question from HackerRank website. You will have the choice over which programming language to use. Also, you will write a brief report for your experience.

Academic Honesty

All assignments and exams are individual. All the sources used for problem solution must be acknowledged, e.g. web sites, books, research papers, personal communication with people, etc. Academic honesty is taken seriously; for detailed information see Indiana University Code of Student Rights, Responsibilities, and Conduct.

Course Summary:

Date Details Due