|
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.
|