CIS 151 Syllabus

advertisement
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.
Download