The Department of Computer Science at the University of Illinois at Springfield.

Information
 Program Information
 Undergraduate Admission
 Online Degree Admission
 Graduate Admission
 Policies and Procedures

Academics
 Undergraduate Major
 Online Undergrad. Major
 Undergraduate Minor
 Graduate Program
 Semester Schedules
 Online Registration
 Course Descriptions
 Entrance Exam (CSC300)
 Exit Exam (CSC301)
 Course Web Pages

People
 Faculty and Staff
 Students
 Faculty Openings

Resources
 UIS and CS FAQs
 Graduate Projects
 Computer Labs
 Career Section
 Resource Links

Contact
 General Information
 Directions and Maps
Search
 
 
 Search WWW
 Search uis.edu
 Search csc.uis.edu

CSC 368 Systems Programming Languages

Instructor: Dr. Ted Mims, email: mims.ted@uis.edu

Catalog Description: Design principles and implementation of systems programming languages. Topics include syntax, data types, control structures, and storage management. Four systems programming software language tools that systems administrators use will be studied: shell scripts, Perl, PHP and SQL. Class activities and hands-on laboratories. Some typical laboratories and class assignments include automating repetitive tasks, scheduled file maintenance, log file analysis and electronic administrator notification.

Prerequisite: CSC 375 or Equivalent

Purpose of and Rationale for the Course: The course is designed to teach students programming language concepts used by network/systems security administrators. It will be the require core programming languages course for students concentrating in network/systems security administration. Students concentrating in software development will take CSC 388 Software Development Programming Languages. In addition to reviewing the materials presented by the instructor, students will gain hands-on experience computer systems. Activities for the students will include writing script program tools in multiple languages and using them to manage a computer.

Educational Objectives: To properly prepare our graduates with the fundamentals background and knowledge required to manage networked system of computers. This will include covering the topics managing a network of client workstations and servers using systems programming languages.

Outline of Topics to be Covered:

  1. Unix file system overview
    • structure
    • permissions and ownership
  2. Intro to Unix shells
    • sh,ksh,csh,bash,tcsh,etc.,
  3. Shell command basics
    • cp, mv, rm, file, find
  4. Intro to regular expressions
    • wildcards
    • pattern matching
  5. Shell scripts
    • #! usage
    • structure (do, for, if, etc)
    • passing arguments
  6. Awk
  7. Sed
  8. Perl
    • data types: scalars, arrays, hashes
    • data contexts
    • type globs and filehandles
    • basic file operations
    • pattern matching
    • regular expressions, revisited
    • operators
    • command structure (if, while, for, etc)
    • scope
    • subroutines
    • special variables ($_, $digit, etc)
    • global special arrays (@INC, @ARGV, etc)
    • packages
  9. HTML
    • overview
    • tags
  10. PHP
    • data types, contexts
    • file operations
    • pattern matching and regular expressions
    • operators
    • command structures
    • functions
  11. PHP and HTML

Brief Description of the type of instruction and learning experiences: Students will participate in online discussion groups, complete laboratory assignments and design, implement and test network applications.

Textbooks:

  • Unix Shell Programming, Third Edition, Stephen G. Kochan and Patrick Wood, SAMS.
  • Learning Perl, Third Edition, Randal L. Schwartz and Tom Phoenix, O'Reilly.
  • PHP for the World Wide Web, Larry Ullman, Peachpit Press

Number and types of assignments: Students will complete laboratory assignments in each of the following areas: shell scripts, Perl, PHP and SQL. Programming assignments:

  • shell script - moving files between directories based on modification date
  • awk scripts - extracting select records from a file
  • sed scripts - updating select fields in several files
  • perl scripts - combination of above assignments
  • php/html - combination of above assignments, via the web!

Criteria for grading: Grades will be assigned on a percentage basis for the following areas:

  • programming assingments - 40%,
  • midterm test - 30%
  • final test - 30%
Graduate students will be required to write a paper on a topic related to systems programming languages selected in consultation with the teacher.




Home | Information | Academics | People | Resources | Contact

The Department of Computer Science
University of Illinois at Springfield
One University Plaza
Springfield, IL 62703-5407

Last modified: August 3, 2004
Copyright© 2004 University of Illinois at Springfield