CSC 271 - Software I: Utilities and Internals

Dr. R. M. Siegfried

214 Post Hall           (516)877-4482           siegfrie@adelphi.edu

Office hours: MWF 9:00-9:50 & 12:00-12:50PM

Course Home Page | Announcements | Syllabus | Class notes | Assignments

The syllabus is also available in PDF.

Course Description

Develop facility using standard Unix facilities, including command and Purpose language, filters, editors, scripting languages (e.g. sh, sed, awk), compilers, linkers, make and version-control utilities. Understand how to retrieve command arguments, run other programs, and perform I/O and inter-process communication in the C programming language.

Gen Ed Learning Goals and Distribution Requirements

Course Learning Goals

Students will be able to use basic UNIX commands and text editors, to write shell scripts, and to use UNIX filters, such as sed and grep, to write programs in the Perl programming language, identify the main components of the Linux operating system and to use basic Linux system calls in programs.

Prerequisite

CSC 172

Corequisite

CSC 270

Text

UNIX Shells by Example , 4th ed., by Ellie Quigley, Prentice- Hall, 2005.

Topics

Assignments

The assignments this semester will require students to use UNIX commands and print their sessions, design, code, debug and submit programs written in C, C++ and Perl using the vi editor; design, code, debug and submit shell scripts, many of which will use UNIX filters. This will require access to the University Linux system, Panther, and this will require students to install PuTTY, a secure terminal emulator on their personal computers if they wish to complete assignments off campus.

While there will be opportunities to use class time for assigned work, this will be mainly limited to debugging and other assistance that students require in class. One should expect to spend 4-6 hours outside class working on programming assignments for this class.

Grading

Each programming assignment will be graded with a base grade of 90%, with points added to reflected areas in which the assignment exceeded specified requirements and/or points deducted to show areas where the assignment is deficient.

Late penalties may be assessed of 2 points per class after the due date.

