Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I'm a teacher leading an Introduction to Linux class. I've been doing the class for about eight years and over time I've tried to keep the projects relatively up-to-date. But this year I want to really amp it up.

By this time in the semester, the students already have the basics, such as directory manipulation, permissions, awk, sed, grep, and very simple scripting (no loops or conditionals yet). That stuff hasn't changed much over the years. But the Internet-related things have changed a lot.

I'm soliciting ideas for Internet-based projects. The students do not have root access, so projects cannot depend on that. But I have root access and can install any necessary packages. Each project ought to be do-able in about 30-60 minutes.

We are running Fedora Core 11. There is no GUI -- only CLI. The Apache web server is up and running. Assume they don't have any programming experience except for what I outlined above. PHP and MySQL are installed and running.

What interesting things can a user new to Linux do that, say, a Windows user cannot do?

I've started by suggesting a couple of projects in my answers.

Thanks!

share|improve this question

put on hold as primarily opinion-based by random 2 hours ago

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

    
Do they have GUI clients? (Like something that has a browser?) –  Arjan Nov 3 '09 at 14:25
    
(And I assume that installing something, just to appreciate the automatic download and installation using rpm or yum, requires root access?) –  Arjan Nov 3 '09 at 14:34
    
Yes, they have PCs or Macs they use as clients. And, yes, installing something via rpm or yum would require root access. –  Barry Brown Nov 3 '09 at 17:29

7 Answers 7

Here is a good scenario you could have them cover :

  1. User logs onto a PHP page
  2. User enters some info, name, email address, username
  3. System captures the username, creates a /home
  4. System sets up FTP for that user
  5. System sets up MySQL Db for that user
  6. System sets up Blog (wordpress) for that user on that DB
  7. System sends out email containing username, password, FTP access, blog access URL

They should be able to do all that from command line, and it covers a range of areas so should be a good learning excercise!

share|improve this answer

Some FUSE-based ideas:

  • Mount a remote directory to the local machine. Requires only the FUSE kernel module and sshfs. Would take only 5-10 minutes to do.

  • Mount a Wordpress site as a FUSE filesystem.

  • Mount an IMAP server as a FUSE filesystem.

  • Use a Gmail account as storage space using FUSE.

share|improve this answer

I would suggest some activity they might be already interested in:

You might want to emphasize the importance of hosting your own data without relying on third parties.

If you want to introduce programming, you might be interested in starting a django or a ruby on rails project.

share|improve this answer

Use rsync to perform a backup, have it generate a log file which can then be manipulated and formatted appropriately (perhaps the report only lists a certain type of file backed up), and then automatically emailed out. Have this then set correctly as a cron job.

Should be doable with a basic intro to rsync, and the above task is a useful real world application. It might not be cutting edge, but is definitely super handy, and should be within the scope of what the students can handle. How involved you make the log file manipulation would determine how long the exercise would take. (The log files could be incorporated into a program that could search through and display them etc)

share|improve this answer
    
That's a great idea! The overhead of handling the SSH keys is a bit cumbersome, but I think it's doable. –  Barry Brown Nov 3 '09 at 17:31

You might try some "troubleshooting" type exercises, depending on the bent of your students.. I have found that trying to diagnose problems on Windows without the GUI is next to impossible (but then, I don't really know BATCH programming). That most of the error logs on linux platforms are just text and easily grep, sed, or awk -able, is pretty nifty.

share|improve this answer

Setting up "thin clients" with some old hardware might be neat, and it could give them a pretty gui to play with.

Sure, in the Windows World there is Citrix and other proprietary thin client applications. In Linux, with Xserver and NFS mounts, it is built-in.

share|improve this answer

Try making them use Yahoo Pipes to do a mashup of RSS feeds and other data sources.

share|improve this answer
    
You can do this on Windows, too –  guerda Nov 3 '09 at 14:18

Not the answer you're looking for? Browse other questions tagged or ask your own question.