book on sage

57 views
Skip to first unread message

William Stein

unread,
Apr 3, 2008, 9:24:57 PM4/3/08
to sage-...@googlegroups.com, sage...@googlegroups.com
Hi,

I'm just starting to write a book on Sage for an undergrad course.
It's supposed
to have a "narrative" and "personal" feel, much more so than the
tutorial or other
books. I guess it's a little like "Sage for newbies" except (1) aimed at senior
undergrads with a programming background, and (2) will be finished by June
at the lastest. I'm posting it here as I write it:

http://wiki.wstein.org/2008/480a/book

Comments on the general structure, approach, etc., are welcome, before it is
too late.

--
William Stein
Associate Professor of Mathematics
University of Washington
http://wstein.org

Hector Villafuerte

unread,
Apr 4, 2008, 12:08:21 AM4/4/08
to sage-...@googlegroups.com, sage...@googlegroups.com


Hi William,
I really like the way your book is written, it looks very promising!
What follows is a list of typos I noted, and just a few comments.
Best,
--
Hector

Legend:
-: typos
*: comments

p.3:
- "algorithms for compuations" /// computations
- "In sharp contract" /// contrast

p.8:
* "start the notebook by typing ./sage -notebook" /// example does "$
sage -inotebook" instead
* maybe \emph{command line} and \emph{Sage notebook} would be better
throughout section 1.1.2

p.12:
- "WinSCP Using WinSCP" /// missing period
* "...by assigning to it. E.g.," /// "...by assigning to it. For example,"
* maybe \emph{save} and \emph{load} would be better throughout section 1.1.3

p.14:
- "my favoriates" /// favorites

p.15:
* "You can also use the : slicing notation" /// improve readability
"You can also use the slicing notation, e.g. a[1:3], ..."

p.16:
* The output does not follow the input:
sage: b = [[1,2], 1.234, 3/4, vector([1/3,2,3]), [[1]]]
sage: b[0] = 5
sage: b[-1] = 'hello'
sage: b[:2] = [1,2,3,4]
sage: b[1:4] = []
sage: len(b); b
4
[1, 3/4, (1/3, 2, 3), 'hello']

- "There many list methods" /// missing "are"

p.18:
- " for computing the numer" /// number

p.19:
- "after millions of people have used it" /// missing period

David Joyner

unread,
Apr 4, 2008, 6:59:03 AM4/4/08
to sage...@googlegroups.com, sage-...@googlegroups.com
On Thu, Apr 3, 2008 at 9:24 PM, William Stein <wst...@gmail.com> wrote:
>
> Hi,
>
> I'm just starting to write a book on Sage for an undergrad course.
> It's supposed
> to have a "narrative" and "personal" feel, much more so than the
> tutorial or other
> books. I guess it's a little like "Sage for newbies" except (1) aimed at senior
> undergrads with a programming background, and (2) will be finished by June
> at the lastest. I'm posting it here as I write it:
>
> http://wiki.wstein.org/2008/480a/book
>
> Comments on the general structure, approach, etc., are welcome, before it is
> too late.

So far, looks great to me. The color graphics add a lot I think.

I jusr started on Calc II with SAGE a few days ago. I'll post progress when
it's more respectable. I may also modify the Calc I with SAGE book a bit.

Georg Muntingh

unread,
Apr 4, 2008, 6:09:34 PM4/4/08
to sage-edu
It looks great, I can't wait to see more of this! The first chapter
already looks very polished, but I managed to find some typos and
other things to nag about anyway. :) Later I will try to give feedback
on a higher level.

(This is about the file book3.pdf.)

Aesthetics:
* In your screen shots I would remove the back grounds to eliminate
the nonessential and create a higher signal to noise ratio (the empty
space will make you focus on what matters).
* On several places you write '<text>' where you might want to use
`<text>' (you do this already for double quotes).

Typos:
p 8. "is uses Twisted" -> "it uses Twisted"
p 9. You say one can start the notebook from the command line by
typing "./sage -notebook", but then you write "./sage -inotebook" in
your example. (Just out of curiosity, what is the difference?)
p 9. Maybe take Exercise 1.3.1 and 1.3.2 together because they are so
similar: "Using the Sage command line or notebook, compute 123 + 456."
Like it looks right now, it might seem to be a little belittling. If
they can do it one, I'm sure they can do it in the other.
p 9. "... and work *in* almost the same way *in both*" -> "... and
work almost the same way" (elimimate the nonessential)
p 10. "... you can do with something" -> "... you can do with your
object" ("something" is weak here)
p 11. "If n is any object in Sage and foo any function" You name your
function "foo" but you don't use this name afterwards.
p 11. "you can also type n.factorial(" -> "you can also type
n.factorial?" For clarity reasons it is best to stick with one way to
call the documentation.
p. 12. "type t = walltime() then later type walltime(t)" -> "type
instead t=walltime() and walltime(t)"
p. 13. "... call the file filename.sage" -> "... call the file \verb|
filename.sage|"
p. 13. "... something besides hello printed out" -> "... something
besides ``hello'' printed out"
p. 13, footnote 2. "the pickle module" -> "the \verb|pickle| module"
p. 14. "... end of the filename, if it isn't given" -> "... end of the
filename if it isn't given"
p. 14. "Not only can you load and save individual objects, but you can
save all save-able objects defined in the current session" I don't
understand what distinguishes "save-able objects" from "individual
objects". Maybe the second "objects" should change to another word?
p. 16. "multiplyling" -> "multiplying"
p. 16. "e.g., other lists, etc." You need only one of "e.g." and
"etc."
p. 20. "and uses similar slices notation similar to lists" -> and uses
slice notation similar to lists"
p. 20. "can use backslash" -> "can use a backslash"
p. 22. "by typing\\ tt dict(v)" -> "by typing \verb|dict(v)|"
p. 22. "totally devasate" -> "devastate"
p. 22. "The list v= [1,2]" -> "The list v = [1,2]"
p. 23. "e.g., union, intersection, etc." Remove either "e.g." or
"etc.".
p. 24. "\textit{c}ould" -> "\textit{could}"
p. 24. "since every x in v requires" -> "since every command x in v
requires"
p. 25. "writing or indeed using" -> "writing or using"
p. 25. "This is a good thing, e.g., this occurs..." -> "This is a good
thing. For instance, this occurs..."
p. 25. "These same sort of issues" -> "Similar issues"
p. 26. "increase the chances it might always work correctly" ->
"increase the chance for it to work correctly"
p. 28. "with the algebraic objects of mathematics such as" -> "with
the algebraic objects of mathematics, such as"
p. 28. "arbitrary precision integer" -> "arbitrary precision integers"
p. 28. "and other object" -> "and other objects"

Lars Fischer

unread,
May 8, 2008, 3:44:01 PM5/8/08
to sage-edu
Hello,

I am reading the very interesting chapter about debugging in version
book5 from April 14, 2008.
On page 48: the first sentence in the second paragraph:
Put the Cython code (without bad.spyx.
I think you mean "put the first cell's content from the previous page
into a file, without the cell's {{{ and }}}"

With best regards,
Lars Fischer

William Stein

unread,
May 8, 2008, 7:45:20 PM5/8/08
to sage...@googlegroups.com

Thanks. It turns out there was a mistake in the latex involving %:

"Put the Cython code (without {\tt %cython}) in a file called
{\tt bad.spyx}. Then type {\tt sage -gdb} and load {\tt bad.spyx}:"

I put \% and added some extra explanation. Thanks for your feedback.

William

Reply all
Reply to author
Forward
0 new messages