Computer Science 217
Introduction to Programming Systems
General Information |
The purpose of this course is to provide the fundamental background necessary
to understand, design and implement the components of programming systems.
Examples of such components include text editors, assemblers, compilers,
loaders, interpreters, and portions of operating systems. The course is
divided into three major parts, machine organization and assembly language
programming, program design and development, and software tools.
Lecture: MW 10:00AM - 10:50AM : CS 105
Precept 01: TTh 1:30PM - 2:20PM : Friend Center 110
Precept 02: MW 1:30PM - 2:20PM : Friend Center 111
Precept 03: TTh 10:00AM -10:50AM : Friend Center 110
Professor: Thomas Funkhouser :
CS 422 : 258-1748 :
Office Hours: M,W 11-12, or by appointment
Preceptor: Robert Dondero :
CS 206 : 258-2211 :
Office Hours: MTWTh 2:30-3:20, or by appointment
Tina McCoy : CS 410 : 258-1746 :
COS 126. In particular, you should know the material in Chapters 1-9, 11-14,
and 16.1-3 of the King textbook.
K. N. King. C Programming: A Modern Approach. Norton & Co. 1996.
Richard P. Paul. SPARC Architecture, Assembly Language Programming,
and C (Second Edition). Prentice Hall. 2000.
Mike Loukides and Andy Oram. Programming With GNU Software.
Brian W. Kernighan and Rob Pike. The Practice of Programming.
Samuel P. Harbison and Guy L. Steele Jr. C: A Reference Manual (any recent
edition). Prentice Hall.
Brian W. Kernighan and Rob Pike. The UNIX Programming Environment. Prentice Hall.
Note: You may use different editions of the books, but if so then
you are responsible for figuring out any changes in section numbers for
Brian W. Kernighan and Dennis M. Ritchie. The C Programming Language (Second
Edition). Prentice Hall. 1988.
David R. Hanson. C Interfaces and Implementations. Addison-Wesley. 1997.
The Policies regarding
collaboration and plagiarism are similar to those in COS 126.
Please read them.