COMS W4995-3: Advanced Algorithms (Spring 17) Jan 18, Course Information

Similar documents
Data Structures and Algorithms

Course Content Concepts

CS 100: Principles of Computing

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Office Hours: Mon & Fri 10:00-12:00. Course Description

State University of New York at Buffalo INTRODUCTION TO STATISTICS PSC 408 Fall 2015 M,W,F 1-1:50 NSC 210

CS Course Missive

CHEM 6487: Problem Seminar in Inorganic Chemistry Spring 2010

(Sub)Gradient Descent

Mktg 315 Marketing Research Spring 2015 Sec. 003 W 6:00-8:45 p.m. MBEB 1110

Business Analytics and Information Tech COURSE NUMBER: 33:136:494 COURSE TITLE: Data Mining and Business Intelligence

Foothill College Summer 2016

Economics 201 Principles of Microeconomics Fall 2010 MWF 10:00 10:50am 160 Bryan Building

CHMB16H3 TECHNIQUES IN ANALYTICAL CHEMISTRY

Class Meeting Time and Place: Section 3: MTWF10:00-10:50 TILT 221

S T A T 251 C o u r s e S y l l a b u s I n t r o d u c t i o n t o p r o b a b i l i t y

Honors Mathematics. Introduction and Definition of Honors Mathematics

TU-E2090 Research Assignment in Operations Management and Services

Syllabus Foundations of Finance Summer 2014 FINC-UB

CS 101 Computer Science I Fall Instructor Muller. Syllabus

ASTRONOMY 2801A: Stars, Galaxies & Cosmology : Fall term

DEVM F105 Intermediate Algebra DEVM F105 UY2*2779*

Accounting 312: Fundamentals of Managerial Accounting Syllabus Spring Brown

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography

ME 4495 Computational Heat Transfer and Fluid Flow M,W 4:00 5:15 (Eng 177)

T Seminar on Internetworking

PSYCHOLOGY 353: SOCIAL AND PERSONALITY DEVELOPMENT IN CHILDREN SPRING 2006

AN EXAMPLE OF THE GOMORY CUTTING PLANE ALGORITHM. max z = 3x 1 + 4x 2. 3x 1 x x x x N 2

Lecture 1: Machine Learning Basics

GCSE Mathematics B (Linear) Mark Scheme for November Component J567/04: Mathematics Paper 4 (Higher) General Certificate of Secondary Education

SOUTHERN MAINE COMMUNITY COLLEGE South Portland, Maine 04106

3D DIGITAL ANIMATION TECHNIQUES (3DAT)

Foothill College Fall 2014 Math My Way Math 230/235 MTWThF 10:00-11:50 (click on Math My Way tab) Math My Way Instructors:

Theory of Probability

ACCT 100 Introduction to Accounting Course Syllabus Course # on T Th 12:30 1:45 Spring, 2016: Debra L. Schmidt-Johnson, CPA

(I couldn t find a Smartie Book) NEW Grade 5/6 Mathematics: (Number, Statistics and Probability) Title Smartie Mathematics

Syllabus - ESET 369 Embedded Systems Software, Fall 2016

HIDDEN RULES FOR OFFICE HOURS W I L L I A M & M A R Y N E U R O D I V E R S I T Y I N I T I A T I V E

Grading Policy/Evaluation: The grades will be counted in the following way: Quizzes 30% Tests 40% Final Exam: 30%

School: Business Course Number: ACCT603 General Accounting and Business Concepts Credit Hours: 3 hours Length of Course: 8 weeks Prerequisite: None

EECS 571 PRINCIPLES OF REAL-TIME COMPUTING Fall 10. Instructor: Kang G. Shin, 4605 CSE, ;

BUS Computer Concepts and Applications for Business Fall 2012

Navigating the PhD Options in CMS

Grade 6: Correlated to AGS Basic Math Skills

Diagnostic Test. Middle School Mathematics

Master of Statistics - Master Thesis

General Microbiology (BIOL ) Course Syllabus

University of Waterloo School of Accountancy. AFM 102: Introductory Management Accounting. Fall Term 2004: Section 4

ACTL5103 Stochastic Modelling For Actuaries. Course Outline Semester 2, 2014

MTH 141 Calculus 1 Syllabus Spring 2017

B. How to write a research paper

Lahore University of Management Sciences. FINN 321 Econometrics Fall Semester 2017

