CS 370 Creative Problem Solving and Team Programming
UVa Online Judge
http://uva.onlinejudge.org/index.php
Baylor Online Judge for past ACM ICPC (Intercollegiate Programming Contest) problems
https://icpcarchive.ecs.baylor.edu
HackerRank Online Judge
https://www.hackerrank.com
Sphere Online Judge
http://www.spoj.com
uHunt front end for UVa Online Judge
http://uhunt.felix-halim.net
ACM ICPC Regional Contest site for the Greater New York Region
http://www.acmgnyr.org
Project Euler
http://projecteuler.net
URI Online Judge
https://www.urionlinejudge.com.br
Introduction to competitive programming and working with
online judges. Fast input.
Create accounts on one or more contest sites.
SPOJ 450 INTEST
Working in teams:
Pre-contest preparation, dividing the work, developing test cases.
Numerical algorithms, part 1:
extracting digits of an integer without strings, storing visited
states in a lookup table.
Project Euler 4 (Largest Palindrome Product)
Numerical algorithms, part 2:
efficiently find factors and primes and to solve equations
numerically.
SPOJ 2 PRIME1 (Segmented Sieve of Eratosthenes)
String manipulation; recursive generating permutations
and combinations of a set.
SPOJ 4 ONP (Conversion to Reverse Polish Notation)
Using memoization combined with lists/sets to find all
optimal solutions to a problem.
SPOJ 33 TRIP (All Longest Common Subsequences)
Overcoming differences in languages; files, strings, and
bitwise operators.
Project Euler 59 (XOR Decryption)
Creating good test cases.
Implementing an algorithm for which there is no standard approach.
HackerRank -- Sorting -- Almost Sorting
Dynamic programming, part 1:
Recognizing problems that fit DP; comparison to memoization.
Project Euler 82 (Path sum: three ways)
Dynamic programming, part 2:
Practicing problems.
Project Euler 83 (Path sum: four ways)
Project selection. Class time: team work, seek advice.
Group Project and Presentation 1
Group presentations.
Project selection. Class time: team work, seek advice.
Group Project and Presentation 2
Group presentations.