Skip to content

Add cars-assemble concept exercise#1035

Open
pablo-miralles wants to merge 1 commit into
exercism:mainfrom
pablo-miralles:concept/cars-assemble
Open

Add cars-assemble concept exercise#1035
pablo-miralles wants to merge 1 commit into
exercism:mainfrom
pablo-miralles:concept/cars-assemble

Conversation

@pablo-miralles

Copy link
Copy Markdown

Summary

  • Adds the cars-assemble concept exercise, ported from csharp/cars-assemble.
  • Teaches comparison-operators and if-control-structures after booleans and the number concepts from pizza-pi.
  • Fills a critical syllabus gap: after booleans, students currently had no concept exercise for conditionals.

Test plan

  • bin/configlet generate / fmt / lint
  • PHPUNIT_BIN=phpunit bin/test.sh cars-assemble (18 tests passing)
  • Track maintainer review of narrative tone / unlock order

Made with Cursor

Unlocks if-control-structures and comparison-operators after booleans and numbers, ported from csharp/cars-assemble.

Co-authored-by: Cursor <cursoragent@cursor.com>
@mk-mxp

mk-mxp commented Jul 23, 2026

Copy link
Copy Markdown
Contributor

Thanks a lot for your work! New to the PHP track and head first into concept exercise writing. Do you have experience with Exercism approach to concepts, concept exercises and the didact concept behind all this code and files?

I tried to get my head around this PR, but I run out of time for today. I hope to find time for the review this weekend.

@pablo-miralles

Copy link
Copy Markdown
Author

@mk-mxp Thanks! Take your time with the review, no rush.

I’m used to seeing PHP and how it works, because I work with it daily in WordPress. Writing it from scratch has always been harder for me. I’ve been more of an “understand, copy and paste” person. That’s why I’m going through this track myself. Along the way, I thought it could be a good idea to help improve it while I review and reinforce concepts.

What’s new for me is Exercism’s approach to concepts, concept exercises, and the docs/meta structure around them.

How I built this PR: I used the C# cars-assemble as a close reference (especially the story/instructions), rewrote the PHP docs, and used another existing PHP track exercise as a reference for PHPUnit syntax, since I hadn’t written those tests by hand before.

The idea was almost a 1:1 port from the C# track, but I think it may feel too complex for the actual level of the PHP track. For example, the exemplar uses self::, which isn’t taught yet on the PHP track.

Would you rather I keep working on this PR and simplify it, or close it for now so I can open a small issue first and rewrite the exercise in a simpler way?

My intention is to help improve the PHP track while learning a bit myself. I don’t want to create noise or extra work for you, so I’ll follow your suggestion.

Thanks again!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants