|
Which computer science courses did your high school student take (or is planning to take), and did they skip any in the sequence?
MCPS main CS course tree looks like this (Academy of IT, P-Tech, and Mobile App add more classes are a few schools.) (AP is Advanced Placement, AL is Advanced Level, both have +1 GPA weighting) https://coursebulletin.montgomeryschoolsmd.org/publications/HSCourseBulletin2024.pdf Intro sequence: 1. Foundations of CS (available in 8th grade) 2. AP CS Principles (lower level AP class OK for 9th graders) Advanced Level programming sequence 3. AL Programming 1 (C++ 4. AP CS A (Java) 5. AL Programming 3 (Data Structures) There is also a parallel 5-course track in technology/engineering/design (hardware and robots) which has AL courses but not AP credit classes. One might do half of each, or more, using electives. |
| My kid did Foundations last year and is doing Principles now in 9th. |
| Every high school is going to be slightly different. These curriculum pathway questions rarely make sense unless you are discussing an individual high school or magnet program. |
The claim in the Bulletin is deceptive? "The Computer Science Pathway, which includes a robotics unit, is offered in 25 high schools. Students can take AP courses in the pathway as well as earn college credits and obtain internships" Sad but unsurprising. |
I wouldn't say it's deceptive, just be aware that the advanced courses available can vary from school to school and year to year, depending on interest. |
C++ was a way to graft OO on C, a 50+ year old programming language. The fact that it's still so widely used is a testament to its significance but it does seem really dated by today's standards. Maybe they could try something more modern like Rust. |
| Mine is in a. IB program so did comp sci principles AP, AP Java, and is now doing IB Comp Sci. I don’t think her school offers all the courses OP listed. |
Considering the amount of legacy code they're likely to run into at a job, I don't think it's a bad thing. |
I wouldn't recommend it. That's really ugly and mundane work. Anyway, looking at the pathway steps 1,4 and 5 seem useful. The rest aren't essential. |
I think 2 can be useful especially for kid that have t done a lot of programming before. They talk about larger comp sci issues and then maybe a quarter of the class is spent on programming. For the AP itself they need to submit a program, and they can use any language. |
| My 10th grade DD is in AP Comp Sci A (Java). This is her first CS class, although she has done various summer programs with coding. At back to school night, the teacher mentioned that the 9th grade course in the sequence focused on Python. |
That's right. Facts first. According to a TIOBE Index for October 2023, C++ is right behind Python and C. I can’t stand Python, that’s that. IMO teaching C++ in High School makes little sense, the complexity of this language takes one’s lifetime to master. But C is a different story, “if you think like a computer there is no other language that’s even close” L.Torvalds. And C is simple. I’ll be introducing it to my second grader very soon Good Luck.
|
Good luck to you too! "Mom, what does mean?" |
|
Bumping this thread as we we enter high school course selection season for 2025-2026 school year.
For kids who have done basic computer programming at summer camp / after school, and strong advanced math, and took Foundations of Computer Science in 8th, what's good for CS/tech in 9th? AP CS Principles and Computer Programming 1 both seems mostly redundant, like they overlap both Foundations / extracurricular studies, and also AP CS A. So jump into AP CS A in 9th? Or do an "Engineering/Technology" (hardware/robots) in 9th, and come back to AP CS A in 10th ? For Engineering/Technology, there are also many similar but maybe alternative courses. No prerequisites besides math level: Foundations of Tech (Advanced) Foundations of Engineering and Tech (Advanced) Intro to Engineering Design ...and 3 more Advanced courses, strangely with no prerequisites. Foundations of Tech |
+1. Not to mention it’s a good way to be the thinking and analysis skills that make really solid Developers and other technical staff like Architects. Once you learn the basics and the thinking you can more easily learn new coding languages. |