EE 360C: Introduction to Algorithms and Data Structures Using C++
Summer 1996
When: MTWTh 1-2:30 p.m.
Where: ENS 302
Midterm Exam: Tuesday, July 2, 1-2:30 pm, ENS 302.
Final Exam: Thursday, Aug 1, 9:00 a.m. to 12:00 noon, CPE 2.216
Professor: Dr. Greg Lavender
Email: lavender@cs.utexas.edu
Newsgroup: utexas.class.ee360c
Office hours: 12:30-1:00 MTWTh
Location: ENS 108
Tel: 305-0280
TA: Chakarat Skawratananond
Email: chakarat@pine.ece.utexas.edu
Office hours: 2:30-3:30 TWTh
Location: ENS 629
Tel: 471-0188
Announcements
You should check frequently for new course announcements.
Syllabus
An HTML version of the course
syllabus
is available. You can also retrieve a PostScript
version, or an Adobe Portable Document Format (PDF) version.
Lecture Notes
A list of lecture
notes is available. Lecture notes are available in PostScript or Adobe PDF format.
PostScript can be viewed/printed using Ghostview on most Unix systems. Adobe PDF can
be viewed on PCs and Macs using the free Adobe Acrobat Reader. The lecture notes are
published the day of the class. I hand out the lecture notes at the start of each class,
so the files on this web site are useful if you miss a class, or misplace the handout.
Homework
Course homework assignment information is available. This information may not always be up-to-date, so you need to attend class or
check the course newsgroup for accurate assignment information.
Programming Assignment Information
Important information on programming assignments is available for you to read.
Programming assignments are posted here:
- Program #2 - Programming Project 2.25 in the course text. Due Thursday, June 27.
- Program #1, Due Monday, June 17.
C++ Compiler Info
Not all C++ compilers are created equal, but they are getting better at
implementing the ANSI draft specification of the C++ language. The most
important language feature for this course is that the compiler be able
to support C++ templates, be able to compile the Standard Template Library
(STL) or some variant. It would also be nice if the compiler supported C++
namespaces, but it is not really necessary. C++ exception handling will not be
used in this course.
I have used the following compilers with reasonable success.
- Borland C++ 4.5 on Win3.1 or Win95 (5.0 is available, but I haven't used it yet)
- Microsoft Visual C++ 4.x on Win95 or WinNT (1.5 & 2.0 are broken in various ways)
- IBM xlC on AIX (I have the manuals for this compiler in postscript format)
- SunPro C++ 4.1 on Solaris 2.x (4.0.1 will not compile STL)
- GNU g++ 2.7.2 on Sun/HP/DEC/AIX/SGI/Linux/etc. (compiles a variant of STL)
You can usually find out what version of a Unix C++ compiler you are using by
passing either a -v or -V option to the compiler. For example, my g++ compiler
reports the following:
% g++ -v
Reading specs from /opt/gnu/lib/gcc-lib/sparc-sun-solaris2.5/2.7.2/specs
gcc version 2.7.2
GNU Documentation
I have placed PostScript and Portable Document Format (PDF) copies of some of the
GNU Manuals
online for you to download.
In particular, the GNU Debugger (gdb) manual and quick reference card
should be useful to you when writing and debugging your programs. Also, the
GNU Make manual is an excellent source of information on Makefiles, as GNU Make
is an IEEE POSIX compliant implementation of make.
Internet Information Resources
You may be interested in the following sources of information on the Internet.
C++ Newsgroups
Useful Information on C++ and OOP
Other OOP/C++ Courses
The first two people are good colleagues of mine, and have put a lot of effort
into their own OOP and C++ courses.
Suggestions for improvements to this page welcome!