Course Content and Outcome Guide for CS 140U
- Course Number:
- CS 140U
- Course Title:
- Intro to UNIX/Linux
- Credit Hours:
- Lecture Hours:
- Lecture/Lab Hours:
- Lab Hours:
- Special Fee:
Course DescriptionIntroduces the UNIX/Linux operating system, including: task scheduling and management, memory management, input/output processing, internal and external commands, shell configuration, and shell customization. Explores the use of operating system utilities such as text editors, electronic mail, file management, scripting, and C/C++ compilers. Discusses trends in UNIX/Linux, including use of graphical user interfaces. Recommended: CS 160. Audit available.
Intended Outcomes for the course
On completion of this course the student should be able to:
Identify and use UNIX/Linux utilities to create and manage simple file processing operations, organize directory structures with appropriate security, and develop shell scripts to perform more complex tasks.
Effectively use the UNIX/Linux system to accomplish typical personal, office, technical, and software development tasks.
Monitor system performance and network activities.
Effectively use software development tools including libraries, preprocessors, compilers, linkers, and make files.
Comprehend technical documentation, prepare simple readable user documentation and adhere to style guidelines.
Collaborate in teams on system tasks.
Outcome Assessment Strategies
Students will complete projects comprised of user documentation, message preparation, file preparation, manipulation and computerized reporting, script completion, C/C++ program implementation, and testing.
- Documentation will demonstrate good organization and readability.
- File processing projects will require data organization, problem solving and research.
- Scripts and programs will demonstrate simple effective user interfaces.
- Scripts and programs will demonstrate effective use of structured programming.
- Scripts and programs will be accompanied by printed output demonstrating completion of a test plan.
- Testing will demonstrate both black and glass box testing strategies.
- Project work will involve group participation.
Students will demonstrate competency on exam(s) which are constructed to demonstrate:
- Written technical communication and effective use of concepts and terminology.
- Facility with Unix command syntax and semantics.
- Ability to read and understand specifications, scripts and programs.
- Individual capability in problem solving using the tools presented within the class.
Students will demonstrate a mastery of the course materials and concepts within in class discussions.
Course Content (Themes, Concepts, Issues and Skills)
Technology, Concepts, and Tools
Basic nature of the operating system functions and components:
- Process Control
- Memory management
- Task management
- Input/output control
- File management
- Program development
- System accounting
Names and basic nature of other popular operating systems including:
- MS DOS
- VAX VMS
- variations of MS Windows
Terminology and concepts:
- Login / logout
- Command line user interface -- CUI
- Graphics user interface -- GUI
- Shells --- command processor / interpreter
- Internal commands
- External commands
- Utility programs
- File transfers
- Standard input, output, and error streams
- Command processor / command interpreter
- File protection
- File Encryption
- Directory structure
- Programming language translators
- Foreground processing
- Background processing
Unix file naming conventions, including:
- File names
- File extensions
- Wild carding ( globbing )
- Use of meta symbols.
File organization concepts:
- Logical organization of file system directories
- The data hierarchy
- Design and management of a hierarchical or tree-structured file system
- File and directory permissions
- Hard and symbolic links
- Absolute and relative paths
- Ordinary files
- Text vs. binary
- Executable vs. non-executable
- Character device files
- Block device files
- Symbolic links
Text file editing and formatting
- emacs / pico
- X window based WYSIWYG word processors
- Mark up for advanced formatting
Basic file processing operations:
- Create a file
- Access a file using the relative pathname
- Access a file using the absolute pathname
- Erase or delete a file
- Copy a file
- Move a file
- Cut columns of data from a file
- Paste / concatenate files
- Rename a file
- Create a directory
- Display the contents of a directory
- Display the user initialization files
- Change the working directory
- Return to the home directory
- Remove a directory
- Display the file and/or directory information
- Change file/directory permissions
- Initialize default file/directory permissions.
- Utilities such as sed and awk
Unix filters and use of the pipe construct to form pipelines to:
- Search files
- Search for files by attributes
- Sort files
- Display files
Shell customization and programming:
- Shell initialization files
- History mechanism(s) sh, ksh, and bash
- Shell variables
- Script writing
- Script debugging
- Script usage
Fundamental structured program control structures:
- Alternation / Selection
- Repetition / Iteration
Introduction to advanced scripting languages to include one or more of:
Process of developing C/C++ programs in Unix
- Entering C/C++ programs
- Finding syntax errors
- Source files
- Object files
- Binary executables
X Window graphic user interface
- X server
- Popular X window managers
- Basic X clients
Client / server model in Unix communications software:
- Electronic mail services
- who / w / users
- write / chat
- Web browsers
- Use of electronic mail software
- Preparation of reference guides and user documentation
- Team projects
- Class discussions