CMPT 409 – Competitive Programming (Spring 2018)

Slides:



Advertisements
Similar presentations
Introduction to CS170. CS170 has multiple sections Each section has its own class websites URLs for different sections: Section 000:
Advertisements

Technology in Teaching Use it. Delight in it. Learning is more fun with it. Universal Design for Learning.
CS 232 Geometric Algorithms: Lecture 1 Shang-Hua Teng Department of Computer Science, Boston University.
CSC 212 – Data Structures Prof. Matthew Hertz WTC 207D /
CS 410 Applied Algorithms Applied Algorithms Lecture #1 Introduction, class information, first problems.
Welcome to MAT 170. Basic Course Information Instructor Office Office Hours Beth Jones PSA 725 Tuesday and Thursday 8 am – 8:30 am Tuesday and Thursday.
COMP 110 Introduction to Programming Jingdan Zhang June 20, 2007 MTWRF 9:45-11:15 am Sitterson Hall 014.
Course Introduction (Lecture #1) ENGR 107 – Intro to Engineering The slides included herein were taken from the materials accompanying Engineering Fundamentals.
Data Communication and Networks Lecture 0 Administrivia September 9, 2004 Joseph Conron Computer Science Department New York University
COMS W1004 Introduction to Computer Science May 29, 2009.
CSCE790: Security and Privacy for Emerging Ubiquitous Communication system Wenyuan Xu Department of Computer Science and Engineering University of South.
July 16, Introduction to CS II Data Structures Hongwei Xi Comp. Sci. Dept. Boston University.
Cpt S 471/571: Computational Genomics Spring 2015, 3 cr. Where: Sloan 9 When: M WF 11:10-12:00 Instructor weekly office hour for Spring 2015: Tuesdays.
CS 150 PERSONAL PRODUCTIVITY USING TECHNOLOGY Instructor: Xenia Mountrouidou.
ISE420 Algorithmic Operations Research Asst.Prof.Dr. Arslan M. Örnek Industrial Systems Engineering.
COMP 111 Programming Languages 1 First Day. Course COMP111 Dr. Abdul-Hameed Assawadi Office: Room AS15 – No. 2 Tel: Ext. ??
CS 103 Discrete Structures Lecture 01 Introduction to the Course
PHP Basics Course Introduction SoftUni Team Technical Trainers Software University
Chapter Eight Academic Survival Skills. Study Skills  For most students time is the greatest issue.  The first rule to follow is to allow two or three.
CSc 2310 Principles of Programming (Java) Dr. Xiaolin Hu.
Presented by Janine Termine Welcome 095 Basic Algebra.
Welcome to IIT and cs115!.
Prof. Matthew Hertz WTC 207D /
CMPUT 412 Experimental Mobile Robotics Csaba Szepesvári University of Alberta.
Introduction to Data Structures
How to Learn in This Course CS 5010 Program Design Paradigms “Bootcamp” Lesson 0.1 © Mitchell Wand, This work is licensed under a Creative Commons.
Holistic Rating Training Requirements Texas Education Agency Student Assessment Division ©2010 TEXAS EDUCATION AGENCY. ALL RIGHTS RESERVED.
ICS202 Data Structures King Fahd University of Petroleum & Minerals College of Computer Science & Engineering Information & Computer Science Department.
Web Fundamentals (HTML and CSS) Course Introduction SoftUni Team Technical Trainers Software University
MATH 1020: Chapter 0: Introduction MATH 1020: Mathematics For Non-science Chapter 0: An Introduction 1 Instructor: Prof. Ken Tsang Room E409-R9
Web Fundamentals (HTML and CSS) Course Introduction Svetlin Nakov Technical Trainer Software University
2011–2012 Holistic Rating Training Requirements Texas Education Agency Student Assessment Division.
1 CS 381 Introduction to Discrete Structures Lecture #1 Syllabus Week 1.
Data Structures and Algorithms in Java AlaaEddin 2012.
B. Prabhakaran1 Multimedia Systems Reference Text “Multimedia Database Management Systems” by B. Prabhakaran, Kluwer Academic Publishers. – Kluwer bought.
High-Quality Code: Course Introduction Course Introduction SoftUni Team Technical Trainers Software University
PHP Basics Course Introduction Svetlin Nakov Technical Trainer Software University
Introduction to CSCI 242 Compiled by S. Zhang 1. Syllabus Syllabus has the most updated information! –Use the information on the syllabus for the grading.
Networking CS 3470, Section 1 Sarah Diesburg
COMP390/3/4/5 Final Year Project Introduction & Specification
CSc 1302 Principles of Computer Science II
CMSC104 Problem Solving and Computer Programming Fall 2010 Section 01
It’s called “wifi”! Source: Somewhere on the Internet!
Richard P. Simpson Midwestern State University
University of Washington Computer Programming I
CSC 111 Course orientation
JavaScript Frameworks & AngularJS
Syllabus Overview CSE 6363 – Machine Learning Vassilis Athitsos
Ap computer science 2 AP COMPUTER SCIENCE A EXAM SPRING OF EVERY YEAR
Cpt S 471/571: Computational Genomics
Andy Wang Operating Systems COP 4610 / CGS 5765
Ms. Martin’s Chemistry Class
CMSC 104 Problem Solving and Computer Programming Fall 2010
EECE 310 Software Engineering
CSCE 489 Problem Solving Programming Strategies
Introduction to CS II Data Structures
Cpt S 471/571: Computational Genomics
CMSC104 Problem Solving and Computer Programming Fall 2010
Using of templates Please use this template for any presentations at ECC meetings You can of course use as many pages as you need/like. Format should be.
Intro to CIT 594
CMSC104 Problem Solving and Computer Programming Spring 2010
Andy Wang Operating Systems COP 4610 / CGS 5765
COMP390/3/4/5 Final Year Project Introduction & Specification
PHYS 202 Intro Physics II Catalog description: A continuation of PHYS 201 covering the topics of electricity and magnetism, light, and modern physics.
Andy Wang Operating Systems COP 4610 / CGS 5765
MECH 3550 : Simulation & Visualization
Course Overview CSE5319/7319 Software Architecture and Design
Andy Wang Operating Systems COP 4610 / CGS 5765
CS 410 Professional Workforce Development I Spring 2019
CS 232 Geometric Algorithms: Lecture 1
Presentation transcript:

CMPT 409 – Competitive Programming (Spring 2018) Binay Bhattacharya

CMPT 409 This course will deal with interesting variety of subjects in programming, algorithms and discrete mathematics through puzzles and problems which have appeared programming contests, such as ACM Programming Contest.

Course Goals To provide a challenging course for the motivated students to learn what makes programming/computer science fun and exciting. To strengthen the algorithmic intuition of students raised in the area of problem solving skills. To provide a cadre of good students for the ACM Programming Team.

Text book: S. Skiena and M. Revilla, Programming Challenges: The Programming Contest Training Manual, Springer-Verlag, 2003 Recommended Books: Steven and Felix Halim's Competitive Programming (Third Edition)

Grading Grades will be assigned based on performance on programming assignments (40%) programming contest 1(30%) programming contest 2(30%)

Assumed Backgrounds Should be a proficient programmer either in C/C++ or Java, but preferably both. Should know and be able use and implement basic data structures. Analysis of algorithms (big-O notation) Some problems involve geometry, probability, or linear algebra.

Learning Outcomes How to quickly read a programming contest word problem and formulate a feasible solution strategy. Quickly implement the strategy using appropriate languages, techniques and algorithms.

Forming Teams The subject of the e-mail should be Team 409 Each student is required to be a part of a 3-member team. Each team should designate a team coordinator. Each assignment/contest will be a team effort. One submission from each team will be accepted for a homework. Each student is required to register their team with UVa online judge (url: https://uva.onlinejudge.com). The userId of each team should be the last name of the the team coordinator followed by the last four digits of the coordinators student Id. I should receive an e-mail from each team with the following details: Team members Team coordinator Team userId The subject of the e-mail should be Team 409

Assignments There will be about 8-10 problem sets over the course of the semester. The problems are due one week after being assigned. You are not allowed to catch up on old problems after the deadlines. Each problem set will consists of 4 programming problems. The goal is to maximize the number of problems correctly solved (according to the online robot judge).

Problem Review Students will be regularly assigned a few problems from UVa judge and asked to read each problem and prepare a few lines (typed) description of how interesting/hard it is and what techniques are used to solve it. More info on this will be provided later.

Programming contest I plan to run two programming contests. The duration of each test is 3 hours. More details will be provided later.

Administrative Details The WWW page for the course is www.cs.sfu.ca/~binay/2018/409. All handouts and notes are available there, along with the latest announcements. Please visit the page often. Be sure to register Univ. de. Valladolid robot judges. All programs must eventually be submitted over https://uva.onlinejudge.org

Rules of the Game This course is designed to have a steady weekly flow. Almost each week, a new set of problems will be assigned, and a couple of lectures will be devoted to the algorithmic theory and possible solution methods associated with them. Students should read the relevant problems before the class.

Rules of the Game The grading of class assignments will be done by the robot judge at https://uva.onlinejudge.org . You are encouraged to do your programming in C language or C++, although other languages are also acceptable.

Rules of the Game You are allowed to look in any books you wish, but are honor bound not to search the WWW for help. This is to mirror the official contest conditions.

Rules of the Game I expect my lectures each week will be somewhat informal. This way I expect you to participate in the discussions more freely. A complete set of lecture slides are available from one of the authors’ webpage: http://www.algorithm.cs.sunysb.edu/programmingchallenges/ The slides follow the text quite closely. Has videos of the lectures as well.

About the ACM contest Programming contest stresses teamwork. 3 people with 1 computer per team. Many of the problems are well-know exercises packaged differently. The online judges provide very little feedback about why your program is wrong. Often you must debug it by reading the specifications again. More on this later.

A good source of resources codeforces.com/blog/entry/23054