ACM Competitive Programming Club / CS 280
James Madison University, Spring 2018 Semester

When:  Tuesdays, 3:30 to 5:00 PM    Where:  ISAT/CS 143

Everyone is invited, although it is recommended that you complete CS 149 first to learn the basics of Java programming. The class is aimed primarily at sophomores and juniors who have taken CS 240 and are interested in partipating in programming contests next Fall semester.

CS 280 Syllabus


Schedule

This calendar will be updated every week as the semester progresses.

Reading section numbers are from the 3rd edition of Competitive Programming by Halim and Halim.

Date Reading Topic Contest In-Class
Problem
Contest
Problem
Problems
Due
Review
Due
Jan 09 1.1-1.2 Intro and Setup Week 1 hello fizzbuzz Jan 12 Jan 15
Jan 16 1.3-1.4 Coding Solutions Week 2 speedlimit easiest Jan 19 Jan 22
Jan 23 2.1-2.2 Lists Week 3 symmetricorder integerlists Jan 26 Jan 29
Jan 30 2.3 Sets and Maps Week 4 oddmanout recount Feb 02 Feb 05
Feb 06 - No class (assessment day) - - - - -
Feb 13 2.4 Trees Week 6 kitten rationalseq2 Feb 16 Feb 19
Feb 20 2.4 Graphs Week 7 weakvertices amoebas Feb 23 Feb 26
Feb 27 - BigInt/String Week 8 anagramcounting rhyming Mar 02 Mar 05
Mar 05-09 Spreak Break
Mar 13 - No topic (candidate talk) Week 9 3dprinter coast Mar 16 Mar 19
Mar 20 3.2 Complete Search (also see CP3 scan on Canvas) Week 10 fallingmugs owlandfox Mar 23 Mar 26
Mar 27 3.4 Greedy Algorithms I Week 11 plantingtrees virus Mar 30 Apr 02
Apr 03 4.4 Greedy Algorithms II Week 12 shortestpath1 shortestpath2 Apr 06 Apr 09
Apr 10 - Linear Programming (w/ geometry aside) Week 13 dirttech ogre Apr 13 Apr 16
Apr 17 3.5 Dynamic Programming Week 14 - whc Apr 20 Apr 23
Apr 24 - Final Contest (and pizza!) Week 15 ANY ANY Apr 27 N/A


Online Resources

Kattis: Main Website  /  Template Files (.zip)

Java: API Docs  /  Collections Framework

C++: Tutorial  /  Reference  /  STL Guide

Coding Challenges: CodinGame  /  CoderByte  /  CodeFights  /  HackerRank  /  Project Euler


Previous Schedules

Fall 2015  /  Fall 2016  /  Fall 2017