CISC 367 Rapid Prototyping

Course meets 7-10pm Thursdays, in 051 McKinley.

------------- Catalog Description: -----------------------------
CISC 367-011 TPCS: Programming Practicum: Rapid Prototyping
Credits: 01
Programming projects typically need teams of programmers to rapidly develop proof-of-concept working implementations. The course is a 3 hour weekly lab without additional work time.
Prerequisites: CISC220
----------------------------------------------------------------

Coach: David Saunders
Coach Emertius: Ben Breech Web page under construction.

Problems

Handout on the Standard Template Library.

Some useful links:

  • Thurs, Sept 4:
    1. rationalneighbor.C
    2. Some test data for rational neighbor.
    3. www.radford.edu/~acm/midatl/docs/pastProblems/07contest/, open MidAtlantic2007.pdf

  • Thurs, Sept 11: Theme - tree and graph traversals.
    1. Last year's Mobile problem (problem B here). A vector summary.
      1. Design and submit by email a test suite for this problem.
      2. Finish the function balance() in mobile.C to complete the solution.
    2. friendly influences: Handout of page from CACM, August 2008, page 104 and this description.
      1. Design and submit by email a test suite for this problem.
      2. Write a solution. You may use the files graph.h and graph.C as template/guide.
  • Thurs, Sept 18: A map summary.
    1. oddly-even
      1. Design and submit by email a test suite for this problem. A test suite includes input and corresponding output!
      2. Solve the problem for positive integers less than one billion.
      3. Solve the problem for arbitrarily long positive integers and submit by email for judging. Use a vector of chunks to represent the number.
    2. Out of Sight: (problem C here).
      1. Design and submit by email a test suite for this problem.
      2. Solve the problem and submit by email for judging. Use a vector of vector of vector of ?.

    Thurs, Sept 25: About stringstreams.

    1. problem selection exercise, 20 minutes.
      1. Read the 11 problems at the rate of 1 per minute (scribble quick notes)
      2. Take the next 9 minutes to write an email to me listing the 11 problems in rank order of difficulty (for you) and a brief comment about what is the crux of the matter.
    2. Censorship(problem D here).
      1. Design and submit by email a test suite for this problem (with solutions).
      2. Solve the problem and submit by email for judging. You can start with w.C.

    Thurs, Oct 2:

    1. Romeo and Juilet.
    2. Romeo and Juilet partial solution.
    3. Vice Presidential Debate

    Thurs, Oct 9: review ref-doc.pdf .

    1. Onion Core.
    2. Problem C, MidAtlantic 2005 contest.

    Thurs, Oct 16: Practice Contest.

    Thurs, Oct 23:

    1. count-change.C.
    2. count-change-memoized.C.
    3. fib2.C.

    Sat, Oct 25: all day - contest STarting at 7:30 at Smith Hall!!!

    Thurs, Oct 30: review

    Remarks from BB:

  • Online Judge: http://icpcres.ecs.baylor.edu/onlinejudge/index.php

    That site maintains archive copies of contest problems. There are 2 different volumes of problems; Problem Set Volumes and Contest Volumes. The Problem Set volumes are problems from various regional (and perhaps world) contests. [I did actually recognize a few of them as Mid Atlantic contest problems.] The contest volumes are copies of problems of contests run by that site. [These can rely alot on "silly tricks", e.g., setting the time limit so low or setting the input so high that you can only do the problem if you know the trick the author was thinking of.] I pulled problems from both sets.

    The site always you to register and submit your own solutions to problems for automatic judging. The judging isn't too bad (but presentation errors can be annoying...)

    Occasionally the site runs contests and allows anyone from the world to join in. I've never joined one of these as the times were usually inconvenient (UVa is in Spain and the folks running the site are there).

  • Online board: http://online-judge.uva.es/board/

    Forum site for discussing problems from the archive. You do not need to be registered to read, but do need registration to post. Most of the problems [but not all] have a topic associated with them on the forum. You can find some extra test data here sometimes. (The better posts ask "what's the output for this input" and they get a response from someone who's gotten the problem accepted.)