Department of Statistics. STAT399 Statistical Consulting. Semester 2, Unit Outline. Unit Convener: Dr Ayse Bilgin

STA2023 Introduction to Statistics (Hybrid) Spring 2013

Professors will not accept Extra Credit work nor should students ask a professor to make Extra Credit assignments.

Stochastic Calculus for Finance I (46-944) Spring 2008 Syllabus

Page 1 of 8 REQUIRED MATERIALS:

Python Machine Learning

Sul Ross State University Spring Syllabus for ED 6315 Design and Implementation of Curriculum

Mathematics subject curriculum

ACADEMIC POLICIES AND PROCEDURES

Scholarship Application For current University, Community College or Transfer Students

Measurement. When Smaller Is Better. Activity:

EECS 700: Computer Modeling, Simulation, and Visualization Fall 2014

Biology 10 - Introduction to the Principles of Biology Spring 2017

Pitching Accounts & Advertising Sales ADV /PR

Syllabus ENGR 190 Introductory Calculus (QR)

22/07/10. Last amended. Date: 22 July Preamble

ENG 111 Achievement Requirements Fall Semester 2007 MWF 10:30-11: OLSC

Phys4051: Methods of Experimental Physics I

Spring 2015 IET4451 Systems Simulation Course Syllabus for Traditional, Hybrid, and Online Classes

Presentation Advice for your Professional Review

Study Center in Prague, Czech Republic

CALCULUS III MATH

Self Study Report Computer Science

POFI 1349 Spreadsheets ONLINE COURSE SYLLABUS

PreAP Geometry. Ms. Patricia Winkler


MTH 215: Introduction to Linear Algebra

writing good objectives lesson plans writing plan objective. lesson. writings good. plan plan good lesson writing writing. plan plan objective

Instructor: Matthew Wickes Kilgore Office: ES 310

South Carolina College- and Career-Ready Standards for Mathematics. Standards Unpacking Documents Grade 5

Lecture 10: Reinforcement Learning

MATH 205: Mathematics for K 8 Teachers: Number and Operations Western Kentucky University Spring 2017

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Mathematics. Mathematics

Getting Started with Deliberate Practice

GEOG 473/573: Intermediate Geographic Information Systems Department of Geography Minnesota State University, Mankato

INTERMEDIATE ALGEBRA Course Syllabus

Shockwheat. Statistics 1, Activity 1

content First Introductory book to cover CAPM First to differentiate expected and required returns First to discuss the intrinsic value of stocks

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

LING 329 : MORPHOLOGY

Designing for Visualization & Communication

MASTER OF ARTS IN APPLIED SOCIOLOGY. Thesis Option

PSYC 2700H-B: INTRODUCTION TO SOCIAL PSYCHOLOGY

Course Policies and Syllabus BUL3130 The Legal, Ethical, and Social Aspects of Business Syllabus Spring A 2017 ONLINE

SOC 175. Australian Society. Contents. S3 External Sociology

Discriminative Learning of Beam-Search Heuristics for Planning

MAR Environmental Problems & Solutions. Stony Brook University School of Marine & Atmospheric Sciences (SoMAS)

Transcription:

COMS W4995-3: Advanced Algorithms (Spring 17) Jan 18, 2017 Instructor: Alex Andoni Course Information 1 Basic Information Lectures: Time: Mon, Wed, at 2:40-3:55pm. Location: Zankel 408, in Teacher s College (enter Teacher s college on the north side of the 120th St, and proceed to the 4th floor). Instructor: Alex Andoni (andoni@cs.columbia.edu) Office hours: Mon 4:15-6:15pm or by appointment; office: Mudd 420 (inside the Data Science Institute). Teaching Assistants: Erik Waingarten (eaw@cs.columbia.edu). Peilin Zhong (pz2225@columbia.edu). Rex Lei (rl2746@columbia.edu). Office hours will be announced on the Courseworks. Website: There is no textbook, but there s a website with regular updates and links to lectures, and additional resources: http://algorithms.wikischolars.columbia.edu/ Courseworks: Class announcements, including homework assignments will be posted on Courseworks. Piazza: There is also a Piazza forum setup for the class (accessible through the Courseworks). You are encouraged to discuss class lectures and related topics, as well as ask questions or clarifications. (But you cannot discuss homework solutions on Piazza.) 2 Course Goals The goals of the class are to introduce you to classic and modern algorithmic ideas that are central to many areas of Computer Science. The focus is on most powerful paradigms and techniques of how to design algorithms, and how to measure their efficiency. The intent is to be broad, covering a diversity of algorithmic techniques, rather than be deep. The covered topics have all been implemented and are widely used in industry. At the end of the class, expect to: 1

