FAQ, Pt. II:
Q. I have no prior
programming experience, unlike those who have
taken CS 3 that you regularly mention. Am I at a disadvantage to those students
in terms of workload, grades, etc.?
So, you will probably be spending more time
and effort than they will for the first couple weeks and your grades over the
first few assignments still (probably) won’t be as good as theirs.
Fortunately, the class is not curved. It
doesn’t matter how well the cs3 students do; you need only be concerned with
yourself. Many persons who have not taken cs3 get As and A-s in 61a.
I haven’t seen the numbers myself, but I have
heard that, statistically speaking, there is no difference between the average
final grades of cs3 and non-cs3 students.
Q. I’m completely
lost; I feel very awkward using scheme (I like my c++ much better) and I’m
thinking about dropping the course. What do you think?
A. It’s almost ironic that scheme is most often harder to learn for
people who have prior programming experience in other languages than for those
who have never programmed before. Scheme requires a different way of thinking
about problems – this can work against people who have had another, different
sense of programming per se ingrained in them from the use of other
languages.
Once
you’ve become accustomed to it, however, you’ll begin thinking about problems
in scheme-terms and feeling awkward coding in anything else. By the end of the
course, scheme will be a tool that you use without even thinking about it (like
writing with a pen). (Heidegger, anyone?)
How
quickly you overcome your initial awkwardness with scheme is up to you – the
more you play around with it, the faster you’ll become proficient. This class
is really about thinking logically – if you are rational, reasonably
intelligent, and willing to work very hard at absorbing new concepts, you’ll do
very well in the course. If you fail to satisfy any of the three (especially
the last), you’ll have a hard time.
If you
do decide to stick it out, please be aware that the TAs and I are happy to help
anyone who tries to help himself or herself. Don’t be afraid to schedule office
hours, etc. – we’re here for you. Also, you may want to look into the recommended text 'Simply Scheme' by Brian Harvey. It is the book used in cs3.
Q. I have an Internet connection at home and
I’d like to use it to do course material. What do I need?
A. A program called ‘ssh client’ which you
can get for free from software.berkeley.edu or from the nice people in 333
Soda. If you want a pretty version of emacs (like the one on the machine I use
in lecture), you’ll need an X-windows server like ‘exceed’ available at the
same locations. There is much help available at www-inst.eecs.berkeley.edu.
Q. I don’t have an Internet connection. What do
I do?
A. Your situation is more
precarious. With an Internet connection, you could connect directly to
the machines in 310 Davis. Without, you’ll have to do the work on
your own computer and then bring it (on disk, maybe) into the
labs. There are many subtle differences between the STk that we use
on the instructional machiens and the scheme that you get with other
programs. If you do decide to write code on your own machine, be sure
to test it on a lab computer before you hand it
in.
You
can try programs called ‘Dr. Scheme’ or the windows version of ‘STk’. Be aware,
however, that you will need to load in the Berkeley extensions (called ‘teachpacks
in Dr.Scheme) in order to get it to work. I’ll have one of the TAs collect more
information on this.