Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I'm teaching a basic Unix class using Ubuntu. We've already covered basic Unix stuff such as:

  • bash shell scripting
  • file and directory permissions
  • filesystem hierarchy
  • common commands

I would like to give students some less academic, more real-world skills. Most of my students are headed toward network/system administration. We've got about a month left, with four hours a week of class.

What should I teach and have the students practice? Here are some ideas:

  • study and practice for certifications
    • is CompTIA Linux+ a good beginner certification? Server+?
  • cPanel
  • Apache/PHP
  • mail server with IMAP
  • DNS server
  • backups
    • what backup software?
share|improve this question

closed as not constructive by Michael Mrozek Mar 19 '12 at 0:55

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

    
Let me add, if you do not know what to teach in your class then you should not be teaching your class. –  HandyGandy Mar 19 '12 at 3:21
    
@HandyGandy, clearly he has some ideas of what to teach. But I agree such decisions (possibly with consultation) should be made before the beginning of the class. –  Matthew Flaschen Mar 19 '12 at 3:23
add comment

2 Answers 2

I've seen classes taught using Linux From Scratch. I've heard of students enjoying that (but in this case 100% of the students were highly motivated and very able). Personally, I'm not a fan of certification.

In terms of what you have so far my top items to add would be

  • Scripting in a proper language; turning out a batch of folks whose only scripting language is shell script would be a bad turn to them and their future colleagues
  • Networking; you mention that's where some of these folks will (or want to) go yet you don't mention having even touched on it
  • Lifelong learning suggestions; if they want to work in this field and improve their skills for the whole of the rest of their career, how should they do it? (I did this by reading a lot but I suspect that dead-tree books may no longer be the best way)
  • Back-of-the-envelope evaluation of systems design; for example if I want to do 35,000 read-only data lookups per second in a system, what are my design/deployment options if the total data size is 1GB? 1TB? 100TB? If I want to keep some data for 10y and be able to be check it didn't get corrupted, what are my options? What if there is only 1MB of this data? What if there is 1TB? If I have a web service that can be served by just one machine, but I want to make sure that planned maintenance of physical plant "won't" cause an outage, how many boxes will I need? In how many locations? How much easier does this get if I only need 99% uptime? What is the cost difference between three nines and five nines in our scenario?

Unfortunately you won't be able to cover all of these in the 16h you have left. But please, at least tell the students they need to find out about these things.

share|improve this answer
add comment

Being several years out from my CS degree, I'll give my opinions on how useful each of these would have been.

  • study and practice for certifications
    • is CompTIA Linux+ a good beginner certification? Server+?

I've never thought much of certifications, and most of what I've seen on SO indicates similar skepticism of their usefulness. I'd say no.

  • cPanel

Straight out no from me on this one. As I understand, it's just a GUI version of what they should be able to do from the command line, which, IMO, is much more important for anyone going into computer fields.

  • Apache/PHP

Installation and simple configuration are trivial, but you could go into some advanced Apache configuration, maybe a day or two on rewrite rules. Actual PHP code should be saved for a PHP/web class.

  • mail server with IMAP

This could be useful. I've spent a good deal of time on trying to figure out how to get a mail server running and properly configured. A very practical topic, I'd suggest fitting this in. Preferably with as much of the underlying principles of email as you can fit in.

  • DNS server

Like the above, highly recommended. Might be quicker and easier to explain the underlying principles than the mail server.

  • backups
    • what backup software?

This too would be good, though a lower priority than email and DNS. But I'm afraid I can't offer much in the way of suggestions on the particular software to use.

share|improve this answer
add comment

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