C
S
C
- J
T
L
2015-2016
OMPUTER
CIENCE
OMPETITION
AVA
OPIC
IST
IMPORTANT NOTES: Java is the official programming language for UIL Computer Science. Contest content
for 2015-2016 will conform to the Java Platform Standard Edition, Version 8. This list is intended as a guideline
and is not all-inclusive. Knowledge of basic Java concepts is assumed. Visit the UIL web site at
for a list of Java resources and other important contest information.
Base Conversions and Arithmetic
User-Defined Classes (constructors, methods, instance variables, private vs. public, overloading, overriding, final local
variables, static final class variables, static methods, static non-final variables)
Constructors and initialization of static variables, default initialization of instance variables
Concepts of inheritance, abstract classes, interfaces and polymorphism
null, this, super, super.method(args), super(args), this.var, this.method(args),
this(args), instanceof
Conversion to supertypes and (Subtype) casts
Comparison of reference types (equals(), ==, !=, Comparable.compareTo())
Primitive types (int, double, boolean, short, long, byte, char, float), casting of primitives
Arrays, including arrays of arrays and initialization of named arrays
Arithmetic operators (+, -, *, /, %, ++, --) and string concatenation
Using the values of ++, -- expressions in other expressions
Assignment operators (=, +=, -=, *=, /=, %=)
Boolean expressions and operators (==, !=, <, <=, >, >=, &&, ||, !, &, |, ^) including short-circuit
evaluation
Bitwise operators (<<, >>, &, ~, |, ^, >>=, <<=,!=, &=, |=, ^=)
Branching (if, if/else, ?:, switch, break)
Looping (while, for, enhanced for, return, do/while, break, continue)
System.out.print(),println(),printf(), %f, %d, %s, escape sequences \n, \\, \”
Parsing (String.split(), Integer.parseInt(), Double.parseDouble())
Pattern class, Regex (.
[abc] [^abc] [a-zA-Z]) , matches
+
* \d \D
\s
\S
\w
\W
Java Standard Library (String, Integer, Double, Character, Math, Object, Comparable, Scanner,
Random, Arrays) See supplemental class reference list.
Generic collections (Collection, List, Set, Map, Stack, Queue, PriorityQueue, ArrayList,
LinkedList, HashSet, TreeSet, HashMap, TreeMap) See supplemental class reference list.
Arrays.sort() and Collections.sort()
Recursion
Stacks, Queues, Binary Trees, Linked Lists, Heaps, Hash Tables, Priority Queues, Graphs
Sorts (Selection, Insertion, Mergesort, Quicksort) and Searches (Sequential, Binary) – same canonicals as AP
Analysis of algorithms: informal comparison of running times, exact calculation of statement execution counts, Big-O
notation, best case / worst case / average case time and space analysis
Digital Electronics – symbolic representation of Boolean expressions using logic gates NOT, AND, XOR, OR, NAND,
NOR, NXOR
Two’s complement binary representation of negative 8-bit integers – conversion both ways between base 10 and base 2
Polish notation – representation, analysis, and conversion of simple infix, prefix, and postfix expressions
Boolean simplification using generic notation (A*B,A+B,A⊕B,, ∗ , + , – using truth tables and Boolean
Identities to analyze and simplify Boolean expressions (see list of identities on UIL CS website)