Skip to content

Conversation

@blackk-foxx
Copy link

No description provided.

@IsaacG
Copy link
Member

IsaacG commented Oct 25, 2025

+cc @exercism/sqlite

@IsaacG
Copy link
Member

IsaacG commented Oct 26, 2025

Quick thoughts before a more thorough review.

  1. Typically the introduction.md and about.md files are the same. Both are seen by visiting the concept page; one is shown prior to the exercise being completed and the other after the exercise being completed. Generally most concepts show the same docs both times. Occasionally the about.md might add additional links/resources, though students often won't think to re-read the page and notice the addition.
  2. https://exercism.org/docs/building/markdown/markdown#h-one-sentence-per-line
  3. I think location is used much more commonly than place and as such might be better.
  4. As one of the first concepts, it's very important to define terms before using them, eg "query".
  5. As mentioned previously, concepts will need an accompanying exercise before they can be made available (and possibly before they can be merged).

@vaeng
Copy link
Contributor

vaeng commented Oct 26, 2025

Hey blackk-foxx,
Thanks for contributing.

The main challenge for the syllabus is to find fitting exercises that go with the concepts. I am excited to see a fitting and engaging one. There is a pool of exercises, but they may not be suitable for that use case.

Also, apart from the one sentence per line, Isaac's link has some more formatting rules that are useful to implement. The link style, for example.

@blackk-foxx
Copy link
Author

Thanks for the initial review @IsaacG. I have addressed points 1, 2, and 3.

As one of the first concepts, it's very important to define terms before using them, eg "query".

In my original draft, I was using "query" to mean retrieval. But I now gather that a query can really represent any operation that can be expressed in SQL (read, create, update, delete). If we all agree to use "query" in the more general sense, then I would expect it to be defined in a higher-level introduction outside of this document. Any thoughts on this?

As mentioned previously, concepts will need an accompanying exercise

I'd be glad to create one, but I would really welcome any advice on adapting the test framework. The existing test framework is designed to handle scalar values, but for a basic SELECT exercise, the expected result will be a result set.

@blackk-foxx blackk-foxx force-pushed the feature/select-concept branch from caf179e to 97970db Compare October 26, 2025 15:21
@blackk-foxx
Copy link
Author

Also, apart from the one sentence per line, Isaac's link has some more formatting rules that are useful to implement. The link style, for example.

@vaeng, thanks for pointing that out. I have converted the link to a reference link and the note to an exercism/note.

@glennj
Copy link
Contributor

glennj commented Oct 27, 2025

quick question: any differences between about.md and introduction.md?

@glennj
Copy link
Contributor

glennj commented Oct 27, 2025

This is well written. Frankly I was left wanting more :) but I think that's the sign of a properly-sized concept doc.

I think DISTINCT can be put into a concept with GROUP BY. Unless the planned concept exercises will practice it.

I eagerly await reading about expressions, ORDER BY, GROUP BY, subselects, NULL and so on

@blackk-foxx
Copy link
Author

quick question: any differences between about.md and introduction.md?

No differences. @IsaacG advised that they are typically identical.

- Replace "dataset" with "result set"
- Remove DISTINCT
@blackk-foxx
Copy link
Author

I think DISTINCT can be put into a concept with GROUP BY. Unless the planned concept exercises will practice it.

Removed DISTINCT.

@blackk-foxx
Copy link
Author

quick question: any differences between about.md and introduction.md?

No differences. @IsaacG advised that they are typically identical.

OTOH, I have noticed in concepts on other tracks that introduction.md contains a high-level summary of the concept while about.md contains the full document. Any reason not to use that same model here?

@IsaacG
Copy link
Member

IsaacG commented Oct 28, 2025

OTOH, I have noticed in concepts on other tracks that introduction.md contains a high-level summary of the concept while about.md contains the full document. Any reason not to use that same model here?

  • Pro: More information can be taught.
  • Con: It makes maintenance a bit harder. When there's a change to one doc, it's a lot more work to figure out how to change the other doc.
  • Con: It's additional effort that many students will never benefit from. Most people don't realize there is additional content there after the exercise is completed. Figuring out what changed and what is new is pretty hard.

If you want to add additional content, I think it probably makes sense for that content to be added as an addendum/append with the first half of the doc remaining the same. I believe a template file can be used to avoid duplicating content.

@SleeplessByte
Copy link
Member

OTOH, I have noticed in concepts on other tracks that introduction.md contains a high-level summary of the concept while about.md contains the full document. Any reason not to use that same model here?

JavaScript does this sometimes on purpose. A lot of content for concepts is really not important to understand but we do want to provide. I do not agree with any of the Cons (whilst they are true) Isaac listed to be a reason to not do that. The UI should be improved to remove one of the two cons and I don't think the maintenance burden is actually a burden, but YMMV.

The important "Pro" that's missed is that you can include information that should not be taught in the exercise, but is interesting to consume when students go and explore. That said: in general they are often similar and almost always about.md will include all of introduction.md but not the other way around.

Tip: you can link to (previous) concepts using a special syntax

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.

5 participants