CS 2204: UNIX

Spring 2002

[Syllabus]    [ What's New ]    [ Schedule ]    [ Assignments ]    [ Labs ]


Course Information

Description

This course introduces students to the usage and administration of the UNIX operating system. The course will emphasize end-user tools and commands for basic file manipulation, editing, compilation, and debugging, as well as special features of the UNIX shell environment. Basic system administration will also be covered. Students will learn through a combination of traditional lectures, hands-on laboratory sessions, and individual assignments.

Course Prerequisites:

Instructor

Matthew Aguirre
e-mail: maaguirr@vt.edu
office: McB 525
phone: No Office Phone
office hours: T: 10:30 - 1:30, F: 1:00 - 4:00
lab sections: W12

Teaching Assistants

Textbooks

    The following textbooks are required:
    1. Learning the UNIX Operating System, 4th Edition, by Jerry Peek, Grace Todino, and John Strang. O'Reilly and Associates, 1998.
    2. UNIX in a Nutshell, 3rd Edition, by Arnold Robbins. O'Reilly and Associates, 1999.
    The first book in the list above is a quick-start guide to using UNIX. We will cover most of this material during the first few weeks of the course. The second book is a reference to all of the basic UNIX commands and shells, as well as many common tools. Neither of these books is a traditional textbook. If you feel that you need a textbook to supplement the course notes and lab sessions, I recommend the following:
    1. A Practical Guide to the UNIX System , 3rd Edition, by Mark G. Sobell, Addison-Wesley, 1995.
    2. Programming with GNU Software, by Mike Loukides and Andy Oram, O'Reilly and Associates, 1997.

Web page

http://courses.cs.vt.edu/~cs2204/spring2002/

Class e-mail

Each student enrolled in the course will be placed on an e-mail listserv. The class e-mail listserv will be limited to announcements posted by the instructor or teaching assistants. If you have a question about an assignment or other questions about the class, send them to cs2204@courses.cs.vt.edu . Questions (and answers) of relevance to the entire class will be posted to the class listserv by the instructor or TAs.

Grading

Check your grades online!

The instructor/TAs will send e-mail to the class listserv and post an announcement on the "What's New" page when grades are available for a given assignment/quiz. Grading will be based on:

    1. 10 %: Attendance
    2. 25 %: Quizzes (9)
    3. 50 %: Assignments(9)
      • 20 %: Homework (4)
      • 30 %: Programs (5)
    4. 15 %: Final Exam

    Attendance - 10 %

    There is mandatory first day attendance, anyone that does not attend the first lecture will be dropped from the course.

    Attendance at all classes is necessary for students to succeed in this course. Attendance will be taken at lab sessions, either by calling the roll or through a quiz. Your attendance grade will be calculated as follows: ((14-number_absences)/14)*10. Attendance at lecture is not required (the roll will not be called), but students are strongly encouraged to attend lecture sessions.

    Quizzes - 25 %

    Answers to past quizzes can be found on this page .

    Short quizzes will be given during lab sessions throughout the semester. Quizzes may cover any material up to and including the week before the quiz is given. Quizzes will not cover information discussed for the first time at the previous class meeting on Monday. There will be between 8 and 12 quizzes. Quizzes will be taken using opscan forms. Bring a #2 pencil to each lab session! Practice quizzes from a previous version of the class are available online via the WhizQuiz system.

    Homework and programs - 50 %

    The majority of your grade will come from individual assignments in the form of homework or programs. There will be five programming assignments plus several smaller homework assignments. The number of points each assignment is worth will be indicated on the assignment description. For a list of current assignments, see the assignments page . Assignments will be turned in electronically via the Curator system. Information on electronic submission will accompany each assignment. No late submissions of homework or programs will be accepted. The Curator will automatically stop accepting assignments at the deadline. Keep backup copies of all your submissions until the end of the semester.

    All programs must work on the lab machines in McB 124.

    Final Exam - 15 %

    The final exam will be administred during the scheduled common-time exam period (May 4, 7:45 - 9:45). The exam will be multiple choice and cover material from the entire semester. The final exam will be taken using an opscan form. Bring a #2 pencil to the final exam.

    Grading Policy

    Upon receiving grades for attendance for each week, quiz, homework, or project, you have one week to question/contest your grade. For example, if grades for a project are posted on Wednesday, then you have until midnight of the following Wednesday to contact the person that graded your project. After that, you will not be able to contest the grade which you received on an assignment, attendance, or quiz.

Additional Information

Operating System used in the course

All lab sessions will use personal computers running Mandrake Linux 8.1. All homeworks and programming assignments will be expected to run under this operating system as well. You are encouraged to download and install the Mandrake system on your own machine. Information and downloads can be obtained from http://www.mandrake.org/ . Installing Linux can be a tricky task, and differs widely depending on your own system configuration. The Virginia Tech Linux/UNIX User's Group is available to help you with this process. You can sign up for one of their mailing lists or for an "install-fest" scheduled for January 26th. Having Linux installed on your personal machine will help you to complete assignments accurately in this course, and will also be useful for future CS courses. If you decide not to install Linux, you will be able to access machines in the undergraduate UNIX lab by remote ssh/telnet 24 hours a day.

Lab Sessions / Undergraduate UNIX laboratory

Lab sessions will be held in the UNIX laboratory, McBryde Hall room 124. The lab has 31 Linux workstations. This means that each of you should have a personal machine during the 1 hour lab session each week. For this reason, it is important that you attend the lab session in which you are enrolled. If you must attend a different lab session during a particular week, clear it with both your lab instructor and the instructor of the lab you want to attend. If there are no empty seats, you will not be allowed to attend that lab session. Lab sessions will generally consist of a quiz on the previous week's material (not every week), a brief review of the lecture, and a hands-on assignment allowing you to try the concepts, commands, tools, etc. discussed in the lecture.

Lab hours and other lab information are posted on the CS lab home page .

Missing lecture or lab sessions

Attendance at all classes is necessary for students to succeed in this course. Attendance at lab sessions is required. However, attendance at lecture sessions  is not required (the roll will not be called). If you must miss your assigned lab session, arrange with your lab instructor beforehand to sit in on a different session. No makeup quizzes will be given unless pre-approved by the instructor. If you miss lecture, it is your responsibility to obtain notes, handouts, and other information from your classmates. Do not be late to class! If you are tardy because of extenuating circumstances, you should sit in the empty seats near the upper door so as not to distract your classmates. Do not come to the classroom if you will be more than 10 minutes late.

If you are more than 10 minutes late for the lab, you will not be able to take the quiz and you will not be accounted as present.

Re-scheduling your lab time must be confirmed in advance to the labs.  Please allow adaquate response time for the TA or instructor to respond to your request.  Extinuating circumstances will be reviewed on a case by case basis.

Lecture will not be re-taught during the lab.  Lab time is for hands on learning of the material taught in lecture.  The TA is not responsible for re-teaching the lecture.

Asking Questions by e-mail

Do not send general questions about homework assignments, quizzes, class content, etc. directly to the instructor or the TAs. Send e-mail to cs2204@info.cs.vt.edu . This e-mail is read by the instructor and all TAs. In your e-mail, please include your name, student ID number , and the CRN of the lab section you attend (see the list above).

E-mail sent to the instructor, TAs, or cs2204@info.cs.vt.edu will be replied to within a 48 hour time period. Please allow sufficient time for response to important questions.

Honor Code

All work in this course is to be your own. You may not copy code or use the structure or organization of another student's program. You may not use code obtained from the Internet or from students who have taken the class in previous semesters. You will be required to sign an honor code statement on all tests, quizzes, and programs.

This course adheres to the departmental honor code:
http://www.cs.vt.edu/academics/ugrad/Handbook/koof.html

Special Needs

If you have any special needs or circumstances (disability accommodations, religious holidays that will cause you to miss class, etc.) please feel free to e-mail the instructor or visit during office hours.