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



When:  Wednesdays, 3:30 to 5:00 PM (the class is technically only 3:35-4:25)    Where:  ISAT/CS 246

This is the website for both the competitive programming club and the related section of CS 280 that is offered every Spring semester. Everyone is invited to join the club, although it is recommended that you complete CS 149 first to learn the basics of Java programming. The CS 280 course is aimed primarily at sophomores and juniors who have taken CS 240 and are interested in partipating in programming contests in the Fall semester.

Course Syllabus / Topic Week Rubric / Contest Week Rubric / Code Review Guidelines


Current Schedule

Date Reading Topic Kattis
Jan 09 1.1-1.2 Intro and Setup Week 1
Jan 16 Contest Week 2
Jan 23 2.1-2.3 Basic Data Structures (Slides) Week 3
Jan 30 Contest Week 4
Feb 6 2.4 Trees and Graphs (Slides) Week 5
Feb 13 Contest Week 6
Feb 20 Contest (SNOW DAY) Week 7
Feb 27 Graph Algorithms
Spring Break
Mar 13 Contest
Mar 20 3.4, 4.4 Greedy Algorithms
Mar 27 Contest
Apr 3 3.5 Dynamic Programming I
Apr 10 Dynamic Programming II
Apr 17 Contest
Apr 24 Fun!
Feb 27 Contest

Online Resources

Kattis: Main Website  /  Template Files (.zip)

Python: Tutorial  /  PythonTutor  /  Reference  /  Code Snippets

Java: API Docs  /  Collections Framework

C++: Tutorial  /  Reference  /  STL Guide

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

Textbook: "Principles of Algorithmic Problem Solving" by Johan Sannemo


Previous Schedules

Fall 2015  /  Fall 2016  /  Fall 2017  /  Spring 2018  /  Fall 2018