CIS 330
Spring 2010
CRN 31938
Last updated 2010/03/30 14:08:40
Details
- Class Times
- Lecture: Tuesday and Thursday, 10:00 - 11:20, Room 125 Chiles
-
Instructor: David Atkins
- Office: Deschutes 358, 346-4413
- Office Hours: Tuesday, Thursday 12:00 - 1:00, and by appointment
- Email: datkins@uoregon.edu
-
GTF: Daya Wimalasuriya
- Office: Deschutes 227, 346-1380
- Office Hours: Monday 1.00 - 3.00 p.m., Wednesday 2.00 - 3.00 p.m, Thursday 9.00 - 10.00 a.m. and by appointment
- Email: dayacw@cs.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.
-
C++ for Java Programmers, Mark Allen Weiss, Prentice Hall, 2004. [Available at the bookstore]
- 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.
- Recommended Texts:
- 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.
Course Objectives
- 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.
CIS 330 Academic Honesty Policy
- 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.