Flow Chart for CS Courses

Computer Science Courses Flowchart

The information detailed in the image above is written below:

One credit in Computer Science (a full year) is required to graduate.

9th Grade

Foundations of Computer Science

  • No prerequisite
  • Python and Java: classes, objects, loops, arrays, conditionals, algorithmic thinking, files, graphics

10th Grade

Data Structures including AP Computer Science A

  • Prerequisite: Foundations of CS, or the TJ CS Readiness Assessment - info will be available in the spring.
  • Java: recursion, linked lists, stacks, queues, trees, maps, graphs, heaps

Semester Electives - 11th and 12th Grades

Artificial Intelligence 1 and 2

  • Prerequisite: Data Structures
  • Students take Artificial Intelligence 1 in the fall and then may take Artificial Intelligence 2 in the spring
  • Artificial Intelligence 1 - Python: graphs, heuristics, constraint solvers, game trees
  • Artificial Intelligence 2 - Python: genetic algorithms, learning, natural language processing, agents

Computer Vision 1 and 2

  • Prerequisite: Data Structures
  • Recommendation is to take AI before CV.
  • Computer Vision 1 - C++: image filtering, detection, segmentation, recognition
  • Computer Vision 2 - C++: motion, augmented reality, structure inference

Machine Learning 1 and 2

  • Prerequisite: Artificial Intelligence 1 and 2, plus math pre- or co-req of Multi‐Variable Calculus
  • Machine Learning 1 - Classification, regression, analysis, evaluation and generation
  • Machine Learning 2 - Neural networks, auto encoders and reinforcement learning

Mobile App Development and Web App Development

  • Prerequisite: Data Structures
  • Students take either course in fall or spring, or both in either order.
  • Mobile App: Android:  Java based, phone, tablet, embedded
  • Web App Dev: JavaScript, Node, SQL, CSS, HTML, the DOM

Senior Research Labs

Computer Systems Lab

  • Prerequisite: 
    • 1. AI 1-2 and TJ 4-5, or
      2. BC and Foundations, or
      3. Data Structures and RS2
  • Senior Research Project or Mentorship

Mobile and Web Application Development Lab

  • Prerequisite: Mobile App, or Web App, or any two post-AP electives in Computer Science
  • Senior Research Project or Mentorship