Information Technology 310

ITEC 310:  Programming in C and Unix

Prerequisites: ITEC 220 with 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

Topics include:
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.

Assessment Measures

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