2021 has been a historically difficult year for meeting other young programmers outside of school, especially since many in-person events have been cancelled or moved online. So we decided to do a quick review to compare students are studying as part of their school’s computer science classes.
Although all the students found KTBYTE to be a massive help to their schoolwork, they still enjoyed taking school classes and sharing their unique experiences. For some, school courses gave them an opportunity to help their peers in class. Others met with friends to participate in activities or clubs.
We hope this post will help parents understand what the Computer Science (CS) education landscape looks like in the US, and we hope this helps remind students to reach out to friends in other schools.
Whether you go to a typical public school or a private school like Phillips Academy you will find that the core CS experiences are very similar, especially when it comes to intro and intermediate coursework.
US Public Middle School Computer Science Classes
Andy is an 8th-grade student at Thomas Grover Middle School in New Jersey. His school offers two computer courses, both open only to students who are in their last year of middle school. One course, “Computer Graphics”, puts its focus on photography and image editing. The other, “Computer Programming”, features this course description:
Computer Programming (Grade 8 Only) is an elective course designed to introduce and enhance students’ experience in programming applications. […] Students will learn programming fundamentals such as program design, flow of control, variables, and data handling. Programming projects include graphic design, mathematical challenges, game programming, mobile app and game development, and more. Students will also explore robotics by using hands-on construction to engineer and build, program, test, and evaluate a robot’s behavior.Thomas Grover Middle School, New Jersey
Andy described these courses to be similar in content to KTBYTE’s CS00a and CS00b Intro to Java classes, although he “feels like KTBYTE has taught a lot more”. Nonetheless, he enjoyed the fact that his school developed courses with their own curricula
All 3 of the other middle school students interviewed did not have programming classes at their school with the exception of MIT Scratch, Lego Mindstorms, and other educational programming languages.
US Public Middle School Computer Science Activities
Our middle school students also typically had only two types of clubs and activities related to programming:
- Robotics Clubs, such as for First Lego League (Lego Mindstorms)
- Intro Programming Clubs, exploring languages such as Java and Python for new programmers
In some schools, these activities were organized by parents, while others had teacher-organized clubs. Most of these clubs met fairly infrequently, such as once a month, and have unfortunately been deeply impacted by COVID-19.
We strongly encourage KTBYTE parents who want to see more of these types of clubs to reach out to KTBYTE for help on how to organize a club with their child’s peer group.
US Public High School Computer Science Classes
Our next three students, whom we shall call Bob, Charlie, and Dorothy, attended public schools in New Hampshire, Waltham Massachusetts (WHS), and Lexington Massachusetts (LHS, Lexington High School).
All three schools offered two AP Computer Science courses; most offered both AP Computer Science Principles, a non-programming test, and AP Computer Science A, a programming test in Java. A good AP CS A test grade will often allow students to place out of their first year college class. These three schools usually had one other introductory programming class, although LHS features more.
Indeed, Lexington High School is frequently ranked #2 or #3 among non-charter public schools in Massachusetts (US News). It has a total of 5 computer science classes, but does not include the non-programming AP CS Principles exam. The most difficult course at LHS is “Advanced Computer Programming”, a curriculum based off the now discontinued “AP Computer Science AB” exam, which was a more difficult version of the CS A exam.
3746 – Advanced Computer Programming: This course allows students to experience the major data structures and associated algorithms: linked lists, stacks, queues, trees, binary search trees, heaps, and graphs. Additionally, there will be a unit on pointers and memory use […]Lexington High School, Massachusetts
This course covers material up to the end of KTBYTE’s CS02a curriculum, and is therefore rarely seen in high schools across the US. LHS student Dorothy pointed out that here she was required to actually implement data structures, while the AP puts more emphasis on students being able to use pre-written data structures such as Java’s ArrayList.
Since the 3 interviewed students have completed up through KTBYTE’s college level courses, they described their school computer science classes as “super easy”. They found at least a couple occasions to help their peers, and all 3 were able to skip the first class at their school.
However, many students (both in public and private school) mentioned that it was difficult to obtain permission to skip more than 1 class at their school. Each administration has different rules, and so our students described some classes as “boring but easy A”.
US Public High School Computer Science Activities
Although our public school courses had a lot of similarity between different schools, the amount of available activities varied widely. Some public schools had no clubs related to programming, while on the opposite end Dorothy observed at least half a dozen programming-related options, including:
- ACSL (American Computer Science League) Club
- USA Computing Olympiad Club
- School specific Hackathons
- Robotics Clubs
- Girls Robotics Clubs
- Web Programming Clubs
- etc, including MIT PRIMES, see below
In these more active student communities, Dorothy observed “There is a certain community of students that participate in multiple of these programming clubs, and they are heavily invested in computer science“. As part of this community it’s really easy to become heavily invested yourself. Dorothy was accepted to the MIT PRIMES high school research program, where she has published academic papers using her programming knowledge, picking up skills in adjacent science fields along the way.
For these students, it really helped them to have learned core computer science skills before high school. This head start enabled them to lead clubs or enter into research programs before school became too busy. This way, they could focus on the social, team building, and creative aspects of their CS activities early and rely more on self-learning as they reached their final years of high school.
US Private High School Computer Science Classes
Two of our interviewed students, we shall call Emily and Fiona, attend Choate Rosemary Hall (Connecticut) and Horace Mann School (NYC). Both are often ranked in the top 20 private schools nationwide.
Unlike public schools, both typically did not have AP Computer Science as an option. They eschewed both AP and IB in favor of their own often more challenging classes. For example, the Choate math curriculum does not include AP Calculus, but does include Multivariable Calculus, Linear Algebra, Applied Differential Equations, and even some pure math (Set/Number Theory, Abstract Algebra).
Thus, Choate’s Honors Computer Science is somewhat similar to LHS’s Advanced Computer Programming class and KTBYTE’s CS02a:
COMPUTER SCIENCE, HONORS […] students work in an object-oriented paradigm as they study such traditional topics as conditional statements, loop structures, methods, arrays, recursion, and introductory graphics. Efficient, elegant design is emphasized throughout. Additionally, students learn to use inheritance, interfaces, and polymorphism as they design more complex programs. Following an examination of basic sorts, searches, and data structures, the course concludes with each student designing and completing a major programming project. […]Choate 2021-2022 Course Catalogue
Like LHS, Choate also features a software engineering class, specifically for iOS apps.
Emily found all of these courses to be “way too easy” after her coursework at KTBYTE, but is excited that Choate is offering 2 new additions to their curriculum as of 2021: Machine Learning and Robotics.
Horace Mann goes slightly further, by offering two classes where students can apply their computer science knowledge. One called “Art of Data” focuses on data science, while the other, “Theoretical Computer Science” focuses on computational theory. Both have prerequisites of core object-oriented programming courses.
Fiona described Horace Mann’s courses as easy, even though they use a slightly more esoteric programming language called Scala. Nevertheless, as most of our students found, the concepts learned in one language carried very easily to other programming languages.
US Private High School Computer Science Activities
Although the course offerings at most private schools went beyond those at public schools, the clubs and activities were often not as diverse. Choate’s computer programming club (cheekily named CPU: Choate Programming Union) hearkens back to LHS’s hackathon/ programming clubs. However the fact remains that there are fewer students and thus fewer clubs at private schools compared to public schools.
Nevertheless, Horace Mann’s list of CS clubs does include some unique ones, such as the computational linguistics club. The whole list is as follows:
- Computational Linguistics Olympiad Club
- FTC+FRC Robotics
- Intro/Intermediate Programming Clubs
- Girls Who Code
- Programming Club
Overall our interviews with advanced students revealed plenty of similarities between the course offerings at their middle and high schools. All the schools we heard about provide an introductory CS option, while many high schools also include an advanced class and several club options. However, every school had at least one identifiable gap in their offerings. This means that students interested in a particular subject area may have to look beyond their school community.
Horace Mann CS Offerings:
Lexington High School Course Catalogue:
Thomas Jefferson High School CS Offerings:
Phillips Academy Course Catalog: