American Computer Science League
Contest #1

Contest #1 Schedule
30 Minute TestFriday14 Dec 2007
Take Home ProblemFriday14 Dec 2007
Return ProblemMonday17 Dec 2007

  1. ACSL Handout: Computer Number Systems

    Computer Number Systems Handout To Prepare For ACSL Contest #1

    Click here for links to further resources on number systems.

    What you must know about number systems for the 2007/08 ACSL Contest #1:

    1. Count in the binary, octal and hexadecimal number systems.

    2. Convert numbers from one base (decimal, binary, octal, hexadecimal) to another.

      • Convert a decimal number to a binary number.
      • Convert a binary number to a decimal number.
      • Convert a decimal number to an octal number.
      • Convert an octal number to a decimal number.
      • Convert a decimal number to an octal number.
      • Convert an octal number to a binary number.
      • Convert a binary number to a hexadecimal number.
      • Convert a hexadecimal number to a binary number.
      • Convert a binary number to a binary number.
      • Convert a decimal number to a binary number.

    3. Add, subtract, multiply and divide in the number systems.

      Convert everything to decimal → do the math → convert to target base.

    4. Solve for the unknown value X in an equation with values of the same base.

      Example:      X16 = FEED16 - 6ACE16
    5. Solve for the unknown value X in an equation with values of different bases.

      Example:      X378 = 1XF16

  2. ACSL Handout: Recursive Functions

    An extensive treatment of Recursion Using Java offers a wealth of instruction on how recursion is applied in computer programming, but note that the ACSL contest requires the mathematical treatment of recursion.

    Learn about applying recursion in the Java programming language by studying the Recursion Tutorial [csg] [web] retrieved from the web site of North Carolina teacher Ruth Hartsook but note that the ACSL contest requires the mathematical treatment of recursion.

    Three Rules For Recursion:

    1. Find out how to take just one step.

    2. Break each journey down into one step plus a smaller journey.

    3. Know when to stop.

    Source: How TO teach and NOT TO teach Recursion (opinions from the experts?), page 14 [pdf] by Fran Trees


  3. ACSL Handout: LISP Programming

  4. Take Home Computer Program Problem Syntax - using IF ... THEN

    Sample Java Contest Program CalcWages.java
    Read Input from File & Write Output to Screen wpd

    CalcWages.java with Documentation
    CalcWages.java with Loop & No Docs
    Data File:    CalcWages.in

    See Donaldson's published solutions for both [ ] [ wpd ] as well as source code solutions of Intermediate Triangles.java and Senior Triangles.java


URL:   http://www.comscigate.com/    Last Revised:  November 30, 2007