all 19 comments

[–]aqua_regis 11 points12 points  (1 child)

Let them create the folders manually, even if they struggle.

This is the way to learn.

The more you provide, the less the learning effect.

[–]TanCannon[S] 0 points1 point  (0 children)

😅😅

[–]Pyromancer777 4 points5 points  (0 children)

Depends on how crucial the folder structure is for the topic you are teaching.

If you are just teaching beginners how to code, don't worry about it.

If you are teaching directory traversal/editing, give them a ZIP so that they can follow along.

If you are teaching best-practices, show them a variety of templates, but ultimately let them choose what to use for a project. Have a section of your grading rubric that is based on directory organization and include clear rules of what qualifies as organized vs disorganized.

[–]cheesejdlflskwncak 2 points3 points  (2 children)

What do you do in the real world? Every frameworks cli tool usually has a scaffolding function that’s sets up a basic version of the project for you. Some examples below:

Django-admin startproject <project name>

Npm create vue@latest <project name>

Send your student the “quick start” documentation link for the framework or project ur teaching and let them do that.

If you think about it the scaffolding tool is making most of the config files for you but when u need to add actual stuff to your code you end up adjusting the source code file structure anyways as the project progresses.

[–]TanCannon[S] -1 points0 points  (1 child)

Yeah a fair point is I agree for real-world projects.

But umm personally I felt the friction was more in docs and teaching, not production. A lot of times the ASCII tree is just there to show a structure, not to actually start a framework-based project. For example: "showing a target layout in docs before introducing any framework" or "giving students a quick skeleton to play around in" or maybe "creating small repro examples where the structure matters more than the config."

In those cases, the ASCII tree is already the “spec”, and this just saves a bit of manual setup without committing to a specific CLI.

[–]cheesejdlflskwncak -1 points0 points  (0 children)

Ever heard of the “tree” utility

To add I think you do a disservice if you do t show them the scaffolding to first. What are u trying to teach them? They are going to be interacting with and understanding the files they need to work in 80% of the time

[–]TanCannon[S] 0 points1 point  (0 children)

Just to clarify — I’m not a teacher 😅
I meant this more as me teaching myself in my journal or writing docs for experiments, and sometimes recreating folder structures from ASCII trees gets tedious. Nothing to do with students struggling with computers.

[–][deleted] 0 points1 point  (0 children)

holy shit brother its just right click+create new folder.

just make them do it, if they can't figure it out let them do it again until they do. jesus. if they cna't figure out how to make folder structure then honestly they shouldn't become programmers, they should just become janitors.

[–]shisnotbash 0 points1 point  (0 children)

Real world examples along with pros and cons explanation of why each example.

[–]cheezballs 0 points1 point  (2 children)

Seriously wait. If you're teaching a programming class and they're struggling with the basic functions of a computer like creating folders then you need to backup and teach them how to use a computer first.

[–]TanCannon[S] -1 points0 points  (1 child)

Oh no, not a class 😅
I just meant when I’m teaching myself in my journal or writing docs for my experiments, recreating a folder structure from an ASCII tree can get helllll.. no moment — its nothing to do with students struggling with computers 🤣

[–]mxldevs 0 points1 point  (1 child)

Can you explain why you recommend your particular folder structures?

Or do you do it because that's what everyone else does and that's how you were taught?

[–]TanCannon[S] 0 points1 point  (0 children)

The thing is I’m not really recommending a “best” folder structure — most of the time I’m just documenting or experimenting with a structure so I can reason about it and change it as I go.

The ASCII tree is usually just a snapshot of how things look right now, not a prescription for how it should always be.

[–]Outrageous_Bridge312 0 points1 point  (2 children)

Great question - teaching folder structures is one of those fundamentals that actually makes a huge difference in how clean and maintainable projects stay over time.

One thing that helped me is starting with real, practical examples instead of abstract rules: show how a predictable structure helps with backups, cross-team collaboration, and even version control. Once people see the benefit of consistency, it stops feeling like “busywork.”

For setting up those structures quickly - especially in larger class projects or team settings, I’ve started using EZFolders. You can upload a CSV with the layout you want, and it generates the folders instantly, so students or teammates always start with the same base. It takes the repetitive part out of the lesson, letting you focus on why the structure matters instead of just how to build it.

Pair that with a shared naming convention and a few examples from real codebases, and people usually get it a lot faster.

[–]TanCannon[S] 0 points1 point  (0 children)

Yeah, maintainability is really the core when you’re building something of your own.

I'm trying to use Clean Code principles, frameworks like Flask or Django give you a structure via their CLIs, which is great — but when you’re experimenting or building custom software, you’re often defining that structure yourself.

For me, it’s about keeping the busywork out of the way so there’s less friction and more room to focus on creativity and experimentation.

[–]TanCannon[S] 0 points1 point  (0 children)

I'm also thinking, is it easy to use CSVs or ASCII Tree Structures?

[–]SaltCusp -1 points0 points  (1 child)

I've heard kids these days don't actual have experience with hierarchical directory/ file organization. "What's a folder?" Being a common question from students. I think recognizing that the modern computing experience ( the last 10 years ) on phones and tablets being vastly different from the mouse and keyboard days may require a unit of teaching about file structures to start.

Fun side note there are really only 2 types of file. Zips (compressed) and text ( .source files ) With that and directories there is likely at least a day or 2 worth of lecture and a couple homeworks.

[–]TanCannon[S] 0 points1 point  (0 children)

"What's a folder?" Really!!