CS 252 Syllabus - Academic Year 2011-2012

Steven J Zeil

Old Dominion University
Dept. of Computer Science

Table of Contents

1. Course Description
2. Basic Information
2.1. Instructor
2.2. Location
2.3. Text
2.4. Course Prerequisites
2.5. Hardware and Software Requirements
3. Course Policies
3.1. Meeting Times
3.2. Computer Access
3.3. Communications
3.4. Academic Honesty
3.5. Grading
3.6. Fourth-Week Grade Report
4. Course Outline

1. Course Description

CS 252 is an introduction to Unix with emphasis on the skills necessary to be a productive programmer in Unix, Linux, and related environments.

The focus of this course is on learning enough Unix for students to function productively in CS courses at the 300 level and beyond. Because working directly from a workstation console in a CS Dept lab is no longer the dominant mode of interacting with our Unix systems, this course will emphasize connecting via the Internet from a remote PC to our Unix systems. Both text-based (ssh/shell) and window-based (X) connections will be covered.

This is a self-paced course delivered via the Internet and may be taken for P/F grades only. There are no regularly-scheduled class meetings. Students will be able to work through the material at any time[1], including taking automatically graded assignments. At the end of the semester, a check will be made to see if they have successfully completed the assignments. If so, a grade of P will be issued. More detailed information is in the Grading section of this document.

2. Basic Information

2.1. Instructor

Steven J. Zeil E&CS 3208
(757) 683-4928 Fax: (757) 683-4900

Office Hours

Students may meet with the instructor in person or via internet-conferencing. A week-by-week schedule of available meeting times can be found by going to the instructor's home page (http://www.cs.odu.edu/~zeil) and clicking on Office Hours and Appointments .

2.2. Location

This course is hosted at http://www.cs.odu.edu/~cs252.

2.3. Text

In addition to the readings at the above-listed course web site, the textbook for this course is:


LINUX and UNIX Programming Tools - A Primer for Software Developers. S. Sarwar and K. Al-Saqabi. 2003. Addison Wesley. 0-201-77345-7.


Learning the UNIX Operating System. J. Peek, G. Todino, and J. Strang. 5th ed.. 2002. O'Reilly Media, Inc.. 0-596-00261-0.

2.4. Course Prerequisites

  • CS 150 (Introduction to Programming), or the equivalent, or current-registration in CS 333

Students are also expected to be familiar with the use of standard Internet-based tools including email and web browsers.

2.5. Hardware and Software Requirements

Because this course is hosted on the Internet, you will need to make sure that you have access to the appropriate computing equipment and software to participate in the course activities.

You will not need your own access to a Unix or Linux machine. The CS Dept provides such machines, and learning how to use them from both on and off-campus locations is a major theme of the course.

You will need hands-on access to a PC.

  • Almost any Windows XP, Vista, or Windows 7 machine should do. Equivalently powered UNIX, LINUX, or Macintosh machines are also acceptable, though these may introduce other limitations regarding software (below).

  • Whatever the machine, a good Internet connection is essential.

    Beware in particular of satellite-based broadband. These are typically great for doing long downloads (one-directional traffic to your machine), OK for web browsing (mostly one-direction) but, according to student complaints, often very poor at the kind of 2-direction, back-and-forth traffic that most programming activities require.

Software requirements are fairly relaxed. You will need a reasonably up-to-date version of the Internet Explorer or Firefox web browser. Other browsers or older versions of these may also be acceptable, but cannot be guaranteed so, because the course materials are not tested with other and older browsers. When in doubt, try this browser test.

You may need to install software on your hands-on PC over the course of the semester. All such software is available in free, open-source distributions and will be introduced as it becomes relevant during the course.

3. Course Policies

3.1. Meeting Times

This is a self-paced Internet-delivered course. There are no regularly scheduled class meetings.

3.2. Computer Access

All students taking this course must have activated a login and e-mail account on the CS Dept's Unix network. The account setup and password can be obtained at http://www.cs.odu.edu/ by clicking on Account Creation.

3.3. Communications

Because this course does not have traditional lectures, most communication between instructor and students will need to be conducted electronically.

Questions and discussion are encouraged. Whenever possible, these should be conducted through the website's online Forum rather than via email. Students should read Navigating the Course Web Pages and Asking Questions documents on the Policies page of the course web site to learn how this is done.

As noted earlier, the instructor will hold regular office hours. Off-campus students can contact the instructor by telephone or by network conferencing during these times.

