Spring 2016 Instructor: Room: Email: Phone: COSC 683 Security and Internet Algorithms Syllabus Marius Zimand YR466 mzimand@towson.edu (preferred way to reach me) 410 704 4967 Class Hours: Mon 7 pm – 9:40 pm, room YR401 Office Hours: Tu, Thurs 6:15-7:15 pm. Also by appointment to be arranged by email. I’m also available just after the class. Web page: The class will have a web page accessible from http://triton.towson.edu/~mzimand. Visit this page often for assignments, grades, notes, last-minute announcements. Text Book: There is no required textbook (because I did not found a book covering the appropriate material). I will post links to relevant web pages, but basically you need to take good notes. Course Description: State-of-the-art trends in mathematical and algorithmic techniques used in internet communication, search and ranking of massive data corpus (“big data”) and security. Topics include error-correcting codes, data compression, link analysis, basic techniques in machine learning (dimension reduction, clustering, mining social-networks graphs). Course Objectives: Learn modern algorithms relevant for internet applications (data compression, error-correcting codes, social-network graphs analysis, big data analysis). Learn mathematical tools used in the applications listed above (elements of probability, linear algebra, and abstract algebra). Grading Policy: Grading will be based on two exams, assignments, quizzes, one project (which may include, if time allows, a public presentation). A: 90-100, B: 80-89, C: 70-79, D: 60-69, F: <60. Evaluation Assignments and Quizzes: 25% Midterm exam: 25% Final exam: 25% Project: 25% Class participation, solutions to extra credit questions will also be taken into consideration. Notes: 1. 2. 3. 4. 5. 6. 7. 8. You will have to do one serious project that involves (a) some research in the literature of some topics that are not discussed in class and perhaps some (b) programming or the utilization of an existing software tool. You may work in teams of at most 3 students. In principle, you should cover an interesting area related to our course, write a good tutorial on it, implement it fully or partially, give a 45-60 minute presentation. Note that the project has a big weight for your final grade so allocate it enough time and start early. I encourage you to find yourself a good topic for the project (which, however has to be approved by me). We will discuss soon more in detail about it. I will also post a list of possible topics (just in case you do not find anything suitable). The project write-up should be typed nicely. Oral presentations should be carefully prepared. Sloppiness can cost you points. I will announce if there is a quiz on the web page the latest by Friday 11pm. before our class on Monday and I will also let you know if it is open notes or not, or if you can bring “cheat” sheets. So if there is no announcement, there is no quiz. Each quiz in principle will test the material covered in the last one or two classes; however since new concepts are built on top of older concepts, you should not count anything out, once it has been tested in a quiz. Roll will be taken each class meeting. Class attendance is expected (recall that there is no textbook). If you miss a class, you are responsible for the material presented in the lecture and for obtaining information about assignments. No makeup test will be given unless you can prove that some extreme circumstances have prevented you for attending the class on the day the test was given. The lectures will contain mathematical notions and mathematical proofs. The mathematical concepts will be covered from the basics, however the class requires some mathematical maturity. Assignments are to be handed in on the due date. Each day of delay will be penalized with 15%, so write down the date you have turned in the assignment. Of course, assignments cannot be accepted after the solution has been discussed in class, so, to be on the safe side, hand in your assignment at the beginning of the class. Copying and cheating will be harshly reprimanded. See the Student Handbook for the Academic Integrity Policy. The Student Handbook specifies that students may not repeat a course more than once without prior permission of the Academics Standards Committee. The final exam is scheduled for May 16, 7:30-9:30pm. There is no makeup day for the exam. Prerequisite: COSC 600 (or instruction permission). Course Outline (may suffer modifications) 1. Error-correcting codes: basic definitions, bounds on general codes, linear codes, Hamming codes, BCH codes, Reed-Solomon codes. 2. Data compression: entropy, Huffman algorithm, compression based on arithmetic codes, Lempel-Ziv algorithms, lossy compression. 3. Link analysis used be search engines: PageRank, random walks and biased random walks, hubs and authorities, link spam. 4. Mining social-networks graphs clustering in SN, graphs partitioning, communities discovery 5. Big data analysis dimension reduction (principal component analysis, singular-value decomposition), clustering techniques. 6. (if time allows) Computational complexity and cryptographic protocols. NP, NP-completeness, bit commitment, zero-knowledge protocols 7. (if time allows) Linear Programming.