CS 2204: UNIX

Fall 2001

[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.

Instructor

Dr. Doug Bowman
email: bowman@vt.edu
office: Torgersen 3030 F (enter through the door marked 3050, then turn left, through the lab)
phone: (540) 231-2058 (email is the preferred method of communication; only call in an emergency)
office hours: Tuesday 10-12, Wednesday 10-12, Friday 2-3, or by appointment if you cannot come at the posted times

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/fall2001/

Class email

Each student enrolled in the course will be placed on an email listserv. The class email 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 email 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
    3. 50 %: Homework and programs
    4. 15 %: Final Exam

    Attendance - 10 %

    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.

    Final Exam - 15 %

    A short final exam will be given during the last lecture session on Monday, December 10, 9:05-9:55 AM. Note that this is not the scheduled common-time exam period. 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.

    Final exam review page

Additional Information

Operating System used in the course

All lab sessions will use personal computers running Debian GNU/Linux 2.2r3. All homeworks and programming assignments will be expected to run under this operating system as well. You are encouraged to download and install the Debian system on your own machine. Information and downloads can be obtained from www.debian.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 September 22nd. 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 35 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.

Asking Questions by email

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

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.

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 email the instructor or visit during office hours.