CPS 444/544: Systems Programming I
Fall 2005(from the undergraduate bulletin)
Analysis of compilers and their construction; programming techniques discussed in the current literature; advanced computer applications in mathematical and nonnumeric areas (3 semester hours).
The goal of CPS 444/544 is to establish an understanding of the design and development of systems software, such as command interpreters, compilers, debuggers, and compilation and configuration management tools, through the study of pattern matching and filters, system libraries, interprocess communication, and automatic program generation. Students can expect a survey of various software tools supporting systems programming, including make, RCS, sed and awk, and lex and yacc, and an illustration of their role in compiler construction. Assignments are designed to provide students with a pragmatic exposure to these tools as well as issues faced by modern practitioners. Examples will be presented using C, the Korn shell, and ML in the UNIX programming environment. This is a programming-intensive course.
Meeting Times: T Th 4:30-5:45p, SC150
Instructor: Dr. Saverio Perugini, AN 145, 229-4079, perugisa at notes dot udayton dot edu, OHs: M W 3:30-4:30p, T Th 5:45-6:45p and by appointment.
(added as the course progresses)
Readings and Resources
Your Grades @ WebCT
Lectures and Course Notes(click on a date to view lecture summary for that class)
Homeworks(programming style guide) Homework #2
Homework #7 (due Dec 1, 4:30p, in class)
Readings and Resources(added as the course progresses)
FAQ(most frequent @ top)
A: Contact the CPS systems administrator, Mr. Halter, at firstname.lastname@example.org or 229-3835, and be as specific as possible. Mr. Halter's office is located in the back of AN 131 and his office hours are 8:00-5:00p M-F.
A: Contact the CPS system administrator, Mr. Halter. He will be able to reset it for you.
Please feel welcome to contact your instructor, Dr. Saverio Perugini, to provide any feedback you may have on the style of the lectures, the concepts presented in class, the course webpage, homeworks, the course project, deadlines, course and grading policies, or your general experience in the course.
"If you give me the right kind of Tinker Toys, I can imagine the building. I can sit there and see primitives and recognize their power to build structures a half mile high, if only I had just one more to make it functionally complete."
-- Ken Thompson, creator of UNIX and the 1983 ACM A.M. Turing Award Recipient, quoted in IEEE Computer, May 1999.
(c) Saverio Perugini, Fall 2005, University of Dayton. Permission to use ideas about the organization of topics and any notes or material is granted, provided suitable acknowledgments and citations are made.