Presentation is loading. Please wait.

Presentation is loading. Please wait.

CMPT 409 – Competitive Programming (Spring 2018)

Similar presentations


Presentation on theme: "CMPT 409 – Competitive Programming (Spring 2018)"— Presentation transcript:

1 CMPT 409 – Competitive Programming (Spring 2018)
Binay Bhattacharya

2 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.

3 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.

4 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)

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

6 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.

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

8 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: 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 from each team with the following details: Team members Team coordinator Team userId The subject of the should be Team 409

9 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).

10 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.

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

12 Administrative Details
The WWW page for the course is 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

13 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.

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

15 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.

16 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: The slides follow the text quite closely. Has videos of the lectures as well.

17 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.

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


Download ppt "CMPT 409 – Competitive Programming (Spring 2018)"

Similar presentations


Ads by Google