Like it or not, there has to be a single Linux distro with a single specific setup if you want companies to support Linux at all.
They could just release it for Ubuntu and let other people repackage it for their favorite distro.
If you've never programmed before, then you will likely need to practice thinking in a logical, structured manner. Certainly, you should learn your first programming language while doing this, rather than take any kind of math/logic course. Unless, that is, you really like that sort of thing. Posters above me have suggested starting a project that you are motivated to complete, finding out what language is most suited to your goal, and learning it as you go. This can work, but you may hit a few road blocks:
To get around all of these potentials problems, I recommend the book Python for Software Design: How to Think like a Computer Scientist , which I used when I first learned to program, back when it had a different title. It is available for free here, under yet another title. It's positive attributes are that it uses Python, contains short problems at the end of each chapter (many with solutions and explanations), and explains various things about math, logic, and algorithms as it goes along. Python is a good first language because it doesn't get into details of hardware, it is interpreted rather than compiled (quicker feedback when you change something), and it has clear, simple syntax that enforces good style. If Python doesn't suit you for whatever reason, I would recommend that you seek out a book that professes to teach you how to think as well as how to program.
I have been assuming that you intended to self-teach, but an introductory computer science course at community college should also work. The quality of your education will depend upon your instructor, but that's not much different than picking up a book and hoping the author knows what he's talking about. I think Allen Downey does a good job, but that's just me.
If you do one of these things, learn a language, and it piques your interest, learning other languages is a good time to find a project you're interested in and learn the appropriate language as you go, already having the proper mindset and background under your belt.
Linux: Rute User's Tutorial and Exposition by Paul Sheer is what I used when I was first getting started using Linux. The first few chapters are about computers in general, and the rest of the book is about Linux. Approximately one third is about being a user, and the rest is about administration. The entire book would be a bit heavy for an introductory computer course, but you would have no difficulty finding in-depth explanations of the things you described (file systems, what the operating system does, etc.) in a Linux context. The book is intended to teach you how to administer Linux systems, but it really gives you a thorough understanding of how the systems you're configuring work. Even if you don't finish the chapter on configuring your box as a router, your students could get a lot out of the first part of that chapter that explains how IP works. It's a very long book. There's probably a section for whatever you would want to talk about in a basic computing course.
I can't recommend this book enough. It is by far the best book that I have found on how to use *NIX systems, but it is much more than that, and it significantly furthered my computer education.
Will robots take away any responsibility or accountability for war crimes or atrocities? When 20 people are wiped out by a "robot malfunction", is it any less heinous? Who is held responsible in these cases, the manufacturer, the operator, who?
At a lecture I attended where Singer talked about the book, he contended that responsibility for a "robot malfunction" should be traced the whole way up the chain of everyone involved to find any people who were responsible, and that they should be held accountable accordingly. If the operator screwed up, then he shares in the blame. If the malfunction was caused by a software glitch, then the manufacturer, and even the individual programmer share in the blame. This was a little bit of an unpopular statement in a room containing mostly people that are or will be robotics engineers or programmers. I haven't read the book. so I don't know how much he elaborates on this idea, but he gave an example system where the robot programmer receives a fine when the robot malfunctions and hurts somebody.
Some of these ideas seem like they would work to ferret out bias in legal proceedings, but mostly this would be because all of the judges and lawyers were too busy participating in scientific evaluations to actually get any (potentially biased) work done. The experiments that he describes (like holding two trials on the same charges for a white guy and a black guy) could take days, and that's just for one judge. To rigorously test the entire judiciary (and I imagine that this would optimally take place periodically), you would probably need almost all of the time of almost all of the judges, not to mention all of the other people that have to participate.
The thing about having a panel review alleged child pornography before charges are pressed wouldn't take that much time, comparatively, but preventing incorrect charges isn't as important as preventing incorrect convictions. IANAL, but isn't that what grand juries are for?
My high school had laptops for every student, and one of the most annoying things was the VPN. While the laptop was attached to the school's wireless network (maybe the wired network too, I never used it), access to any site outside that network (including the school's own websites) required you to join the VPN, for which you had login credentials. That meant that every time you opened the computer, it took probably two minutes to get on the Internet, what with waking up, joining the wireless network, waiting for the VPN client to connect, and entering you ID.
This may have facilitated some kind of logging or something, but I found it extraordinarily tedious, and the VPN sometimes failed, kicking the whole school off of an otherwise good Internet connection.
Could you have a more stupid thing being discussed, let alone being studied!
We could be discussing the discussion.
Intel CPUs are not defective, they just act that way. -- Henry Spencer