CS116 Summer 97
Frequently Asked Questions
-
I haven't taken CS115. I know it is a prereq for CS116, but I still
would like to take CS116 without it. Can I do that?
Administratively, I don't know the rules about this. But if you can
pick up the main concepts of CS115 before class starts, then you will
be able to do well. This means that you should get started on
reading the relavant sections in "Structure and Interpretation of
Computer Programs" by Abelson and Sussman, which is the text used
for 115, and is available at Eckhart library. Here are the main
concepts to learn:
- recursion vs. iteration
- building abstraction with procedures
- building abstraction with data (i.e. abstract data types (ADTs) and
abstraction barriers, and multiple representations for abstract data)
- modularity
- procedural programming
- object oriented programming
-
Which compiler are we going to use in this class?
We will be using CodeWarrior, which runs on the Macs in the Ryerson
Maclab. The advantage over using g++ on UNIX is that CodeWarrior
has a nice graphical interface, and has an easy to use debugger. The
disadvantage is that you will be able to crash your Mac with the
bugs in your programs, and will then have to reboot your computer,
wasting a few minutes (whereas on UNIX you will not be able to crash
your computer).
-
What if I want to use a different compiler?
There is a variety of other compilers (and platforms) you can
use. Two favorites are the GNU g++ compiler on UNIX and the Borland
C++ compiler for PCs. You are free to use any compiler you want, BUT
you must hand in your assignments in CodeWarrior format. The reason
for this is that it would be a big headache for us to grade programs
written for different compilers. What this means for you is that you
can do your programming/debugging on your favorite compiler, but
once you're done, you must convert your program to CodeWarrior
format for submission. This last step should be easy, because the
assignments in this class will not involve the use of compiler
dependent features.
-
Will there be any big projects in this class?
You bet! And this is in your interest, because once you know the
basics of programming, small assignments will be too boring for you!
During the course of the class we will alternately have a few rounds
of small assignments, which enable you to understand the basic
topics in class, followed by a bigger project, which will give you a
chance to put together what you've learened thusfar in class and
build a useful and interesting application. Among the projects might
be an arbitrary precision calculator (i.e. a calculator with as many
digits as you want), a spell checker with a built in dictionary, and
maybe even a small adventure game!
If you have any other questions, please send me mail and I will
answer your question and add it to the above FAQ.
To the CS116 Homepage
email:behfar+cs116@cs.uchicago.edu