Held Tuesday, March 7, 2000
past few weeks. What are the strengths and weaknesses of the
Question 26 for today's class:
- Don't forget, there is no class on Friday. I'll be at the SIGCSE
Symposium on Computer Science Education.
- A few of you have asked about the stories (since I haven't given you
samples). I'd still like you to write stories, but we'll
wait until after break (when I'll have samples ready).
- If I don't have samples ready after break, we'll drop the assignment.
the interaction of non-programmers (the students in this class)
with programmers (Sarah and SamR). In particular, we'll try to
design (and maybe even build) a game.
- Your question for tomorrow involves thinking about how the
techniques we've learned so far might be used in a game.
- For next Monday, read Forester & Morrison, Chapter 5
- Open Source, revisited
- On Wednesday, we'll look at how ``professional'' programmers
- Your goal is to brainstorm interesting things we can do with
the tools at our disposal. For fun, I thought we might focus on
- I also thought it might help if we went over some of the things
that we know how to do.
- Here are some that I've come up with. Yours may vary:
- We know how to change images in the document.
- We know how to change the document.
- We know how to make popup menus.
- We know how to make changes happen with some regularity.
- We know how to replace the contents of the page.
- We know how to do different things depending on a condition.
might be helpful to consider a little bit of intellectual
property law in the U.S.
- What do you know about intellectual property law?
- What kinds of intellectual property are there?
- Why did congress first create intellectual property law
(and the associated offices)?
- Because we're in academia, we have a second set of ``laws''
to consider: those of citation.
- How do rules of citation differ?
- You identified many reasons that it is good (and bad) to be
a bit more depth.
- Obviously, many of these questions harken back to the open
source discussion, but it would not hurt to consider those
effort) eventually understand how they work.
- Should you be allowed to learn how the programs you use work?
from those pages.
- Should you be able to copy code?
- When is it reasonable to copy code?
- Is it more valid to copy techniques than code?
- How should you cite copied code? Is it different than citing
- Do your answers differ if you're talking about HTML rather
- Because you can copy code, you can ``program'' without really
- Should we allow non-programmers to program, or should it remain
in the hands of those with proper training?
- Can such copying encourage others to learn to program?
- Sam noted that such copying can lead to homogeneity.
- Why would we want homogeneity?
- Why might we want to avoid homogeneity?
- Here's another way to look at some of these issues:
have been designed differently to support most of what we want to
folks at NetScape).
- We should see how well this construct met its design goals, and
also consider whether various aspects are truly appropriate.
that the ``source code'' for a program is available to the
- The source code for Microsoft Windows or Office is not
available to the user. For these applications, the source code
is translated to a more efficient (and significantly less readable)
- It was intended to be easy for non-programmers. (This encourages
a smaller language.)
- It was intended to be ``natural'' for other programmers. (This
encourages a C-like language.)
- It was intended to support a wide variety of operations. (This leads
to a larger language.)
- Another way to consider the question is:
would we do differently?