CIS 330 C/C++ Announcements

[ CIS 330 C/C++ Home Page | Syllabus | Assignments ]

(Watch this space for any schedule changes, clarifications, and other important class-related news)



(Wednesday, March 12, 2008) Here is the variable arguments example code from class today: vargs.c.

(Wednesday, March 12, 2008) Don't forget to log in to Duckweb to fill out the course evaluation for this course.

(Wednesday, March 5, 2008) Here is the templatized Array2d example code from class today: Array2d.h, Array2d.c, array2dTest.c. And here is the Standard Template Library vector example: vec.c.

(Friday, February 29, 2008) Here is the list example code from class today: MyList.h, MyList.c, myListTest.c. The files have been renamed to MyList, and the remaining compile errors have been cleaned up in MyList.c. Note that the class name in the template definition must include the parameterized type. An example using the string class is added to the driver code.
The other examples (IntStack for private inheritance, and template sorting functions) can be found on links in the syllabus page.

(Wednesday, February 27, 2008) Here is the example code from class today: Shape.h, Shape.c, RightTriangle.h, shapetest.c.

(Wednesday, February 27, 2008) Here is the example of inheritance used in class last Friday: super.c.

(Friday, February 15, 2008) Here is the Makefile from class today. I have rearranged it and added targets for some other programs.

(Friday, February 8, 2008) There will be a review session on Tuesday in Deschutes 160 from 1PM to 2:30PM. I expect to have the graded assignment 3 available then, too.
(Friday, February 8, 2008) The due date for Assignment 3 has been changed to Saturday at 5PM to give you an extra day to work on constructor, method, and operator syntax.

(Thursday, February 7, 2008) The midterm is next Wednesday, February 13. Here are some things to expect on the midterm:
  • You may be given the code for a small program and be asked to find the errors in the code. Errors could be incompatible types in expressions, missing constructors, memory leaks, improper use of pointers, failure to allocate space, use of pointers after the space is freed or recovered from the stack, etc., etc.
  • Understand the use of pointers and how they relate to the space allocated for arrays. You could be given definitions of variables and then be asked if certain snippets of code using those variables will compile, and if so, are they likely to produce runtime errors.
  • Make sure you understand declarations, types, and expressions well. You could be presented with various declarations and asked for the type of expressions involving those variables. E.g., given int **p, the type of (*p) is int *, i.e. pointer to int. Understand the implications of "const" in a declaration.
  • Review the right-left rule so that you could create or analyze declarations involving arrays, pointers, and functions.
  • Know where copy constructors are used and the difference between initialization and assignment.
  • Know the syntax of defining methods and overloaded operators for a class. There could be questions that ask you to write some small methods for a simple class definition. Know the difference between an operator implemented as a member method versus being implemented as a global function.
  • Know that the type of this in a method of a class Foo is pointer to Foo. If the method is constant, then this is a pointer to a constant Foo.
  • Know the syntax for declaring a method to be constant.
  • Know the syntax for parameters passed by reference to a function, and how call by reference differs from the call by value.
  • Know the syntax for overloading operators, both as member methods and as non-member methods.

(Tuesday, February 5, 2008) Ben Rudin (brudin@uoregon.edu) is starting a chapter of the National Society of Leadership and Success at UO. Their mission is to have goal-oriented individuals come together and help each other succeed. See their web site at www.leadershipsociety.com for more details. Ben is trying to recruit an information technology coordinator. If you are interested, please contact Ben.

(Wednesday, January 30, 2008) Here are the examples of function pointers and references used in class today: func_pointer.c and swap.c.

(Monday, January 28, 2008) Given the weather and the difficulty of the assignment, the due date for assignment 2 is changed to Wednesday, January 30, at 5PM.

(Friday, January 25, 2008) Before next Friday, please read Chapter 1 of The Practice of Programming, by Kernighan and Pike. I have put a copy of the book on reserve in Science Library. This is a very well written and engaging book; the first chapter is on programming style.

(Wednesday, January 23, 2008) Here are the examples of pointers and arrays used in class today: array1.c and array2.c.

(Wednesday, January 16, 2008) Here is the example introducing pointers used in class today: ptr.c.

(Friday, January 11, 2008) Here are the examples used in class today: output.c, out.c and args.c

(Wednesday, January 9, 2008) Welcome to CIS 330, C/C++ and Unix! This course has been regularly offered as a CIS 399 special topics course, and beginning next year it will be a regular part of the curriculum designated as CIS 330.