Home

Skip to end of metadata
Go to start of metadata

Linux Fundamentals

This it the wiki space for the course 582351 Linux fundamentals taught at the Department of Computer Science.

The basic question of the course is "How can you automate a real task efficiently?". Efficiency here means both programming and operating speed.

The aim is to teach students the Linux/UNIX way of combining small but highly optimized programs to achieve complex operations. Each program solves only a very limited problem by itself, but their interfaces are well defined and highly compatible. The end result is a growing set of portable programs that have endured the test of time: many programs have a 40-year history of evolution behind them.

Completing the course

Some exercises have sections describing content to be returned. The output is typically either program code or copy-pasted blocks from program output.

The output must be assembled into six chapters of a learning diary. Each chapter should be mailed to <pervila at cs in the helsinki domain>. Each mailout has its own deadline.

These exercises will be published well in advance of the corresponding week. Students are strongly encouraged to begin working on the set before their exercise sessions, so that the session is used for solving the most problematic sections or clarifying questionable task descriptions.

Intended audience

The intended audience is

  1. students with almost no previous experience with shell programming, and
  2. who are willing to learn more

We fully recognize that some international students are at a disadvantage; they may possess no previous experience with (Linux) shell programming from their earlier studies. Our purpose is to teach you at least the fundamentals. We truly wish that all of you will be able to complete the course if you put reasonable efforts into trying.

At the same time we have a number of students who do possess significant previous experience with the shell. It would be inhumane to bore them out with only basic exercises.

From week 2 onwards, we try to mix about 3/4 of easier exercises with 1/4 of more challenging tasks. From week 5 onwards, this will probably shift to a half-and-half mix. Week 6 will contain stuff which we ourselves consider quite difficult.

Just do your best and return as many exercises as you can. We will fine-tune the grading so that it matches the submissions. If you feel that weeks 5-6 are too difficult, don't give up but give it a try. Studying should be about learning, not optimizing points.

Points and credits

Completing over about 4/6 of the exercises results in 2 credits, and completing over about 5/6 results in 4 credits. Currently, this means that 4/6*36 points = 24 points yields 2 credits and 5/6 * 36 points = 30 points yields 4 credits. We will probably assemble an extra week's worth of exercises (6 points) for those who are just below either mark. This extra week These exercises will be optional: completing it them is voluntary and does not guarantee you extra points.

The above point limits are under consideration and will change. The difficulty level of week 6 is also under revision. If you fear that you will not pass the course, do not give up yet.

Checklist of points. Requires a CS Dept. login.

Feedback and final grading of the course.

Exercises and deadlines

Note that the

  • first week is a warm-up week, with a bit more simple exercises
  • sixth set is allowed two weeks to complete: these exercises are intentionally more difficult.

Return dates for diary sections:

  1. Week 1: return date Sat 5.11.2011 at 18:00: Week 1 grading
  2. Week 2: return date Sat 12.11.2011 at 18:00 Week 2 grading
  3. Week 3: return date Sat 19.11.2011 at 18:00 Week 3 grading
  4. Week 4: return date Tue 29.11.2011 at 23:59 Week 4 grading
  5. Week 5: return date Tue 6.12.2011 at 23:59 Week 5 grading
  6. Week 6: return date Wed 21.12.2011 at 18:00 Week 6 grading

Format of the learning diary

Return the document in PDF format. For each chapter, assemble a preamble with the following information:

  • Name and student number
  • General feedback: 1-2 paragraphs about how you felt about the exercise tasks
  • Separate (sub)sections for the output sequences requested by each subtask

Mail the document to Pervilä at the address mentioned above. Enter the message subject as "LinuxFun report #num" where #num is the week number. Format the subject line precisely as LinuxFun report 2, LinuxFun report 3, ... in order for automatic processing to work correctly. Add the PDF as an attachment.

Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.