THIS PAGE IS BEING UPDATED. The hand1.ps or hand1.pdf documents contain the latest information about this course.
DISCLAIMER/NOTE: This is an automatic conversion of the PDF document hand1.pdf; in case there are inconsistencies between this online document and hand1.pdf/hand1.ps the latter will be followed and considered correct. This online page is for your convenience only.Sequential and parallel algorithms for numerical and combinatorial problems will be discussed. The use of randomization in the solution of algorithmic problems will be explored. Applications to be considered will include string matching, polynomials and FFT algorithms, sorting networks, algebraic computations and primality testing and factoring, matrix operations, randomized algorithms for sorting and selection, and data compression. Search-indexing data structures (inverted lists) will be examined. Web ranking algorithms such as Google's PageRank, and Kleinberg's HITS will also be discussed. Topics in computational geometry will be examined.
Contact Information
INSTRUCTOR: | Alex Gerbessiotis | E-MAIL: | alg667 AT cs.njit.edu |
OFFICE: | GITC 4213, 4th floor | TEL: | (973)-596-3244 |
OFFICE HOURS: | Mon and Wed 10:30-11:30am, Mon 4:00-5:30pm | ||
OFFICE HOURS: | By appointment some other time on Mon,Tue,Wed | ||
ASSISTANT: | TBA on course web-page | ||
CLASS HOURS: | Wed 6-9pm, Room TBA |
Course Web Page: http://www.cs.njit.edu/~alexg/courses/cs667/index.html
The following also works: http://web.njit.edu/~alexg/courses/cs667/index.html
Print Handout 1 from Web-page and compare the printout to this document! They must be identical.
Course Administration
Week Wed Homework Status **** **** ********************************** W1 9/ 5 W2 9/12 HW1 out W3 9/19 W4 9/26 HW2 out HW1 in W5 10/3 HW1 returned W6 10/10 HW3 out HW2 in W7 10/17 HW2 returned W8 10/24 HW4 out HW3 in W9 10/31 HW3 returned W10 11/7 HW5 out HW4 in W11 11/14 HW4 returned W12 11/28 HW5 in W13 12/5 HW5 returned W14 12/12 W15 12/19 ***************************************************
The following describes a tentative list of topics that is intended to be covered in class. The code Ti refers to a topic. A topic may spread over one or more lectures. The code ALi refers to the ACM Computing Curricula 2001 topic description code. In parentheses, we provide an approximate number of hours per topic. Hour coverage may change depending on demand and circumstances (eg. weather).
AL3 : Fundamental Computing Algorithms (15 hours) AL8 : Advanced Algorithmic Analysis (10 hours) AL6 : Complexity ( 3 hours) AL9 : Cryptographic Algorithms ( 5 hours) Al10: Geometric algorithms ( 3 hours) AL11: Parallel algorithms ( 6 hours)
Topics to be covered
T1 : AL3 : Representation of Polynomials, Polynomial evaluation with and without preprocessing. Lower bounds for polynomial evaluation. Exponentiation. Polynomial algorithms for multiplication (Karatsuba's Algorithm). T2 : AL8 : Polynomial Interpolation and Convolution. DFT and FFT and FFT implementations. Applications to information hiding. T3 :AL8/9 : Arithmetic algorithms (eg. Euclid's algorithm) and the bit model, solution of modular equations, Chinese Remainder Theorem, Power raising through repeated squaring, primality testing (Miller-Rabin algorithm), Pollard's rho method for integer factorization. Public key cryptography and the RSA cryptosystem. T4 : AL11 : Comparison networks, zero-one principle for sorting, bitonic and odd-even merge sort. T5 : AL11 : The PRAM model for parallel computation. Parallel algorithms for arithmetic problems and sorting. Parallel prefix. T6 : AL3 : Matrix operations, Strassen's algorithm for matrix multiplication, boolean matrix multiplication, solution of linear equations and matrix inversion. Complexity Results. T7 : AL3 : Algorithms for string matching. Rabin-Karp. Knuth-Morris-Pratt. Boyer-Moore. T8 : AL9 : Randomization and its application: Sorting, Selection and Number Theory T9 : AL3 : Data Compression (Huffman coding). T10: AL8 : A quick overview on hashing. T11: AL6 : Complexity classes (P,NP,RP,BPP,ZPP) T12: AL10 : Geometric Algorithms T13: AL8 : Google's PageRank and Kleinberg's HITS algorithms; Inverted Indexes.
Any modifications or deviations from the posted dates, will be done in consultation with the attending students and will be posted on the course Web-page. It is imperative that students check the Course Web-page regularly and frequently.
Course Policies