## This page is for the COM 1101 section of Sergey Bratus

Class meets Mon, Tue, Thu 3:30 - 5:10 p.m. in 247 CN

My office is 19 CN, ph. 373-5119. Office hours: Mon, Thu 5:15 - 6:00 p.m. and by appointment. E-mail me at sbratus@ccs.neu.edu to set the time.

It is time to choose your Course Project.

The StickPic code is here.
The Self-expanding Table is here.
Have a look at the Practice Quiz on constructors, destructors and copy constructors. Then look at the solutions.
Here is the code for the Fractions example: These are just plain text files. Shift+click on the above links to save them (Option+click on a Mac).

The Midterm Exam is on Thursday February 18. Prepare by reviewing the code above, and these questions.

Read the myString example code to prepare for the exam. Be sure you understand what causes each line of its output. Paste the code from Netscape into your favorite compiler.

Look at the midterm solutions. This extra credit assignment extends the questions asked on the midterm and will improve your grade. Here is a pre-processed text fragment for this assignment, and the entire text of "Alice in Wonderland" from Project Gutenberg. There are many more public domain e-texts on the Web.

My quicksort file (without the actual quicksort -- you do that). OK, here is the SOLUTION , in the template form. You may use it for sorting your StringTables.

The Complex Polynomials lab has caused more difficulty than I expected. Here are a few more explanations.

Some code for a singly linked list. Similar code will be featured on the final exam. You need to implement a few features mentioned in this file to be well-prepared for the final.

Finally, here is the code for a template dynamic table. Since the "big idea" should be familiar by now, I included something extra in the code -- a few comments on consts and "const correctness". You may skip these on the first reading, and return to them later, if you want to know why two versions of operator[] are considered good style.

Hackers: CoreTools sources, CT emulator. The CT emulator code should work for both VC++ 5.0 and 6.0. It was reported that my .dsp (project) files caused crashes. So do this:
1. Create a new Win32 Console project.
2. Add my files manually to it.
Documentation and examples are coming soon. In the meantime read and run this main_test.cpp, which is a haphazard medley of various tests.

The syllabus and the class schedule are available on Ambassador (the CCS Systems Mac file server), in the Course Directories:COM 1101:Students:Bratus folder.

The texts for this course are

• Stanley B. Lippman and Josee Lajoie, C++ Primer, Third Edition, Addison Wesley Longman, Reading MA, 1998, ISBN: 0-201-82470-1
• Timothy Budd, Data Structures in C++ Using the Standard Template Library, Addison Wesley Longman, Reading MA, 1998, ISBN: 0-201-30879-1
You are expected to read a lot of these texts on your own. Lippman and Lajoie's book is also intended to serve as a reference in C++ for you.

### Beyond the textbooks:

• My favorite C++ reference (you can order it from Barnes & Noble) is
Paul J. Lucas, The C++ Programmer's Handbook, Prentice Hall, only 130 pages, has no "padding", but covers almost all essential aspects of the language. Unfortunately, its doesn't cover STL.
• Bjarne Stroustrup, The C++ Programming Language, Addison Wesley, now in 3rd edition.
Bjarne Stroustrup is the author of the original version of C++. I recommend acquiring this book if you want to go beyond the basics of C++. The 3rd edition covers STL and much more.

Personal: Local:
General C++ Info:
• USENET C++ FAQ - recommended reading!
• C++ riddles. See if you really understand the language. Contains useful pointers.
• Understanding C++: an Accelerated Introduction.
Good on-line tutorial, covers basic syntax, and advanced C++ features: Classes, Inheritance, Virtual Functions, Operator overloading, Pointers etc. with lots of examples.
• LEARN C/C++ TODAY
This page contains lots of references to C and C++ tutorials. Some exist as ZIPped plain text files, others as HTML documents.
STL:
Tell me if you find good on-line C++ or C references!