ITEC 310: Programming in C and Unix
Prerequisites: ITEC 110 and ITEC 220 (Both courses require grade of “C” or better).
Credit Hours: (3)
Introduces the C programming language including C library routines and the system call interface to the Unix operating system. File and terminal I/O, process control, and inter process communication are also covered.
Detailed Description of Content of Course
1. C language history
2. C Simple data types
3. C control structures: assignment, conditional and iterative control structures
4. C functions: parameter passing
5. Structured design: structured decomposition, debugging strategies
6. C arrays, pointers and strings: array out of bound
7. C structures
8. Data structures: stacks, queues, linked lists, trees
9. C files
10. C bit operations
11. C enumerated data types, preprocessor, interacting with operating systems, inter-process communication
12. Unix history and editors: vi
13. Basic Unix commands: cd, pwd, file, date, touch, ls, chmod, cp, mv, rm -r, mkdir, rmdir, >, <, |, echo, cat -n, more, less, strings, last, head, tail, script, image, mount, df, tar cxzf, ps, bg, ctrl-z, jobs, fg, kill, ctrl-c, &, wc, paste, od
14. Unix filters and utilities: grep, egrep, fgrep, sort, find
15. Unix shells: tcsh, Bourn shell commands
16. Unix shell scripts: parameter passing
17. Unix file, directory and processes: hidden files, filename, inode, boot block, superblock, inode table, hard link, soft link
18. Unix system administration
Detailed Description of Conduct of Course
Lecture topics will include features of the C programming language, the tools and services provided with the Unix operating system, and the use of these by C programs. Students will design and implement programming projects to explore and reinforce these concepts.
Goals and Objectives of the Course
Students who complete the course will be able to:
1. Demonstrate an ability to understand and apply mathematical concepts when writing a C program to solve a problem.
2. Describe, design and implement a C program using functions and a linked data structure.
3. Describe, design, and use a shell command and its options.
4. Describe Unix file and directory structures.
5. Describe, design, and implement a Unix shell script.
Students will be evaluated based on several programming projects and a minimum of two examinations.
Other Course Information
Review and Approvals
Sept. 25, 2001 New Course John P. Helm, Chair
Nov, 2003 Updated John P. Helm, Chair
Revised: June 1, 2012