Lehigh University
COLLEGE HOME | LEHIGH HOME | SEARCH




   

CSE 271 Programming in C and the UNIX Environment (3)

Instructor:  Brian Davison

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 17.

Textbooks
Bruce Molay, Understanding UNIX/LINUX Programming: A Guide to Theory and Practice, 2003, Prentice Hall.

Syed Mansoor Sarwar, Robert Koretsky, and Syed Aqeel Sarwar,
UNIX the Textbook, 2nd Ed., 2005, Addison Wesley.

Stephen Prata, C Primer Plus, 5th Ed., 2005, Sams Publishing.

References
Brian Kernighan and Dennis Ritchie, The C Programming Language, 2nd Ed, 1988, Prentice Hall.

Course Goals
As an intermediate course in programming, CSE 271 is designed to give students exposure to the C programming language, the UNIX operating system, and medium-scale program structure and design.

Prerequisites by Topic
• Fundamental computer principles, Operating system usage, Remote machine access
• Fundamental programming in a structured language. Syntax and basic language constructs; Simple data types (integer, real, character, string, pointer); Simple data structures. (arrays, linked lists, trees, hash tables, files)
• Computer architecture. (memory, registers, execution, storage devices)

Major Topics Covered in the Course
2. C programming (18 classes): Syntax, compiling, linking, libraries, strings, arrays, pointers, input/output, debugging, efficiency, portability, hardware utilization
3. UNIX concepts (14 classes): Basic system usage, including text editing, shell programming. Input/output (redirection, pipes), multi-processing, standard utilities
11. Program development (7 classes): Large program design, programming utilities
• Miscellaneous (3 classes): Communications, tests

Laboratory projects (specify number of weeks on each)
C and shell programming assignments covering most of the above topics, which must be completed on UNIX workstations, are assigned nearly every week.

Estimate CSAB Category Content
                                                                      CORE       ADVANCED  
Data Structures     
Computer Organization and Architecture 
Algorithms Software Design                                                      2  
Concepts of Programming Languages                                        1

Oral and Written Communications
Every student is required to submit at least  __0__  written reports (not including exams, tests, quizzes, or commented programs) of typically  ____  pages and to make  __0__  oral presentations of typically  ____  minutes duration. Include only material that is graded for grammar, spelling, style, and so forth, as well as for technical content, completeness, and accuracy.

Social and Ethical Issues
No coverage of social or ethical issues is planned.

Theoretical Content
data structures – 4 lectures
version control – 2 lectures
debugging techniques – 2 lectures
regular expressions – 4 lectures
multi-processing – 4 lectures

Problem Analysis
Many of the programming assignments extend the functionality of previous projects. The algorithms required to do so must be determined by the student.

Solution Design
Each project requires a coded implementation, in the specified language, but while the behavior is specified, the structure to provide that behavior may vary from solution to solution.

 


 

     
image


©2012 P.C. Rossin College of Engineering & Applied Science
Computer Science & Engineering, Packard Laboratory, Lehigh University, Bethlehem PA 18015