Computer Science

Programming classes for teenagers. Computer Science studies the systematic representation and processing of information. Our curriculum follows topics in the order of: Intro Java, Object Oriented Programming, Data Structures, and Algorithms. This curriculum is comparable in content to a college computer science core curriculum. However, the pacing is designed to be fun and engaging for students (aged 13+).

FREE TRIAL

Level 0a

CS00a - Intro to Computer Science

This class is a project-oriented introduction to CS using the Java language. CS00a is the first class in KTBYTE's core track that has graded assignments. The curriculum of this course is much more fast-paced than previous courses and requires students to be able to apply conceptual understanding in actual applications and write open response answers to problems. Another significant change is that the students in the course are now expected to be capable of efficiently utilizing office hours, textbooks, and audio lectures.

Detailed course information

Concepts: strings; more advanced use of functions; writing functions; arrays; advanced loops; syntax

Age Level: 12-14 years old or permission of instructor

Prerequisites: 25 wpm typing speed, previous CS experience and familiarity with algebra

Course details:


Level 0b

CS00b - Games and Apps in Processing

This class reviews CS00 Java basics and mathematical concepts by creating applications and games. Students will also learn about coordinate transformation, curves and other canvas features in Processing. Students create several projects throughout the semester. Trigonometry and physics optionally covered.

Typical projects include physics, affine transformations, side scrolling, map editing, connect4, topdown shooters, curves, etc.

Detailed course information

Concepts: Projects with conceptual applications

Age Level: 12-14 years old or permission of instructor

Prerequisites: CS00a or permission of instructor

Course details:


Level 1a

CS01a - Problem Solving with Java

In CS01a, the focus of the class shifts from theoretical concepts to prioritizing algorithmic problem solving. This intense, college-paced course introduces difficult new ideas and data structures such as recursion and in depth Java classes. Students will be asked to complete 5-20 lines of code per problem for homework assignments, 100-200 lines of code for projects, and an average of one quiz per 4 topics. CS01a is taught online only.

In class projects include vigenere cipher, towers of hanoi, and button objects.

Detailed course information

Concepts: types; variables; if-statements; loops; strings; functions; recursion; classes

Age Level: 12-14 years old or permission of instructor

Prerequisites: CS00b or permission of instructor

Course details:


Level 1b

CS01b - Object-Oriented Programming

CS01b covers completely new AP and college-level material at a fast pace. It begins teaching software engineering skills and students are writing programs with many files. This course utilizes Eclipse, a professional IDE. The format of the course transitions out of project-oriented classes to computational problem solving. Students are also exposed to Maven and more professional libraries to perform, such as JSON parsing, web API calls, web server applications, and much more. After this course, students can start looking into beginning the USACO route, towards USACO bronze. CS01b is taught online only.

Detailed course information

Concepts: object-oriented programming; polymorphism; algorithmic complexity; binary search algorithm; Java standard library

Age Level: 14+ years old or permission of instructor

Prerequisites: CS01a or permission of instructor

Course details:


Level 2a

CS02a - Intermediate Algorithms

CS02a is our AP level course that focuses on content that appeared on the past AP Computer Science AB exam; a more difficult test than the current A exam. This is in addition to AP CS-A exam material. This includes topics such as how to build linked lists out of references, implement combinatorics algorithms, and implement recursive sorting algorithms. This is not a prep course, and students will be learning new and challenging concepts. The expected workload and difficulty of this course is equivalent to a 100-level college course. CS02a is taught online only.

Detailed course information

Concepts: object-oriented programming; recursion; sorting; data structures; binary search algorithm

Age Level: 14+ years old or permission of instructor

Prerequisites: CS01b or permission of instructor

Course details:


Level 2b

CS02b - Data Structures

CS02b is a purely college-level course that begins to construct the conceptual framework students need to have to participate in national competitions. Notable applications include navigation or graph search using Dijkstra's algorithm with priority queues. This course features a heavy course load and requires a significant time commitment from students outside of class time. Recommended only for students who are able to study and learn independently.

Detailed course information

Concepts: graph search algorithms; hashing theory; multithreaded programming; UI libraries

Age Level: 14+ years old or permission of instructor

Prerequisites: CS02a or permission of instructor

Course details:


AP Prep

APPREP - AP Computer Science Exam Prep

This class prepares students for the AP Computer Science A exam. Students will have the opportunity to take practice exams as well as our diagnostic exams. This course will then target any weaknesses determined by the diagnostic exam and help students improve their scores.

Prerequisites: Completion of AP Computer Science in school or CS02a

Course details: