UIL Computer Science Contest

Intro Slide

How do I prepare myself to compete in the UIL State Contest in Computer Science?

The discussion that follows is an answer to that question. We will talk about a systematic approach to training.

Structure of the Contest

The first thing that you must know is the structure of the CS contest and the rules. And the best place to start is UIL Academics page:

https://www.uiltexas.org/academics/stem/computer-science

Let us discuss those rules of the contest.

Once you are aware of the contest and the rules, then you should download the current Topics List and study it very carefully. On the second page of the Topics list are the first 15 questions. These are questions that you must not miss. Note that the last two questions are free response questions.

Basic Syntax of Java

Even though the topics list covers everything that will be on the UIL CS Contest it is not in the order that you study. Here is an outline of topics that makes better sense.

Once you have studied and assimilated the basic syntax of Java you sould start coding.

Here are some great sites to get started on programming:

Object Oriented Programming

There are four main principles in Object Oriented programming that you have to master:

Here are some tutorials to get you started:

Recursion

Some of the more difficult problems in the UIL Written Test involves tracing recursive code. There are some problems on the programming contest that can only be solved through recursion. Here are some resources to get you started:

Basic Data Structures and Algorithms

You have to know your basic algorithms in sorting, searching and merging.

These are the data structures that you will be tested on - Stacks, Queues, Linked Lists, Binary Search Trees, Heaps, and Graphs. Here are resources on data structures to get you started:

Classes of Algorithms

There are four classes of algorithms that you must be familiar with

Here is a brief discussion on these four classes of algorithms.

Special Topics

There are two special topics that you might see on the written test.

Beyond Basic Programming

What do you do when you have gone beyond the basic syntax and programming in Java?