Posts by (1)

# CODE: The Hidden Language of Computer Software and Hardware- an Awesome logical guide through concepts of ITP

I started to read this book (in an on-again/off-again) way in the summer. In the book the author starts slow and steady and carries this pace throughout. I am still reading this book. I read a few pages a day and it has helped me in my classes immensely.
The author begins by breaking up and actually explaining how morse code works, and the logic behind it.
He then breaks down Braille and and and (Boolean logic, bits and bytes and even microcontrollers).
What I would like to discuss here is his chapter on Boolean Logic. I read this a few weeks before we discussed it in ICM and when my professor begin to discuss the logic, I understood the concept and its rationale at the outset. I never had any real training in the “hard” sciences, nor had I been exposed to logic and logical systems before.
He breaks down the symbols used in the syntax while explaining a cat getting expedition.
Cats can be Male or Female (M or F) (this does not represent the number of cats, but a class containing many cats)

Cats have colors : black White or Tan (B, W, T) (this again represents the classes of colors of cats).

Cats can be Neutered or Un-Neutered (N, U)

anyhow…. I was going to simplfy the entire chapter of Boolean logic here.  But  I think you might benefit from actually reading the chapter(book).

Instead I will say that thinking about the concepts in communicating with computers is best thought about (for me) when I imagine these concepts dealing with life, and things within our daily lives.  So, while in class, and my ICM professor talked breifly about Boolean logic, all I had to do was remember the cats example and worry only about the syntax.

I was working with “for” loops in processing, and made a little reference to it in Facebook:

int coffeeSolution;
int stomachTantrum=1;
void ITP(){
if (McD’s){
coffeeSolution = coffeeSolution + stomachTantrum;
stomachTantrum ++;
sigh (0, stomachTantrum, width, height);
}
}

I think thinking about the concepts of computing in these terms truly helped me understand them better.  I don’t know if I would have naturally come to this were it not for this book.

Have any of you had /created/translated “real life” examples help you to understand concepts covered in class?

### 4 comments to CODE: The Hidden Language of Computer Software and Hardware- an Awesome logical guide through concepts of ITP

• Michelle Cortese

Three thoughts on this:

First, Boolean logic: the most fascinating part of the George Boole influence is he died over a century before mass use of the internet or personal computers. He could never know what effect his logic/philosophy would have on the world.

Second, I absolutely echo your sentiments on uncomputing for loops. Every time I write one, I have to say what its going to do, to myself, in my head or aloud. And it’s always in a broken-down version of the 5W’s (what, when, etc.).
In my brain, this is what a for loop looks like:

for (what? when? how?){
why;
where;
}

Third, taking the idea in the other direction: from artist to coder, there is the trip from coder to artist (and not in the code-as-art way, but rather as a source of visual and conceptual inspiration). I recently stumbled upon a painting by Adam Green (of The Moldy Peaches) and artist/musician Toby Goodshank. It’s a brightly coloured, roughly painted, image of Kurt Cobain in front of a MacBook, surrounded by pseudo-code. The fake code describes an imaginary process in which Cobain can gain access to the “deep web.” Conceptually, it was a lack-luster comment on digging past the mainstream but visually it was weirdly striking; an indescribable mix of familiar yet usually not associated imagery.

• HannahMishin

I really like knowing the history of things, how they came to be: yes, making art in an age of Damien Hirst is one thing, but to make art in a world where Damien Hirst came to be, born from a longer history of making art, makes more sense to me. So I am playing fast and dirty catch up with the history of computing.
I think knowing how things came to be, at least for me, cements them in my head, firms them for cognitive understanding.
And as with the making and with the meaning, make it about life. So I code with tangible thoughts and I want to make about something besides code.
As for Kurt Cobain and Pseudo Code/MacBook: I am kind of speechless.

• I think I’m going to check out this book too. Before I started at ITP the only functional coding experience in my life was self taught, which can be very empowering. However, often I couldn’t explain why something worked the way it did, only that my experience learning it showed me that it did.

In PComp my partner and I have been working with LED strips that can be controlled pixel by pixel. We had some pretty explicit ideas for what we wanted it to look like, but quickly discovered neither of us understood how to translate our visual idea into mathematical calculations.

In grade school I always struggled with mathematics. Not with the concepts mind you, just the arithmetic. When the school & my family finally figured that out and allowed me to use a simple calculator rather than forcing multiplication tables for the 100th time, things got a lot better. Schools could do a lot of good teaching students how to find & test answers, not how to memorize them. (One of the things I appreciate about ITP)

@Michelle & Hannah I love the way I that you break down loops. It’s awesome to be able to translate from plain english to computer code. When you’re missing a component and that ability breaks down (like with programing the LEDs) getting thing done can seem really unattainable.

Again working on our midterm, I drew a flow chart to describe how I thought the program should work. This made me think, it would be awesome if there was a way to dynamically build a flow chart based on the code you write. So you can visually see where things get ‘stuck.’ I suppose that’s a bit like Max/MSP but I haven’t used it yet.

• Thank you Hanna for introducing us to this book. I definitely want to start reading this book now.
For us who were never properly trained in computer engineering, it’s really hard to dip our feet into the programming logic. It really helped to see Hanna and Michelle’s “real life” examples. I’m wondering if there are any other ways for us to understand this different side of brain better in our way? I think your examples were successful because it was in a story-telling way. Also like what Tom said, maybe visualizing these program concepts is also a great way for us to understand.