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).
A little example of operator() overloading,
as promised.
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.
Useful Links:
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!