Competitions
Competitions test your problem solving skills and algorithmic thinking! Competitive Programming is a great way to gain valueable experience for CS.

Us at HPE CodeWars :D
General Structure
Programming Portion
The general structure of a programming contest is the following:
- 15-20 Programming problems to solve in 2-3 hours. Problems cover fundamentals, datastructures, algorithms, and overall problem solving.
- You will be in teams of up to 3. At least one of your team members must have a device capable of writing and running code. One device per team. Online editors don't count as you won't have an internet connection during the contest period.
- You must have a programming language installed on your machine. Every competition supports Java 8 and up. C++ and Python are supported at a majority of contests. When we send signups, you will be notified on which languages are supported.

Stacking Xorkins, an extremely difficult problem from the 2025 THS Halloween Competition.
Written Portion
Nearly every competition we attend (exceptions being HPE CodeWars, CodeQuest, etc) has a written portion. The written portion is a 40 question test consisting mostly of multiple-choice-questions. Each question is worth 6 points. You don't lose points when leaving an answer blank. However, getting a question wrong subtracts 6 points from your score. You have an hour to complete 40ish problems.

Page from UIL Invitational A, 2007
Study Resources
Learning Java

Code Academy - Java Courses
@code_academy
Code Academy offers a more hands on approach to learning Java. It has several courses with DAYS of content to explore. Plus, it's free under your KatyISD school account (MyKatyCloud -> CodeAcademy)

Java Full Course
@brocode
This video goes over all the essentials to start programming in Java. On top of the fundamentals, BroCode goes over special concepts such as generics, enums, and datastructures. His channel is an actual goldmine.
Programming Portion

USACO Guide
@usacoguide
USACO Guide is a tool used to study for the United States of America Computing Olympiad (USACO). However, it's a great resource for learning about patterns such as prefix sum, sliding window, difference arrays, coordinate compression, and more!

Competitive Programmer's Handbook
@antti_laaksonen
This book is one of the best resources out there for learning competitive programming. More than 250 pages going over datastrucutres, algorithms, dynamic programming, and more! Definately a must read.

Competitive Programming Algorithms
@open_source_community
Open source project that translate the russian programming website, E-Maxx. Has a numerous amount of articles going over competitive programming topics in grave detail.