3.4. Academic Honesty

Everything turned in for grading in this course must be your own work. The instructor reserves the right to question a student orally or in writing and to use his evaluation of the student's understanding of the assignment and of the submitted solution as evidence of cheating. Violations will be reported to the office of Student Judicial Affairs for consideration for punitive action.

Students who contribute to violations by sharing their code/designs with others are subject to the same penalties as those who misrepresent such work as their own.

This policy is not intended to prevent students from providing legitimate assistance to one another. Students are encouraged to seek/provide one another aid in general issues relating to the course subject matter. Student discussions should avoid, however, explicit discussion of approaches to solving a particular assignment.

3.5. Grading


All assignments are automatically graded. Students can check their grade status at any time by using the Grades button on the course home page.

Assignments are due before the start of the semester's exams, or, for summer classes, before the end of the last day of classes. Assignments submitted after that but before the instructor turns in grades may, at the instructor's option, be counted as complete.[2]

  • Students who have completed all of the assignments will receive a grade of "P".

  • Students who have not completed the assignments will receive a grade of "F".

Incomplete (I) Grades

Exceptions to the above requirements will only be granted under the conditions defined by the ODU policy on Incomplete (I) grades: exceptional circumstances beyond the student's control. Except in such circumstances, students who fail to complete the course in the time allowed will not be permitted to resume the course without re-registering, and would then be expected to complete all assignments from the beginning of the course.

Reasons that are most likely to justify an exception include extended illness, military deployments, or job transfer/relocation, but you should be prepared to document these if requested.

The following are usually not valid reasons for an extension:

  • "I forgot that I was signed up for this course." or "I didn't know what the Grading policy was."

    This was not beyond your control.

  • "I have a part-time (full-time) job."

    This is not exceptional. Most of your classmates work, many of them full-time.

  • "I have a heavy course-load this semester."

    Neither exceptional nor outside your control.

  • "I got stuck on assignment X and was never able to catch up."

    Actually, this might qualify, but only if you made good use of the Forum and/or my office hours to resolve your problems with that assignment in a timely fashion. Your chances of getting an exception in this case will also depend upon just how many assignments you have remaining to complete. You are far more likely to get a short period of time to complete one assignment than to get any extra time at all to complete 7 assignments.

  • "I had trouble completing some assignments and haven't used the Forum or your office hours because I'm not the kind of person who likes to ask for help.

    Then you shouldn't be the kind of person who asks for exceptions either. A significant part of a college-level education is learning to exploit the information resources available to you. Deliberately refusing to do so is not a behavior that I'm inclined to reward.

Requests for an "I" grade or extended time to complete the course should be made before the actual end of the semester, whenever possible. Requests made after grades have been submitted will need to inlude an explanation of why the request was delayed.

3.6. Fourth-Week Grade Report

University regulations require that all instructors of 100 or 200-level courses provide students with an interim grade report by the end of the 4th week of the semester. Obviously, such a report is of questionable utility in a self-paced course like this one.

Students may obtain this report from Leo Online (the same system used to retrieve end-of-semester grades). Students who, by the end of the 4th week of the semester, have completed at least 4 assignments are considered to be "on a pace" to successfully finish the course by the end of the semester.

4. Course Outline

Students may tackle the topics in this course in different orders. The diagram below shows how the topics that make up this course are related to one another. An arrow from one topic to another means that students should complete the first topic before attempting the second. For example, before looking at "Program Development (via X)" one must have completed both "Program Development (via telnet)" and "Editing Files (via X)". On the other hand, one could do "Shell Scripts" either before or after doing "X Windows".

[1] Although there are few deadlines associated with CS 252 itself, other CS courses may list CS 252 as a co-requisite, and instructors in those other courses may impose their own deadlines as to when they expect portions of CS 252 to have been completed.

For example, a CS 250 instructor may want to give an assignment on October 15 in which the g++ compiler will be used, and so may inform CS 250 students that they must have completed the CS 252 assignment on "compiling using g++" by October 7.

[2] In practice, this depends on when the instructor turns in the grades. This might be early or late in the exam week, at the convenience of the instructor.

I will not announce, nor respond to questions about what the real last day to have something counted in a semester will be, because, if I do so, someone will complain to the administration that I have made assignments due during exam week.

If you want to be certain that something will be counted, get it done before exams start. After that, any additional days you get should be regarded as a gift.

Discuss This Page:

  • Missing Hyperlink? (jowens, 2011-08-31)