Courses

CS 9E. Productive Unix Use

Current Schedule (Fall 2014)

Description

Catalog Description: (1 unit) Use of UNIX utilities and scripting facilities for customizing the programming environment, organizing files (possibly in more than one computer account), implementing a personal database, reformatting text, and searching for online resources.

Prerequisites: Programming experience similar to that gained in CS 61A or Eng 77N; previous use of a DOS or UNIX environment.

Course objectives: We intend in this course to provide students with experience with a variety of UNIX utilities (including awk and sed), the UNIX shell command language, and facilities for managing directories on multiple computers. In the process of learning the UNIX operating system, they will be applying knowledge of mathematics, science and engineering. As many of their projects require a fair bit of software engineering, they will also be making design decisions (algorithm, data structure, time-vs-space, etc) and considering various implementation trade-offs.

Topics covered:

  • Use of several utilities (comm, cut, head, tail, sort, tr, wc) alone and in combination
  • Customization of one's .login and X initialization files
  • Navigation through the UNIX file directory and through various online documentation resources
  • Job control
  • Shell scripting
  • Network use (ssh, scp, rlogin, rcp, rsh, telnet, ftp, mail) and web browsing
  • Using and comparing compression and archiving utilities
  • Sed used in combination with shell scripts
  • Regular expressions
  • Make
  • Find
  • Awk

General Catalog