CSCI 3510, Summer 2001

Last modified: 7/20/01

Announcements

There will be an exam on Monday, July 23. Practice questions are available. Solutions to the practice questions are also available.

Optional assignment 5 is available.

The final exam is Friday July 27 at the regular class time. The exam will be closed book, but you may bring one page of prepared notes.


Syllabus

This course covers advanced computer programming, mainly concerning representation of data and use of the memory. See the syllabus.


Office hours

M-Th 1:15-2:00. I will stay later if there is demand.


Checking your grade

If you have obtained a password then you can check your grades as I have them recorded.

You can obtain a password from me. To obtain one by email, send me email giving your name, the course, and the password that you want. Choose a string of 4 or 5 letters/digits.


Assignments

Assignments will be posted here as they become available. Some pages are available to help you know how to write programs.

  1. The syllabus contains information on how assignments will be graded.
  2. See checklist and general advise for brief advice on producing high quality programs.
  3. See short checklist for an abbreviated checklist.
  4. Some notes on commenting programs are also available.
Assignments:
  1. programming assignment 1
  2. programming assignment 2
  3. programming assignment 3
  4. programming assignment 4
  5. programming assignment 5

Practice questions for exams


Class notes

The class notes describe C/C++ language features and the basics of object-oriented programming. You can also find material in the appendix of the textbook.
  1. C/C++ language summary
  2. Practical issues
  3. Functions
  4. Abstract data types

Unix accounts and Unix tutorial

Although you may feel free to develop your programs under any system, all programs will be tested using the g++ compiler under Unix. All students will receive accounts in the lab in Austin 320. If you already have an account, it has not been changed. If you do not have an account, then your account is your first initial followed by your middle initial followed by up to six letters of your last name. Your password is your three initials (first, middle, last) followed by the last five digits of your social security number. If you have no middle initial, an x is used.

A brief tutorial on unix is available.


Debugging Tutorial

You will need to be able to debug programs. A brief debugging tutorial is available. It is strongly recommeded that you read it.


Summary of course so far

  1. [6/21/01] We discussed general issues concerning the course, and began looking at C++, including the organization of the memory as seen by C++ programs. This material is taken from the course notes, part 1.

  2. [6/22/01] We continued looking at C++, concentrating on memory allocation and deallocation issues.

  3. [6/25/01] We looked at hash tables and what is required for modifying the hash table implementation of assignment 1.

  4. [6/26/01] We looked at the CGI part of assignment 1. Then we covered material from the first part of the notes, and turned to functions (in part 3 of the notes).

  5. [6/27/01] We looked at examples of functions and looked briefly at debugging. There is more extensive material on debugging in part 2 of the notes.

  6. [6/28/01] We looked at the concept of an abstract data type, illustrated with stacks.

  7. [6/29/01] We continued to look at abstract data stacks.

  8. [7/2/01] We looked at using classes to implement abstract data types, illustrating it with a class that provides queues.

  9. [7/3/01] We went over the practice exam. We also worked on the queue class some more.

  10. [7/4/01] Holiday.

  11. [7/5/01] Exam 1

  12. [7/6/01] We went over the exam and covered destructors and copy constructors.