Texas UIL Computer Science

Index This web page contains information for the Texas UIL Computer Science contest. Please email Mike Scott with questions or suggestions.



2013     2012     2011     2010

Recent Updates

January 30, 2013. Information for the UTCS High School contest.

July 16, 2012: I have posted the 2012 state programming materials and written exams from the 2011 - 2012 year. I am no longer a director of the UIL CS contest and this web page will not be updated.

April 10, 2012: 2012 district materials are available for practice.

March 7, 2012: The topic list is unchanged from 2011.

Materials and results from the University of Texas at Austin Computer Science Department Open UIL Contest 2012

April 11, 2011: Written tests for invitational and District are posted along with programming from district. The written will be available until the state contest.

April 6, 2011 I have gotten permission from UIL to post all of last year's programming contest materials. They are in one large zip file.

February 14, 2011 Materials and results from the University of Texas at Austin Computer Science Department Open UIL Contest.

December 1, 2010: With the addition of graphs to the topic list I have created a study guide. (PDF format)

August 4, 2010: The topic list for 2010 - 2011 has been posted. (Added graph data structure, radix sort, and heap sort.)

March 22, 2010: Files and programs to help scoring the contest. (Note these are optional. You do not have to use them. You can use your own system if you wish.)

February 6, 2010 Materials and results from the University of Texas at Austin Computer Science Dpeartment Open UIL Contest.

May 25, 2009: Updated page with practice material, both written exams and programming problems. Moved older announcements to this page.

February 29, 2008: The revised contest director's guide for the pilot of the hands on contest at Districts has been posted. I have also updated the materials at the district hands on page with the 2008 version. (No significant changes from the 2007 materials.)

Useful Links UIL Homepage

UIL Computer Science Page

The Sun Microsystems Java homepage

Download the Java JDK Version 6.0

View the Java Standard Library Documentation (Version 6.0)

Download the Java Standard Library Documentation Scroll down to the link for "J2SE 6.0 Documentation" and click to download. The instructions for  installing the documentation are at this web page.

The Java compiler for Macintoshes

The PC^2 judging environment. This is a networked judging environment that may be used to judge hands on contests.

IDEs The Eclipse IDE (interactive development environment)

The BlueJ IDE

The JCreator IDE

TextPad. (Not really an IDE. A text editor, with some built in programming capability. (Syntax highlighting, ability to compile and run Java programs with keyboard shortcuts.)

References The Java Language Specification online (one of the official references for UIL Computer Science)

The Java Tutorial Online

Hands-On Programming Practice Problems Previous years' hands on problem sets for UIL Computer Science

JavaBat. Java bat was designed by Nick Parlante of Stanford University. These are simple programming problems that do not require reading from a file, but are very good for practicing logic, Strings, arrays, decision making, and loops. Problems can be written, compiled, and checked online.

Universidad de Valladolid hands on programming problems archive and online judging system.

The USA Computing Olympiad Training Program Gateway. More hands on programming problems.

Top Coder. A site that runs many programming contests. You must register to use the site. The practice rooms are especially useful.  Top Coder has a high school specific contest. See the link for more details.

The Computer Contest. A free contest with participation allowed over the internet.

Third Party Practice Materials and Teacher Resources

Best of Texas Contest. A distributed contest run over a period of several weeks.

technomustang.com 10,000 Practice questions from over 40+ areas.

Hexco Academic

Blue Pelican Java. An online textbook for high school Computer Science using Java.

A+ Computer Science Teaching Materials and Practice UIL tests and packets. Practice materials at this page. Online Practice contest and materials on this page.

APCentral. For teachers of AP computer science. Especially useful are the teacher's resources pages available from the course homepage. APCS A homepage.

Reading From Files

Java 6.0 is the official version for the hands on portion of the Regional and State contests. The Scanner class, a member of the Java Standard Library in version 5.0.

Here is a discussion about the ins and outs of using the Scanner class to solve problem number 2 from the 2004 regional programming contest. 

  • Scanner is in the util package, not the lang package so you need to include the line


     at the top of the class.

  • To create a Scanner object and connect it to a file you must create a File object based on the name of that file. This can be done with one line;

    Scanner s = new Scanner( new File("scores.dat"));

    Remember all programs are judged assuming the file is in the same directory as the compiled class file so do not put any path information on the file, just the file name. To use the file class you must include the line


    at the top of your program.

  • Unfortunately instantiating a File object can result in in an IOException and this is a checked exception so you either have to use a try-catch block or declare that the method that contains the code that generates the checked exception throws an IOException. In actual programming practice it would be much better to include a try-catch block, but for educational and programming contest purposes it is much easier to simply declare that main throws an IOException. Thus the declaration of the main method looks like this:

    public static void main(String[] args) throws IOException

  • IOException must also be imported. This can either be done as a separate import statement:

    import java.io.IOException;

    or since the program now needs multiple classes from the io package we can use the wildcard import. Again, not the best programming practice, but for contests, not a bad idea.

    import java.io.*;

Here is problem 2 from the 2004 regional programming portion of the contest solved using the Scanner class.

Other Contests

Back to Mike Scott's Homepage