The math you get in an introductory programming class is 4th grade math:
add, subtract, divide, multiply, mod. It isn't the stuff that matters for
big structural problems. And it's not practical. For a few numbers, I can
do it faster with a calculator. For many numbers, I can do it quickly with
a spreadsheet. If I want to print "Hello World" I can just type it into a
text editor, or write it with a pencil. Why bother to write a program and
fuss with a compiler?
Pretty much the whole entire entry level programming class for the average
class covers using code to do things that you can do much more easily
without code. Even a programmer would just use a calculator to add some
numbers. It's the opposite of useful.
What to start with instead is an open question. When I was a child,
Silicon Beach Software released WorldBuilder. This was something like a
developer tool to make the kind of games Infocom made after they put
pictures in games. I think it may have been derived from an Infocom
developer tool. Anyway, it had basic objects you make - rooms, characters,
items - and then for each you could attach code to it in a scripting
language that was specific to the WorldBuilder platform. So you could call
a random number generator from within a room, and based on the number
returned, you could call or not call a character (ie. monster). You could
attach to a character, the chance to bring a different character instead,
and so could have a variety of characters with some probability of
appearing. For an item you could give rules about it that change things,
like switch one room for another, so that using a key switches a room with
locked door for one with open door that allows movement in more
directions. It was scripting for simple dungeon games and a simple drawing
and photo import tool to make room images and sprites.
It's a little worrying that there aren't introductory programming platforms
that let someone do something interesting at a simple level (ie. just
making a dungeon, based on a map, but not having any puzzles in the dungeon
is still creative, and you can show it to someone to "walk" through), and
then have added functionality you can reach via code (ie. probabilities
that objects and other characters will appear in a room, items where
possessing the item changes how a room works, so coding lets the static map
become more interactive).
Introductory level programming classes have no practical or impractical but
fun applications to the world. Code doesn't do anything better, or faster,
or previously impossible until way too far into formal education. Being
useless is a huge turn off for me, and probably lots of other people.
On Fri, Feb 22, 2013 at 10:39 AM, Cary Gordon <[log in to unmask]> wrote:
> While comprehensive specific math skill set might not be necessary in
> programming, an understanding of mathematics beyond arithmetic can be
> very useful. Relational database theory, for example, maps pretty
> neatly to set theory.
> Mathematics in general delivers a lot of insight into dealing with
> complex patterns.
> Is a solid math background necessary to program? Of course not. Sooner
> or later though, programmers need a solid understanding of logic.
> On Fri, Feb 22, 2013 at 7:30 AM, Karen Coyle <[log in to unmask]> wrote:
> > On 2/21/13 7:48 PM, Emily Morton-Owens wrote:
> >> This was just the right thing to say, because he was connecting it to
> >> something that I consider myself talented at (languages), rather than
> >> something I don't (math).
> > I want to clear up the "math is hard" and "programming is math" myths.
> > First, the ratio of women to men in graduate math programs is approaching
> > 50/50, although women are still struggling to be hired and gain tenure in
> > math departments. So "math is hard" for many of us, but it's not
> > a gender thing. (I'm looking for the cite for this -- I've done too much
> > random reading recently and didn't mark this. May be book below.)
> > Math skills are not required for programming. There was a time when
> > valley was desperate for programmers, and some companies advertised that
> > they were looking for folks with music skills and they would teach them
> > programming -- because they had found that musicians make for good
> > programmers. It's the ability to deal with complex patterns that makes a
> > difference. Which is why it annoys me when programming instruction begins
> > with a list of mathematical functions that most programmers will never
> > I believe that Rosy was the first to recommend this, but the IEEE
> > publication: Gender Codes - why women are leaving computing/ edited by
> > Thomas Misa, 2010 is essential reading. You can get it as a Kindle or
> > book. isbn 978-0470-59719-4 (paper) 978-1118-03513-9 (ebook)
> > kc
> >>> Hi Folks,
> >>> I'm teaching systems analysis at SILS (UNC CH) this semester.
> >>> Though the course is required for the IS degree, it's not required for
> >>> the
> >>> LS degree.
> >>> However, the majority of my students this semester are LS. And the
> >>> majority are women.
> >>> Apropos of the part of the thread that dealt with numbers:
> >>> For those of you who came into this community and at some point went
> >>> through a MSLS or MSIS program I am wondering if there are things I
> >>> try to do that might have an impact on better aligning the ratio of men
> >>> to
> >>> women in code4lib and the technology end of the field in general to
> >>> in the general population?
> >>> Was there a moment of clarity? A person who said or modeled the right
> >>> thing? A project that helped uncover a skill you didn't know you had?
> >>> And, I am not just interested in what I can do through one class, but
> >>> also
> >>> what the curriculum and school could do more holistically.
> >>> Thanks,
> >>> Tim
> > --
> > Karen Coyle
> > [log in to unmask] http://kcoyle.net
> > ph: 1-510-540-7596
> > m: 1-510-435-8234
> > skype: kcoylenet
> Cary Gordon
> The Cherry Hill Company