Looking for last year's course web site?
Click here for the CS 106X, Autumn 2015 course web site.
NOTE: This web site is out of date.
This is the course web site from a past quarter, Autumn 2016.
If you are a current student taking the course, this is not your class web site, and you should visit the current class web site instead at http://cs106x.stanford.edu/.
If you are already at http://cs106x.stanford.edu/, the web page may not be updated yet for the new quarter.
Please be advised that courses change with each new quarter and instructor.
Any information on this out-of-date page may not apply to you this quarter.
(Suggested book reading: Programming Abstractions in C++, sections 8.3-8.4)
Today we will talk about recursive functions that make more than one recursive call. This is a useful
thing to do in many different contexts, but we'll explore with a fractal example because it provides
simple, instant visual feedback about what our algorithm is doing. And it's fun!
To understand the fractal example, it will help to have just a tiny bit of background information
on how the Stanford graphics libraries work. The first thing to know is that they create a canvas
for drawing:
the upper-left corner is the origin, or pixel coordinate (x=0,y=0)
the pixel coordinates INCREASE as you go right and down
you can draw shapes on the canvas. If you draw one shape (say, a square), and then you draw
another shape (say, a circle), the circle will appear to be "on top" of the square.
In your file's comment header, list both partners' names; also cite all sources of help, including books, web pages, friends, section leaders, etc.
Do not consult any assignment solutions that are not your (pair's) own.
Do not attempt to disguise any code that is not your (pair's) own.
Do not give out your assignment solution to another student (outside of your pair).
Do not post your homework solution code online. (e.g. PasteBin, DropBox, web forums).
Please take steps to ensure that your (pair's) work is not easily copied by others.
Remember that we run similarity-detection software over all solutions,
including this quarter and past quarters, as well as any solutions we find on the web.
If you need help solving an assignment, we are happy to help you.
You can go to the LaIR,
or the course message forum,
or email your section leader,
or visit the instructor / head TA during office hours.
You can do it!