CMSC 351 - Algorithms



Section 0301:

This course presents an introduction to the techniques for designing efficient computer algorithms and analyzing their running times. General topics include asymptotics, solving summations and recurrences, algorithm design techniques, analysis of data structures, and introduction to NP-completeness.

Important Dates
  • Midterm I : Tuesday, October 05, 6:30 PM - 8:30 PM, Location: TBA
  • Midterm II : Thursday, November 11, 6:30 PM - 8:30 PM, Location: TBA
  • Final : Friday, December 17, 4:00 PM - 6:00 PM, Location: TBA

Course Information

Textbook (on reserve at McKeldin Library):
  • Cormen, Thomas H.; Leiserson, Charles E.; Rivest, Ronald L.; Stein, Clifford (2009). Introduction to Algorithms (3rd Ed.). MIT Press (any edition is fine).
Supplementary Book:

Schedule


Lectures


Week of
Monday
Wednesday
Friday
08/30 Introduction Maximum Contiguous
Subarray (MCS) sum
MCS Contd.
Dynamic Programming Approach /
Bubble Sort
09/06 No class - labor day Modified Bubble Sort /
Selection Sort
Insertion Sort Intro /
Insertion Sort (w/ sentinel)
09/13 Insertion Sort
( Average Case w/ sentinel ) /
Insertion sort w/o sentinel
Insertion Sort ( Average case w/o sentinel) /
Divide and Conquer
Mergesort
09/20 Heapsort
(Build Max-heap)
Heapsort (Sorting max-heap)
Build max-heap analysis
Heap sort Analysis /
Integer Addition
09/27 Integer Multiplication
(Elementary school algorithm)
Elementary school
algorithm analysis
Recursive Multiplication
10/04 Midterm Review Karatsuba "clever" method Lower & Upper bounds of functions (summations) / Integral approximations (summations)
(see A.2 in CLRS)

Staff

Instructor
Mohammad Nayeem Teli (nayeem at cs.umd.edu)

Office: IRB 1128
Office Hours: MWF 3:00 - 4:00 PM


Teaching Assistants

  • Jeovane Slater-Taylor, jmst at umd.edu
  • Jon Nelson, nelson1 at umd.edu
  • Gihan Jayatilaka, gihan+21cmsc351 at umd.edu
  • Alperen Keles, akeles at umd.edu
  • Ashwin Kammula, akammula at umd.edu

TA Office Hours


Day
Office hours (IRB 1108)
Monday Jeovane: 11:00 AM - 1:00 PM
Tuesday Alperen: 9:00 AM - 11:00 AM,
Gihan: 11:00 AM - 1:00 PM,
Jon: 2:00 - 4:00 PM
Wednesday Jon: 1:00 PM - 3:00 PM,
Ashwin: 2:00 PM - 4:00 PM
Thursday Alperen: 9:00 AM - 11:00 AM,
Gihan: 11:00 AM - 1:00 PM ,
Ashwin: 12:30 - 1:30 PM
Friday Jeovane: 1:00 PM - 3:00 PM


Class Resources

Online Course Tools
  • GradeScope - This is where you submit and view your homework submissions and see your grades.
  • ELMS - This is where you can see your final grades and homework solutions.
  • Piazza - This is the place for class discussions. Please do not post homework solutions here.


Background Material
The following web pages provide some background and other helpful information.



Exam Related Material

Homeworks

Click the name of an assignment below to see its specifications.


Homework Name
Due Date*
Homework 0 Fri. Sep. 03, 2021
Homework 1 Fri. Sep. 10, 2021
Homework 2 Sat. Sep. 18, 2021
Homework 3 Sat. Sep. 25, 2021
Homework 4 Sat. Oct. 02, 2021

* All homeworks are due at 11:59 PM on the due date.