The final average will be weighted (based on the following ratio:

Programming Assignments 30%
Midterm Exam 35%
Final Exam 35%

The final average will translate to a letter grade according to the following table:

Final Average Course Grade
A 90 - 100
A- 87.5 - 89.9
B+ 83.3 - 87.4
B 80.0 - 83.2
B- 77.5 - 79.9
C+ 73.3 - 77.4
C 70.0 - 73.2
C- 67.5 - 69.9
D+ 63.3 - 67.4
D 60.0 - 63.2
F 0.0 - 59.9

Attendance

The following is the Adelphi University General Attendance Policy:

Only students who are registered for courses, and whose name appears on the Official Class Roster may attend courses at the University. Adelphi students make a commitment to be active participants in their educational program; class attendance is an integral part of this commitment. Attendance requirements for each course will be announced by the faculty member at the beginning of each term. Students are expected to be present promptly at the beginning of each class period, unless prevented by illness or by other compelling cause. In the event of such absence, students may request that faculty members be notified by the Office of Academic Services and Retention. Students are responsible for completing course work missed through absences. Students should wait a reasonable length of time for an instructor in the event that the instructor is delayed.

Additionally, you are also responsible for whatever work is covered in class whether or not you are there. Absence from the final exam will be excused only for a good and welldocumented reason. The decision to allow a make-up exam will be made in accordance with the policies of Adelphi University.

NB: This class will NOT meet on Friday, September 6. We will make up these classes by meeting on Wednesday, December 11.

Additionally, Friday, September 20, Friday, September and Friday, November 8 will be open labs days. Attendance will be taken and you will have the opportunity to submit assignments that are due.

If the University is closed for more than two days due to an emergency, go the home page for this course site each day for instructions and assignments. Student instructions materials can be found at http://home.adelphi.edu/~siegfried/cs271

Tentative Schedule (Subject to Change)
Date Topic Assignment due
August 28 UNIX for Beginners
August 30 UNIX for Beginners Assn 1 - Working with Panther
September 4 UNIX for Beginners Assn 2 - Working with files on Panther
September 9 The vi Text Editor Assn 3 - Some new File Utilities on Panther
September 11 The vi Text Editor
September 13 File System Commands Assn 4 - Starting to work in vi
September 16 File System Commands Assn 5 - Writing a C program using vi
September 18 File System Commands
September 20 Open Lab Assn 6 - Using Basic File Commands
September 23 Regular Expressions, grep and sed
September 25 Regular Expressions, grep and sed
September 27 Open Lab Assn 7 - Using grep and sed to alter a file
September 30 Regular Expressions, grep and sed
October 2 Filters
October 4 Open Lab Assn 8 - Using filters
October 7 Filters
October 9 The Interactive Bash Shell
October 11 The Interactive Bash Shell
October 14 The Interactive Bash Shell
October 16 Review for Midterm Assn 9 - Writing basic shell scripts
October 18 Midterm Exam
October 21 Programming the Bash Shell
October 23 Programming the Bash Shell
October 25 Programming the Bash Shell Assn 10 - Writing more complex shell scripts
October 28 Programming in Perl
October 30 Programming in Perl
November 1 Programming in Perl
November 4 UNIX/Linux and Processes Assn 11 - Programming in Perl
November 6 UNIX/Linux and Processes
November 8 Open Lab Assn 12 - Using perl to alter a file.
November 11 UNIX/Linux and Processes
November 13 UNIX/Linux System Calls
November 15 UNIX/Linux System Calls Assn 13 - Writing a simple shell
November 18 UNIX/Linux System Calls
November 20 Error Handling in C
November 22 Error Handling in C Assn 14 - Using system calls
November 25 Error Handling in C
December 2 Files in UNIX/Linux
December 4 Files in UNIX/Linux
December 6 Files in UNIX/Linux Assn 15 - Working with files
December 9 Review for Final Exam
December 11 Review for Final Exam

Students With Disabilities

If you have a disability that may impact your ability to carry out assigned course work, and are not enrolled in the Learning Disabilities Program, it is important that you contact the staff in the Disability Support Services Office (DSS), University Center, Room 310, (516) 877-3145. DSS@adelphi.edu. DSS will review your concerns and determine, with you, appropriate and necessary accommodations. All information and documentation of disability is confidential.

Honor Code

Students enrolled in this course are expected to abide by the Adelphi University Honor Code. The purpose of the Honor Code is to protect the academic integrity of the University by encouraging consistent ethical behavior in assigned coursework by students. Following is excerpted from the Student Honor Code:

The code of academic honesty prohibits behavior, which can broadly be described as lying, cheating, or stealing. Violations of the code of academic honesty will include, but are not limited to, the following:

  1. Fabricating data or citations
  2. Collaborating in areas prohibited by the professor
  3. Unauthorized multiple submission of work
  4. Sabotage of others’ work, including library vandalism or manipulation
  5. Plagiarism: presenting any work as one’s own that is not one’s own
  6. The creation of unfair advantage
  7. The facilitation of dishonesty
  8. Tampering with or falsifying records
  9. Cheating on examinations through the use of written materials or giving or receiving help in any form during the exam, including talking, signals, electronic devices, etc.

Student Course Evaluations

During the last two weeks of the class, you will receive notification, via mail and eCampus, that the course evaluation is available for your input electronically. Availability will end at the start of the final examination period. Your feedback is valuable and I encourage you to respond. Please be assured that your responses are anonymous and the results will not be available to the instructor until after the end of the semester and therefore after course grades have been submitted.


Tear off this and return with information required below:


STUDENT ACKNOWLEDGEMENT:

I HAVE RECEIVED AND READ THE SYLLABUS FOR [INSERT COURSE NUMBER AND SECTION].

SIGNED: __________________________________________

PRINT NAME: _________________________________________

DATE: ___________________________


Warning – This page must be signed and returned to the instructor to receive a complete grade in this course.