Thomas Jefferson High School for Science and Technology, a regional Governor's school in Northern Virginia, offers six years of Computer Science. Our goal is to provide a world class Computer Science education to our students and to disseminate curriculum materials to other academic institutions.

These pages deliver content to TJ students. The public TJHSST Computer Science pages are here.


Foundations of Computer Science
Foundations of Computer Science is for students without programming experience.   The course introduces object-oriented programming, graphics and animation, GUI interfaces, arrays and files, sorting, recursion, data representation, Boolean logic, and ethics.  The course is lab-based with an emphasis on cooperative learning and developing problem-solving skills.   The programming language is Java.
 
Accelerated Computer Science

Accelerated Computer Science is for freshmen who have completed a year of programming experience before TJ but are not yet ready for APCS A plus Data Structures.  Students who sign up for Accelerated CS should already be writing programs as a hobby.  Such students should know that they want to take four years of computer science courses at TJ, ending with a senior project in the Systems Lab.   Students will solve computational problems by applying the principles of computer science, including abstraction, object-oriented programming, algorithmic thinking, data processing, modeling, and simulation.  The programming language is Python.

Data Structures with APCS-A
This course is a standard second-semester college course on algorithms and data structures in an object-oriented environment. The sorting algorithms include selection, insertion, merge, quick, and heap. The data structures include arrays, recursion, linked lists, stacks, queues, trees, sets, maps, and graphs. Additional topics include the Java Collections framework, Big-O analysis, and class design.  Since this class prepares students for TJ's research labs, it includes college material going well beyond the topics tested by the College Board's AP Computer Science A exam. The programming language is Java. Prerequisite:  Foundations of Computer Science or Accelerated Computer Science.


Artificial Intelligence 1 & 2
These half-credit semester courses teach the standard techniques in Artificial Intelligence.  The language is Python in a Linux environment.  These courses carry the same extra grade point value as an AP course.   Prerequisite: AP Computer Science plus Data Structures

Computer Vision
This half-credit semester course is new for 2016-2017. This course carries the same extra grade point value as an AP course.   Prerequisite: AP Computer Science plus Data Structures

Parallel Computing 1 & 2
These half-credit semester courses teach the concepts and techniques in parallel computing.  The language is C with MPI and OpenGL in Linux and Solaris.  Other systems taught include CUDA, OpenMP and XMT-C. These courses carry the same extra grade point value as an AP course.   Prerequisite: AP Computer Science plus Data Structures

Computer Systems Lab
This course satisfies the Technology Independent Research credit that is required for graduation from TJ. This course carries the same extra grade point value as an Honors course.

Mobile Application Development
This half-credit semester course teaches mobile development using Android.   The language is Java.  This course carries the same extra grade point value as an AP course.   Prerequisite: AP Computer Science plus Data Structures

Web Application Development
This half-credit semester course teaches web development.   The languages are JavaScript and PHP.  This course carries the same extra grade point value as an AP course.   Prerequisite: AP Computer Science plus Data Structures

Mobile and Web Application Development Lab
This course satisfies the Technology Independent Research credit that is required for graduation from TJ. This course carries the same extra grade point value as an Honors course.

TJ Home Page   HTML Tutorial Pretty Colors