Tuesday, May 1, 2012

OSC Router Brain Map

wii
mrmr
knx
 |
\/
Router   ---> filter
      ^_________|
  |
  |
 \/
proj RA (Theta Phi)
ProjRB (Theta, Phi)
 |
 |
\/
Router (same as above)
| _____________________> GRR
|                                                |
|______________>You           |
\/                               |               |
WARP <_________| _______|  
  |
  |
 \/
Proj Pix

Saturday, April 7, 2012

Epic Saturday Session

20 Min Coding Block #1
==================
Now handling precedence ( ie 4+5*2 works -> gave 14)

TREE
+
   \
   4
   \
   *
     \
     5
     \
     2
14

Newest issue- not handling:
   CPAR closing Low Level

Added CLL (need to close low level ) state. Worked it out on paper. Check implementation?


==================

20 Min Coding Block #2
==================
 Can handle both a + b * c  AND   ( a + b ) * c. Added CLL_STATE case in MUL token switch statement. Next, functions?
Pesky issues - case statements need {} if they have variable declarations, but don't forget "BREAK"!!!!


Tuesday, April 3, 2012

April 3

OPR = operation = [+-*/]
OP:= (

CP := )

P:= Expression \n
FuncDescription:= D WT FuncName EQ FuncExpression NL
FN:=name() | name(  FuncParameters )
FP := AT name | AT name CO FP
VD:= "S name = E " NL
v:= S name
E:=N | v | OP E CP | FC | E OPR E
FV := AT name (functionVariable)

FC:= FN op cp | name op FuncCallParams cp
FCP := E | E CO FCP
FE = E | FV


WT:= empty space like [\t \r].+  NOT NEW


Number := [0..9].+  (one or more numeric characters) | [0..9].+ '.' [0..9].+
C:= [a...zA..Z].  (one character)
name:= c[a..zA..Z0..9]+
D:= def

================================
isChar(char)
AT := @
S := #

class Token
OPR
CP
OP
V
FV
AT
S
Name
N
CO
EQ

char in[]
int inLen
int pos = 0
Token tokenStream[]

while( !done && pos < inLen)
   skipWt( in, inlen, pos )   <------ move past white space in front of token (does not delete white space)

   if( isChar ( in[pos] ) )
        lexNameorDef(in, inlen, pos) -> tokenStream
   elsif(  in[pos] == '#' )
        tokenStream.add( NewToken (Sharp) );
   elsif( in[pos]  == '@' )
        add(newToken (AT) )
                                   OP
                                   CP
                                   COM
                                   EQ
                                   EQEQ
   eif( in[pos] == '+' || in[pos] == '-' ||
        add( newToken (OPR, in[pos] ) )
   eif( isNum( in[pos] ) )
        lexNumber( in inlen pos ) -> tokenStream
   eif( in[pos] == '\n' ) 
        add( new Token (NL) )


=====================
lexNameorDef( in, inlen, pos )
   //check for def
   if( pos + 2 < inlen )
      in[pos] == 'd'    &&    in[ pos + 1] == 'e'   && in[ pos+2 ] == 'f'   &&  in[pos+3] == WHITESPACE
   pos  = pos + 3
   return newToken(D)

   //name
   string name
   while( isAlphaNum( in[pos] )  )
         name.append( in[pos] )
         ++ pos;
         return newToken(NAME, name)
   --pos;                               ---> because must stop before next token



state stacks
   top
   def
   expr
   paren
   funcCall
   FuncCallParams
   Add
   Sub
   Mul
   Div

Tuesday, March 20, 2012

Genetic

R (10) --> R(1)

Genome - set of chromosomes
Fenome - expression of the code

Crossover - A and B mix genomes to yield C
Mutation -
     - random bit flip
     - deletion
     - shuffle
     - random

Fitness Functions

Tuesday, March 6, 2012

Specifications and Requirements

Vending Machine Specifications and Requirements

who are the stake holders?
     user?
     owner?
     product makers
     property owner

   

HIGH LEVEL GOALS
   $$
     cost of product, machine
     demand, creating demand, incentive
   availability

Consider:
   How to appeal to customers (competitoin)
   Automate an interaction
   What is the product?
          *mechanism, cost, definition of vending machine
    Feedback
          *selection, price, how to select, warnings, don't-tip-me-over sign
Full range of exceptions/expectations
    out of stock/change
    invalid input/use
    log/record (safety of food)
    exception state(s) --> out of order
Security requirements
   subversion, intentional misuse
   physical and logical
   user and operator safety, financial safety
   pests and varmints

Thursday, March 1, 2012

Requirements and Development Methods

IEEE 830 Standard
Agile
Formal Methods
Volere

Specifications (Constraints)
   -Requirement
       -MUST
       -OPT
      -MUST NOT
API Interface

User Stories
   - Semantically speaking, richer and more telling than

Tuesday, February 28, 2012

Lab Assignment Feb 28

Assignment:

Using the code we started in lab, alter the method we used to resize the canvas so that a canvas inherits its size from its parent (i.e. the dimensions are not hardcoded and the canvas can easily fill its container (div) )

Test this by creating two canvas elements with different widths.