know a diversity of classic algorithmic tools, be able to design algorithms for computational problems arising in your area, be able to read research-level papers in the field of algorithms. Topics to be covered: Hashing (2 lectures): universal hashing, perfect hashing power of 2 choices, concentration bounds (Chernoff/Hoeffding). Sketching/Streaming (4 lectures): approximate counting, Morris algorithm distinct elements count, impossibility results heavy hitters, countsketch algorithm frequency moments, dimension reduction, p-stable distributions. Nearest Neighbor Search (2 lectures): sketching, nearest neighbor search Locality Sensitive Hashing algorithm. Graph algorithms (3 lectures): flows decomposition and augmenting paths capacity scaling algorithms max-flow algorithms. Spectral Graph Theory (4 lectures): linear algebra overview, and graph Laplacian spectrum of graph Laplacians graph cuts, Cheeger inequality expander graphs, applications. Linear Programming (6 lectures): introduction to Linear Programming (LP), structure of optima strong duality, complementary slackness simplex and ellipsoid algorithms gradient descent, iterative methods interior point method multiplicative weights update, zero-sum games. 2

Models for large-scale computation (2 lectures): external memory, cache-oblivious algorithms parallel algorithms. Other topics (remaining lectures, time-permitting): Fast Fourier Transform Compressed Sensing Expander codes 3 Prerequisites First and foremost, mathematical maturity is a must: the class is based on theoretical ideas and is proof-heavy. You are expected to be able to read and write formal mathematical proofs. Furthermore, some familiarity with algorithms and randomness will be assumed as well. COMS 4231 (Analysis of Algorithms) or equivalent is recommended, but not required if you have solid math background. Here is a rough list of math/cs topics that you are expected to know or have background in: basic linear algebra (eigenvalues, eigenvectors); basics of probability theory (linearity of expectation, variance, Markov bound); asymptotic analysis of algorithms, runtime analysis; hashing, or binary search trees; graphs. 4 Evaluation and Grading Your grade is based on the following three components: Scribing (1 lecture): 10%; 5 homeworks: 55%; Project (including 2 preliminary short reports): 35% (including 5% for each of the 2 preliminary reports, and 25% for the final write-up). 5 Scribing You will have to scribe 1 lecture, likely jointly with one or 2 of your colleagues (depending on the final enrollment). Scribes are due by midnight next day after lecture. You have to use the LaTeX template available on the class website. The scribed lecture will be posted immediately after it is received so that the rest of the class can use it before the following lecture. The staff will review the scribe, and, if necessary, the scriber(s) will be asked to rectify the lecture. 3

6 Homeworks Homeworks will be assigned roughly every two weeks and will be posted on Courseworks. They will be due in class on their due date before the lecture starts. Please follow the Homework Submission Guidelines below. Late policy. You have a default 5 days of extension (fractions of a day are rounded up), over all the homeworks. Once you ve used up the 5 days, late homeworks will be penalized at the rate of 10%, additively, per late day or part thereof (i.e. fractions of a day are rounded up), for up to 7 days. To allow us to distribute the solutions in a timely fashion, homeworks submitted more than 7 days after the deadline will not be accepted. Exceptions will be made only for exceptional unforeseen circumstances (e.g., serious illness), in which case you will need to provide some additional documentation (e.g., doctor s note). You are strongly encouraged to start working on the homeworks early: some problems may require you to sit on the problem for a while before you get your aha moment. Starting early also gives you time to ask questions and make effective use of the office hours of the teaching staff. Writing up solutions: precise and formal proofs. The goal of the class, in part, is for you to learn to reason about algorithms, precisely describe them, and formally prove claims about their correctness and performance. Hence, it is important that you write up your assignments clearly, precisely, and concisely. Legibility of your write-up will be an important factor in its grading. When writing up (algorithmic) solutions, keep in mind the following: The best way for you to convey an algorithm is by using plain English description. A worked example can also help; but revert to pseudocode only if necessary. Generally, give enough details to clearly present your solution, but not so many that the main ideas are obscured. The analysis of the algorithm has to include both 1) proof of correctness, and 2) upper bound on performance (usually runtime, but sometimes space as well). You are encouraged (but not required) to type up your solutions using LaTeX. Latex is the standard package for typesetting and formatting mathematically-rich content. Since LaTeX knowledge is a good life skill, now may be a good chance to learn it. A short mini-course on LaTeX is available here: http://www.ctan.org/tex-archive/info/lshort/english/lshort.pdf. Macros to format pseudocode are available at http://www.cs.dartmouth.edu/~thc/clrscode/ You are encouraged to use the template available on Coursework. Note that our lectures will generally be at a slightly lower level of formalism, in the interest of time. Clarity points. To encourage clarity (and conciseness), for each problem, 20% of the points are given for the clarity of your presentation. In particular, you will be awarded a default 20% of the points for an empty solution (note that, if you submit no coversheet whatsoever, you get only 0%). Note that you can lose these 20% if you write something that is unintelligible, does not lead to a solution, or is excessively long (including scoring a 0%). 7 Collaboration and Academic Honesty Collaboration: you are permitted to discuss the homework assignments. If you collaborate, you must write the solutions individually (without looking at anybody else s solutions), and acknowledge anyone 4

