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.
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 |
---|---|---|
Wed Jan 20, 2016 | Assignment Assignment 0 | due by 11:59pm |
Mon Jan 25, 2016 | Assignment Assignment 1 | due by 11:59pm |
Mon Feb 1, 2016 | Assignment Assignment 2 | due by 11:59pm |
Mon Feb 8, 2016 | Assignment Assignment 3(Quiz) | due by 11:59pm |
Wed Feb 10, 2016 | Assignment Midterm1 | due by 11:59pm |
Mon Feb 15, 2016 | Assignment Assignment 4 | due by 11:59pm |
Mon Feb 29, 2016 | Assignment Assignment 5 | due by 11:59pm |
Mon Mar 7, 2016 | Assignment Assignment 6 | due by 11:59pm |
Mon Mar 21, 2016 | Assignment Assignment 7 | due by 11:59pm |
Wed Mar 23, 2016 | Assignment Quiz | due by 11:59pm |
Fri Mar 25, 2016 | Assignment Report | due by 11:59pm |
Mon Mar 28, 2016 | Assignment Assignment 8 | due by 11:59pm |
Mon Apr 4, 2016 | Assignment Assignment 9 | due by 11:59pm |
Mon Apr 18, 2016 | Assignment Assignment 10 | due by 11:59pm |
Wed Apr 20, 2016 | Assignment Midterm2 | due by 11:59pm |
Assignment Quiz A | due by 11:59pm | |
Mon Apr 25, 2016 | Assignment Assignment 11 | due by 11:59pm |
Wed May 4, 2016 | Assignment Final | due by 11:59pm |
Assignment Active participation | ||
Assignment LateProject |