# AP Computer Science Principles

**URL:** <https://racket.discourse.group/t/ap-computer-science-principles/3216>\
**Category:** General\
**Tags:** education\
**Created:** [October 10, 2024, 10:32pm UTC](https://racket.discourse.group/t/ap-computer-science-principles/3216 "2024-10-10T22:32:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ToddOBryan](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/toddobryan/32/1962_2.png) [@ToddOBryan](https://racket.discourse.group/u/ToddOBryan)\
**Post date:** [October 10, 2024, 10:32pm UTC](https://racket.discourse.group/t/ap-computer-science-principles/3216/1 "2024-10-10T22:32:03Z")

</div>

After a 10-year stent in industry, I'm back teaching and have five sections of AP Computer Science Principles. Does anybody have pointers about how to use Racket in this context? I'd prefer not to reinvent the wheel, if possible, but I'm happy to give it a go. Would love to share the ride with someone, if there's a someone already on the journey.

Thanks!  
Todd

---

<div class="post-metadata">

**Author:** ![EmEf](https://avatars.discourse-cdn.com/v4/letter/e/53a042/32.png) [@EmEf](https://racket.discourse.group/u/EmEf)\
**Post date:** [October 11, 2024, 1:27am UTC](https://racket.discourse.group/t/ap-computer-science-principles/3216/2 "2024-10-11T01:27:47Z")

</div>

My son has taught something like this course in the past, starting with a bit of Python and switching to BSL with `big-bang` after a couple of weeks, following something like Boostrap World’s worksheets with the design recipe. I don’t know much more.

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [October 11, 2024, 7:00pm UTC](https://racket.discourse.group/t/ap-computer-science-principles/3216/3 "2024-10-11T19:00:55Z")

</div>

That sounds awesome!

You're probably already aware of this if you've read through the practice exams, but there are some fairly explicitly mutation-based problems. One that I recall: if your goal is to use search-and-replace to change every instance of "goat" into "sheep" _and_ every instance of "sheep" into "goat" in a text document, how should you do that? (answer: you need a temporary variable to do the swap, sigh.)

---

<div class="post-metadata">

**Author:** ![jbclements](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/jbclements/32/11_2.png) [@jbclements](https://racket.discourse.group/u/jbclements)\
**Post date:** [October 11, 2024, 7:06pm UTC](https://racket.discourse.group/t/ap-computer-science-principles/3216/4 "2024-10-11T19:06:02Z")

</div>

I should add that I haven't looked at these materials in probably 10 years, maybe they're way way better now.
