CSE 271 Programming in C and the UNIX Environment (3)
Mark Erle (Spring 2017)
Current Catalog Description
C language syntax and structure. C programming techniques. Emphasis on structured design for medium to large programs. Unix operating system fundamentals. Unix utilities for program development, text processing, and communications. Prerequisite: CSE 109.
Kernighan and Rittchie, "The C Programming Language", 2nd Edition, Prentice Hall, 1988, ISBN 978-0131103627
Kernighan and Pike, "The Unix Programming Environment", Prentice-Hall Software Series, 1983, ISBN 978-0139376818
Students will have
1. Program competency in the C programming language
2. Be comfortable using UNIX
3. Know how to use common C and UNIX development tools
4. Be able to write UNIX shell scripts
5. Be able to write moderate C programs utilizing common UNIX systems calls
RELATIONSHIP BETWEEN COURSE OUTCOMES AND STUDENT ENABLED CHARACTERISTICS
CSE 271 substantially supports the following student enabled characteristics
A. An ability to apply knowledge of computing and mathematics appropriate to the discipline.
J. An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.
Major Topics Covered in the Course
- C programming: Syntax, statements, data types, operators, the standard libraries, separate compliation, safe programming practices
- Software development issues: text editing, static and automated program testing, source tools for compilation, maintenance, and debugging
- UNIX operation
- Shell programming/scripting
- Text processing
- UNIX systems programming: system calls, signals, processes and inter-process communication, files and filesystems