Computer Science is now pervasive in nearly all professions. Whether you are a researcher who works with large amounts of data, a teacher who uses computers as a teaching and tracking tool, a construction work who uses devices to measure and record tasks, or a doctor who is using a variety of equipment, understanding how computers work is fundamental to performing any kind of a job.

Developing an intuition for how computers work, from hardware to software, is best formed during the formative years - almost like a second language. At Lyceum, instead of teaching kids to "hack" or "code" with toy programs or tools that amount to not much more than computer play, we start with fundamentals of how computers are built, then move on to how to write software to operate them and incorporate variety of projects together as learning tools.

Introductory curriculum includes understanding basics of computer architecture, binary numbers, how networks work, how operating systems are the back-bone of most computing environments, and the general principles of interaction with computers.

Intermediate curriculum includes teaching the basics of algorithms such as sorting algorithms, searching, min-max play, and others and integrates programming in Java.

Advanced curriculum includes principles of artificial intelligence, virtual reality, and other advanced topics that give the students a sense for technologies at the leading edge.

The level of curriculum is not age, but ability based. There are young students who are quite advanced in their understanding and ability and they will be placed in intermediate or advanced curriculum. Likely, there are older students who have played around with other "coding" classes, but haven't learned the fundamentals - they will be placed into introductory curriculum to assure there are no gaps in their understanding.