with whom you have discussed the problems. It will be considered an honor code violation to consult solutions from previous years, from the web or elsewhere, in the event that homework problems have been previously assigned or solutions are available elsewhere. You are expected to abide by the policies of academic honesty. The CS department web page lists the department s academic honesty policies: http://www.cs.columbia.edu/education/honesty. 8 Homework Submission Guidelines Submit your homeworks electronically via Courseworks in pdf format. You may write solution by hand, in which case you should either scan or photograph your solutions. Homeworks are due on the specified due date 10minutes before the class starts (i.e., at 2:30pm). Please identify yourself and each problem clearly at the top of each page. Write your name and UNI, and the problem number. Collaborators must be mentioned for each problem. 9 Final Project In the final project you will delve into a particular topic in more detail in a team of your own. The final projects can be of three types: Reading-based: read a few recent research papers on a concrete topic and summarize them. Implementation-based: implement some of the algorithms from the class (or from other theoretical literature), and perhaps apply to your area of interest/expertise, using real-world datasets. One aspect of such projects will be a comparison among a few algorithms. Research-based: investigate a research topic on your own (eg, develop an algorithm, and prove its properties; or prove an impossibility result). It may be more applied: e.g., perhaps in your area, certain theoretical algorithms can be modified to have even better performance, due to special properties of the datasets, etc. Teams: you are allowed to have a team of up to 4 people in total per team. Single-person teams are not encouraged and need special permission from the instructor (the reason is that the topics are hard, and having a collaborating partner/s will qualitatively improve your experience). You are encouraged to find a team early, and discuss with the instructor the potential topics. There will be 2 partial reports PR1 and PR2 in the schedule. PR1 will be a proposal for the project, and PR2 will be a progress report. Each will be of 1 4 pages long (exact details forthcoming). Topic: the topic of your project must be within the scope of Theoretical Computer Science, and preferrably algorithmic. In particular, the focus is on algorithms with provable guarantees (for the implementation type, you may compare such theoretical guarantees with heuristics though). More details and suggestions will be given later in the class. 5

10 Callendar (tentative) Below is the schedule of assignments. Information regarding what each lecture covers will be periodically updated on the course website. Lecture Date HW out HW/P due 1 1/18 2 1/23 3 1/25 HW1 out 4 1/30 5 2/1 6 2/6 7 2/8 HW2 out HW1 due 8 2/13 9 2/15 2/20 optional lecture (President s Day) 10 2/22 HW3 out HW2 due 11 2/27 12 3/1 13 3/6 14 3/8 HW3 due 3/13 NO CLASSES: Spring Break 3/15 NO CLASSES: Spring Break 15 3/20 16 3/22 HW4 out PR1 due 17 3/27 18 3/29 19 4/3 20 4/5 HW4 due 21 4/10 22 4/12 23 4/17 HW5 out PR2 due 24 4/19 optional lecture 25 4/24 optional lecture 26 4/26 optional lecture 27 5/1 optional lecture HW5 due 5/12 Final projects due Project due 6