However what's often missing is a class which teaches basic computing concepts. Files and directories are just some of them. The basic von Neumann architecture (a CPU changing ram), what a program is, how the internet protocol and the domain name system work, different parts of a URL, how a frame buffer determines what is shown on the screen, how colors are encoded with RGB values, etc. These are all very interesting concepts that could be taught at the high school level. There's a lot to be learned even without going into the technical details and I am confident that these students would then find (desktop) computers much more accessible. Smartphones and their touch interfaces have been a runaway success and I think this is in part because most people never got comfortable with traditional desktop computers (and their GUIs) due to decades of misguided computer classes.