![]() College of Engineering & CS Wright State University Dayton, Ohio 45435-0001 |
|
Catalog Description: CEG 333. Introduction to the use of Unix and Unix
tools as a problem-solving environment. Emphasis on the shell, files and
directories, editing files, user process management, compiling, and debugging.
2 credit hours.
Prerequisite: CS 241.
The numbers in parentheses are a rough estimate of the number of (50-minute) lectures on each topic.
Project work is a significant part of this course. The ordering of lectures, in contrast to the course content topics listed below, is largely due to this influence.
Unix and Linux. Logging in and logging out. What the Shell Does. The
UNIX File System. UNIX Commands. Processes. X11 and KDE. The Ten Most Essential
Commands for Unix Users: ls, cd, mkdir, rm, top, ssh, sftp, xterm, emacs,
make; Standard Files and Redirection. Graphical User Interfaces. The
xterm Terminal Emulator. gFTP, file transfer client.
Chapters 1, 2 and 13.b
File Permissions. Operations on Directories. Listing Files with ls. Displaying and Concatenating Files with cat. Linking, Moving, and Copying Files with ln, mv, and cp. Removing Files. Examining Files or Output with a Pager. Printing Files. Finding Files with find. Locating, Classifying, and Checking Files. Comparing Files. Controlling File Access and Ownership. Miscellaneous File Utilities. Data Compression and Encoding. Archiving Sets of Files. Examining Files with od. Copying and Converting Data with dd.
Chapter 3.
Shells: sh, bash, csh, tcsh, ksh, ... Bash, the "Bourne-again Shell." Interacting with the Shell. Editing an Input Line. Calling the Shell Directly. Shell Scripts. Syntax of Shell Input. Patterns. Regular Expressions. Simple Commands. Linking Commands with Operators. Redirection. IO redirection. Filters and pipes. Here-Documents. The test, true, and false Commands. Compound Commands. How Commands Are Executed. Parameters. Parameter Expansions. Quotation. Substitutions. Aliases. Commands for Job Control. Intrinsic Commands and Predefined Aliases. Predefined Variables Used by the Shell. Execution Options. Initialization Files for the Shell.
Man pages. Makefiles. gcc and g++. Debugging. Executable binaries v. bash shell programming. Signal handling. Libraries: Standard libraries v. operating system calls. Unix system calls, and the standard. Shared libraries. Routines v. packages. Memory allocation, file io.
Chapters 6 and 7.
The vi Visual Editor. Getting Acquainted with Emacs. Getting Help. Basic Editing Commands. Indentation. Operations on Rectangles. Explicit Operations on Buffers. The Buffer Menu. Searching and Replacing. Executing UNIX Commands from Emacs. Environmental Inquiries. Customizing Emacs.
Chapter 9.
Network Addresses. Local-Area Networks. Distributing Files Over Networks.
Internet Resources. Programs for Remote Communications. Remote Operations on
"Nearby" Computers. Calling a Remote Computer with telnet and ssh.
Transferring Files Between Computers with ftp and sftp. Newsgroups and
Newsreaders. Forwarding Mail.
Chapter 12.
Finding Patterns with grep. Using sed to Edit from a Script. Finding files. The awk Programming Language. Other Data Manipulation Languages. Document Processing. Version Control.
Chapters 4, and 5.
You are expected to attend all classes.
There will be two exams contributing 30% and 35% to the final grade. The mid term is scheduled around the fifth week, and the final during the exam week as set by the Registrar.
The projects contribute 30% to the final grade. I expect to give the project in five parts worth 5+5+10+5+5% respectively. The due dates for these will be announced in class.
The projects will be evaluated based on three criteria: (1) approach, clarity, and elegance, (2) correctness, and (3) efficiency. These projects must be work done solely by you, except for the parts I provided you with. The implementation must be in C, C++, and/or bash demonstrable on our Linux systems. Projects must be submitted on-line using the turnin program.
I may ask you for a demo of your projects. During or after the demo, I may also ask you questions pertaining to your projects.
I will recommend that you work on various problems from the book and other places. However, as this course has currently no TA support, I will neither grade the solutions nor provide solutions.
wright.ceg.333 Post all your questions, helpful comments, criticisms, and suggestions regarding this course (lectures, projects, home work, exams) to our news group. I am hoping for a lively discussion leading to good answers and clarifications. Keep an eye on this newsgroup. To encourage good participation, I am assigning 5% of the total weight. I am not looking for mere volume of submitted articles, or just questions, but quality of answers and discussion you provide in the group.
| 04/13/04 |
| Open Content Copyright © 2003 pmateti@cs.wright.edu |