For puzzles, project euler, Codejam, problem sets, etc.
Directory Structure: Things that fall into a large category, such as Project Euler, Codejam, or leetcode will get its own folder and there can be a bunch of langauges used in those folders.
Everything else will be put into a folder for the language it's written in. Each language folder can contain more folders if that practice project has multiple files, and just single standalone files.