Maricopa Community Colleges  CSC178AA   19986-20086 
Official Course Description: MCCCD Approval: 07/22/08
CSC178AA 19986-20086 LEC 4 Credit(s) 4 Period(s)
Programming in the UNIX Environment
Use of UNIX Operating System; including file system, processing environment, user commands, and programming using shell scripts, AWK, PERL and C system calls.
Prerequisites: CSC150 or permission of Instructor.
Go to Competencies    Go to Outline
 
MCCCD Official Course Competencies:
 
CSC178AA   19986-20086 Programming in the UNIX Environment
1. Define what an Operating System is, and explain the features of the Unix operating system. (I)
2. Describe the Unix file system. (II)
3. Use Unix commands to navigate and examine a file system, and modify file system contents by creating/deleting directories and files. (II, V)
4. Alter file system security by changing file permissions and ownerships. (II, V, VI)
5. Execute Unix programs and monitor process activity. (III, V)
6. Write command lines using redirection and pipes. (IV, V)
7. Program shell scripts that use environment variables. (V, VI, VII)
8. Given a text processing problem, describe which Unix tools would best solve the problem and implement that solution. (VII)
9. Set up a software project with multiple directories using Make and SCCS. (VII)
10. Write C processes that exchange information using message queues, shared memory, and sockets. (VIII)
Go to Description    Go to top of Competencies
 
MCCCD Official Course Outline:
 
CSC178AA   19986-20086 Programming in the UNIX Environment
    I. Introduction to Operating System Services
        A. High-level architecture
        B. Features of Unix operating system
      II. File System
          A. Overview of files
          B. Hierarchical organization
          C. Internal organization
            1. I-nodes
            2. Disk blocks
          D. Other file types
        III. Processing Environment
            A. Programs and processes
              1. Program execution (form and exec)
              2. Process structure
            B. Process structure
            C. Memory management
            D. Inter-process communication
          IV. Primitives
              A. Redirection
              B. Command line pipes
            V. Commands
                A. Command syntax (options, arguments)
                B. Command examples
                  1. General utility
                  2. File management
                  3. Text file
                  4. Process management
                  5. Disk
              VI. Accessing the System
                  A. Login process
                  B. Shell (s)
                    1. Environment variables
                    2. Permissions
                VII. Unix Tools
                    A. Shell script programming
                    B. Using AWK in shell scripts
                    C. Programming in PERL
                    D. Make
                    E. SCCS
                  VIII. C Programming in Unix
                      A. System calls
                      B. Inter-process communication
                        1. Shared memory
                        2. Semaphores
                        3. Message queues
                        4. Pipes
                        5. Sockets (inter-processor communication)
                      C. Signal handling
                  Go to Description    Go to top of Competencies    Go to top of Outline