This syllabus is subject to change based on specific class needs, especially the schedule. Significant deviations will be discussed in class.
This course will prepare students for programming contests, such as CCSC’s (Consortium for Computing Sciences in Colleges) student programming contest or the ACM (Associating for Computing Machinery) ICPC (International Collegiate Programming Contest) contest. By preparing for these contests students also gain valuable programming practice and review important computer science concepts learned in other classes. Most class meetings will be spent working on programming problems, either individually or in teams of 3.
There is no required course textbook, but any of the following are highly recommended:
It is highly recommended that you have a physical copy of one of these during any contest. Internet access is not allowed during competitions, nor are electronic devices.
During some class periods we may solve problems together using either REPL.it or binarysearch.io.
The exact topics covered will depend on the background of the students and how quickly they move through the material. Potential topics include:
• How Contests Work | • Arithmetic and Algebra |
• Contest Software | • Combinatorics |
• Solution Skeletons and I/O | • Backtracking |
• Data Structures | • Graph Traversal |
• Strings | • Graph Algorithms |
• Sorting | • Dynamic Programming |
• Grids | • Computational Geometry |
The class will be graded on a credit/no credit basis. For credit, you must complete all but one of the assigned problems (usually 1 per week), complete any assigned readings (which will be distributed to you), attend class regularly, and participate in class. All submitted code for assigned problems must run without crashing or generating an error (though it may not successfully solve the problem), and at least one submission must fully solve the problem. There is no final exam.
The weekly workload for this course will vary by student and by week, and will especially vary due to the nature of participation courses. On average, students should expect 4-5 hours per week on this course, including class meeting time.
Category | Time/Week (Hours) |
---|---|
Class Meetings | 2 |
Assigned Problems | 2 |
Total | 4 |
This schedule is provided only as a guideline. The actual topics and scheduling depends on the background of students and how quickly the material is covered.
Date | Topic | Assignments and Readings |
---|---|---|
Wed 01/22 | Contests and Contest Software | Online Judge, Specifications |
Fri 01/24 | Problem | |
Wed 01/29 | Solution Skeletons | Skeletons |
Fri 01/31 | Problem (pick one; no judge) | |
Wed 02/05 | Precise Input/Output | |
Fri 02/07 | ||
Wed 02/12 | Key Data Structures | A or B |
Fri 02/14 | ||
Wed 02/19 | Debugging, Strings | Problem OR Debugging Tutorial |
Fri 02/21 | ||
Wed 02/26 | Backtracking | Problem |
Fri 02/28 | ||
Wed 03/04 | Backtracking | |
(Fri 03/06) | (Exam Day for half-semester classes) | |
(Wed 03/11) | (Spring Break) | |
Wed 03/18 | Cancelled – COVID-19 | |
Fri 03/20 | ||
Wed 03/25 | Backtracking | |
Fri 03/27 | ||
Wed 04/01 | Graph Traversal | Problem |
Fri 04/03 | ||
Wed 04/08 | Graph Algorithms | Problem |
Fri 04/10 | ||
Sat 04/11 | CCSC Central Plains Competition (Cancelled – COVID-19) | |
Wed 04/15 | Dynamic Programming I | Problem |
Fri 04/17 | ||
Wed 04/22 | Dynamic Programming II | Problem |
Fri 04/24 | ||
Wed 04/29 | Interview Questions | Problem |
Fri 05/01 | ||
Wed 05/26 |
Note that there is no final exam.
Student Success and Accessibility Services offers FREE resources to assist Monmouth College students with their academic success. Programs include supplemental instruction for difficult classes, drop-in and appointment tutoring, and individual academic coaching. The office is here to help students excel academically, since everyone can work toward better grades, practice stronger study skills, and mange their time better.
Accessibility Services: If you have a disability or had academic accommodations in high school or another college, you may be eligible for academic accommodations at Monmouth College under the Americans with Disabilities Act (ADA). Monmouth College is committed to equal educational access. To discuss any of the services offered, please call or meet with Robert Crawley, Interim Director of Student Success and Accessibility Services. SSAS is located in the new ACE space on the first floor of Hewes Library, opposite Einstein Bros. Bagels. They can be reached at 309-457-2252 or via email at ssas@monmouthcollege.edu.