CIS 330 Spring 2009
C/C++ and Unix
CRN 35999
[
Details |
Objectives |
Honesty |
Syllabus |
Assignments |
Announcements
]
Last updated 2009/03/31 12:10:28
- Class Times
- Lecture: Tuesday and Thursday, 10:00 - 11:20, Deschutes 200
-
Instructor: David Atkins
- Office: Deschutes 358, 346-4413
- Office Hours: Tuesday, Thursday 12:00 - 1:00, and by appointment
- Email:
datkins@uoregon.edu
- Reference Material
- Recommended Texts:
-
C++ for Java Programmers, Mark Allen Weiss, Prentice Hall, 2004. [Available at the bookstore]
This book will be our main reference, and looks to be a good book for learning
a lot of the details of C++, especially for experienced Java programmers.
-
The Practice of Programming, Brian W. Kernighan and Rob Pike, Addison Wesley, 1999. [On reserve in the Science Library]
This book has a lot of good philosophy about software design, testing,
and debugging.
- Just a few C/C++ References
-
C Programming Language, Brian Kernighan and Dennis Ritchie, Prentice-Hall, 1989.
The classic little white book on the C language, still the best reference for
ANSI C.
-
The Design and Evolution of C++, by Bjarne Stroustrup, Addison Wesley, 1994. [On reserve in the Science Library]
Narrative of issues in real world language design.
-
The C++ Programming Language, Bjarne Stroustrup, Addison-Wesley, 2001.
Useful online excerpt from the book: A Tour of C++.
-
The C++ Standard Library - A Tutorial and Reference, Nicolai Josuttis, Addison-Wesley, 1999.
-
The Annotated C++ Reference Manual, Ellis & Stroustrup, Addison-Wesley, 1990.
[On reserve at the Science Library]
-
Navigating C++ and Object-Oriented Design, Paul and Gail Anderson, Prentice-Hall, 1997.
-
C++ for Java Programmers, Timothy Budd, Addison Wesley, 1999.
-
Accelerated C++: Practical Programming by Example, by Andrew Koenig and Barbara Moo, Addison Wesley, 2000.
- ...and hundreds of other books on C++...
- Some online C++ references:
Operator syntax and precedence,
Arrays,
Pointers,
Operator overloading,
Templates,
Exceptions
- Some Unix and Shell References
-
The UNIX Programming Environment, Brian Kernighan and Rob Pike, Prentice-Hall, 1984.
This is a classic book on Unix and although dated, the 1984 edition has
timeless information about the philosophy of Unix like systems.
-
The UNIX C Shell Field Guide, Paul and Gail Anderson, Prentice-Hall, 1986.
-
The New KornShell Command And Programming Language, Morris Bolsky and David Korn, Prentice-Hall, 1995.
(And the Korn Shell web site.)
-
Advanced UNIX Programming, Marc Rochkind, Prentice-Hall, 2004.
Updated version of a classic guide to standard C library and system calls.
- Grading and Policy
- Approximate weighting: Assignments 40%, Midterm 25%, Final 25%, 10% quizzes and class participation
-
This is a hands on course, so work on the programming projects and class
attendance and participation is especially important.
-
The primary objective of this course is to become familiar with
practical software design and programming activities in a C/C++
and Unix environment.
The course does not presume any previous experience with the C/C++
languages, but does assume programming experience in other languages.
In particular, experience programming in Java is expected, and familiarity
with data structures and object oriented programming is assumed.
We will cover many aspects of the C++ language and learn various programming
subtleties and techniques. We will also focus on issues of good programming
style and practices. The projects will be done in a Unix environment and
we will learn about various Unix tools along the way.
-
All assignments turned in for the course must be your own work.
Copying from other class members or other sources
is not acceptable. If you collaborate with someone else (not on your team) on any
assignment, you must indicate such on the work you turn in,
and partial credit may be given.
-
Academic honesty is expected and cases of suspected dishonesty will be handled
according to university
policy. In particular, copying someone else's work (including material
found on the web) will not be tolerated. If solutions to assignments are
obtained from outside sources, the source must be cited.
-
You are also responsible for protecting your work. That is, you must
take reasonable precautions to prevent your work from being copied.