High School Computer Science pathways

Anonymous
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.
Anonymous
My kid did Foundations last year and is doing Principles now in 9th.
Anonymous
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.
Anonymous
Anonymous wrote: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.
Anonymous
Anonymous wrote:
Anonymous wrote: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.
Anonymous
Anonymous wrote: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.


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.
Anonymous
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.
Anonymous
Anonymous wrote:
Anonymous wrote: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.


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.


Considering the amount of legacy code they're likely to run into at a job, I don't think it's a bad thing.
Anonymous
Anonymous wrote:
Anonymous wrote:
Anonymous wrote: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.


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.


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.
Anonymous
Anonymous wrote:
Anonymous wrote:
Anonymous wrote:
Anonymous wrote: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.


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.


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.
Anonymous
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.
Anonymous
Anonymous wrote:
Anonymous wrote:
Anonymous wrote: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.


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.


Considering the amount of legacy code they're likely to run into at a job, I don't think it's a bad thing.


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.
Anonymous
Anonymous wrote:
Anonymous wrote:
Anonymous wrote:
Anonymous wrote: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.


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.


Considering the amount of legacy code they're likely to run into at a job, I don't think it's a bad thing.


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?"
Anonymous
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
Anonymous
Anonymous wrote:
Anonymous wrote:
Anonymous wrote: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.


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.


Considering the amount of legacy code they're likely to run into at a job, I don't think it's a bad thing.


+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.
post reply Forum Index » Montgomery County Public Schools (MCPS)
Message Quick Reply
Go to: