Saturday, November 01, 2003

Ok, now on to solving A in the book under number 7. What is the difference between it and what we just did? Instead of doing just one statement, we are doing a series of statements. Before we just delt with

while (a <= 9) S1

Now we are dealing with a whole block of statements...

{ if (C1)
S1;
S2;
}


I am going to use [ ] to mark out seperate statements and put it on one line here.

{ [if (C1) S1][S2]}

another words we have two statements we are dealing with here not just one. So what do we do. Well the example as it is in the book at this point in time is no good, as we are at a step before that step. To me, what I see in the grammar rules that fits this is statement list. But in checking what out instructor posted in the doc share I see that I am wrong. He says that it is a compound-statement. I see that he went back one step further than I did. That being the case.... <compund-statement> breaks down to { <declaration-list> <statement-list>}

OK I hear it now, we do not have a decloration list... well one of the items under the declaration list is that fully looking E, that means that it can be empty string. so for review, here is our chart so far.


<compound-statement>
|
________________________________________
| | | |
{ <declration-lists> <statemen-tlist }
|
E


Any questions.... nope, gee I must be good. ok from our original we have the { and the } taken care of, now to work on the statment-list. statement-list breaks down to the E OR <statement> OR <statement-list><statement>. Since we have more than one statement to deal with we have to go with <statement-list><statement>


<compound-statement>
|
________________________________________
| | | |
{ <declration-lists> <statemen-tlist> }
| |
E |
____________________
| |
<statement-list><statement>


We know that the <statement> breaks down to S2 but it takes a convulted way of getting there cause we have to worry about the ;.
<statement> breaks down to <expression> and ; and we now can make the <expression> S2

<compound-statement>
|
________________________________________
| | | |
{ <declration-lists> <statemen-tlist> }
| |
E |
____________________
| |
<statement-list><statement>
|
__________
| |
<expression> ;
|
S2

So now we have {. } and S2 taken care of. All we have left is if (C1) S1; to fit it into <statement-list> Again we cheat a bit here and work backwards... we need a if statement. What can we use from grammar rules to get it? Only one thing will let us to it, a <selection-statement>. So we look back and how to we get from <statement> to <selection-statement>, well <statement> can become a <selection-statement> along with several others. But right now we are sitting at <statement list> Look carefully what is under <statement list>, yup <statement>. Or in other words:


<compound-statement>
|
________________________________________
| | | |
{ <declration-lists> <statemen-tlist> }
| |
E |
____________________
| |
<statement-list><statement>
| |
| __________
| | |
| <expression> ;
| |
| S2
<statement>
|
<selection-statement>

<selection-statement> breaks down to the one we are looking fo: if (<expression> ) <statement>. <expression>, in this case breaks down easy also (it does not in later assignments). It is C1 So:

<compound-statement>
|
________________________________________
| | | |
{ <declration-lists> <statemen-tlist> }
| |
E |
____________________
| |
<statement-list><statement>
| |
| __________
| | |
| <expression> ;
| |
| S2
<statement>
|
<selection-statement>
_________________________
| | |
if (<expression>) <statement>
| |
(C1)


Now the other half. statement must break down into an expression and a ; . It must be come a <expression-statement>. That will break down to an <expression> and a ;.

<compound-statement>
|
________________________________________
| | | |
{ <declration-lists> <statemen-tlist> }
| |
E |
____________________
| |
<statement-list><statement>
| |
| __________
| | |
| <expression> ;
| |
| S2
<statement>
|
<selection-statement>
_________________________
| | |
if (<expression>) <statement>
| |
(C1) <expression-statement>
__________
| |
<expression> ;


Now replace the <expression> with S1 and our job is done:


<compound-statement>
|
________________________________________
| | | |
{ <declration-lists> <statemen-tlist> }
| |
E |
____________________
| |
<statement-list><statement>
| |
| __________
| | |
| <expression> ;
| |
| S2
<statement>
|
<selection-statement>
_________________________
| | |
if (<expression>) <statement>
| |
(C1) <expression-statement>
__________
| |
<expression> ;
|
S1


If this does not line up I am not sure what to tell you, I used standard fonts on my browser to put it together.
I hope this helps at least one classmate, if it does the time putting it together was worth it.

To understand a you have to 1) understand figure 7.4 in the book and also how it relates to grammar 7.5. Since the instructor has posted the answer to a I will post how I got mine as well. But before I get there:

explaning 7.4

We want to end up with [while (a < = 9) S1]
If you understand C or C++ this is a statement, that is why statement is at the top off the chart

Now go back to grammar 7.5 and look for statement aligned with the far left margin.. found it, good what is under it?
statement can break down to one of 4 things: compound-statement OR expression-statement OR selection-statement OR iteration-statement. Here I cheated a bit. I wanted to figure out how to get to a while statement so I looked to see what would get it. a while statement is under the <iteration-statemetn>. So at this point it looks like this:

statement
|
<iteration-statement>

and iteration statement gets what we want so we have:


statement
|
<iteration-statement>
|
____________________________________________________
| | |
while (<expression>) <statement>

So far so good? Ok thanks lets go on: We have while where we want it, so we stop with it. Now we have to get expression and statement where we need them. The simpliest is statement, that will be S1, so:

statement
|
<iteration-statement>
|
____________________________________________________
| | |
while (<expression>) <statement>
|
S1

All that is left is to convert expression to a <= 9, back to the grammar rules, lets look at expression.
expression breaks down into <relational-expression> OR <identifier>=<expression>. Again drawing upon my half vast knowledge of C and C++ I know that this is a <relational-expression>. So the graph now looks like this:



statement
|
<iteration-statement>
|
____________________________________________________
| | |
while (<expression>) <statement>
| |
<relational-expression> S1

Ok back to grammar rules, realtional-expression breaks down to what? A big long list I do not feel like typing out now, but notice one has <= in it? It is <relational-expression> <= <additive-expression>, lets throw that in the mix, shall we?


statement
|
<iteration-statement>
|
____________________________________________________
| | |
while (<expression>) <statement>
| |
<relational-expression> S1

|
_______________________________________
| | |
<relational-expression> <= <additive-expression>

To wrap this up quickly:
relational-expression can become additive expression
both additive expressions can become multipicative-expressions
both multipicative- expressions can become unary-expressions, then the left side becomes (again all this from grammar rules) can become a primary-expression which becomes an identifier which becomes a letter which we get to choose from the alphabet from and we choose a.

Meanwhile the right side, where we left off at the unary also becomes a primary-expression, but this time we follow the other primary-expression rules and take it to the constant. Constant chooses out of its two to ecome a integer-constant, choosing integer, choosing 9.

I would draw that last part out but the book does a better job.

Now a break, and change messages so that I can not over load this system. When we return we will look at 7A.

The Doc.

Saturday, October 18, 2003

Multimedia Presentations Class
Multimedia: Concepts and Practice - Stephen McGloughlin
Chapter 7 - Multimedia Building Blocks: 3D Modeling and Animation

1) Chapter Overview
   a) We will learn modeling
      i) Though it is more precise then sculpting
      ii) We have fewer tools to work with
   b) Software that is available
      i) Caligari's trueSpace
      ii) New Tek's LightWave 3D / Inspire 3D
      iii) Kinetix's 3D Studio
      iv) MetaCreation's Infini-D
      v) Ray Dream Studio / Carrara
      vi) EIG.SYS's Poser
      vii) Corel's Bryce
      viii) Template Graphic's 3Space Publisher
   c) All of this used to be done by hand on celluloid from which we get the term cel.
2) What is 3D
   a) Depth Perception
      i) The main thing in a 3 D image is a sense of perspective.
         (1) Things get smaller as they go back
         (2) There is shading to indicate a light source.
      ii) How is it done
         (1) Create a shape
         (2) Apply shading
         (3) Introduce light and shadow (sometimes combined with first step)
      iii) Shading
         (1) Darker areas on the figure that is farther away from the light source
         (2) Lighter colors on the surface that is closer.
      iv) Shadows
         (1) Happens when an object is between a light source and surface
         (2) Process called raytracing determines where the light source is and figures out where each ray of light would go, what it would bounce off of and where it would create brightness and shadows.
3) Overview of Computer Animation and Video File Formats
   a) Output File
         i) The still or animated rendering of the image you created.
         ii) Most programs can provide a snapshot image in standard flat file format
         iii) If you want to be able to use your animated images elsewhere they should be stored in standard file like AVI (Windows) or MOV (Apple Quicktime) as these work on web well also. Sometimes AutoDesk's FLI is also usable.
         iv) Programs also store in their own formats which will be good for generating them again or making changes needed.
   b) 3D Data Storage File
         i) Most programs store as proprietary formats
         ii) There are a few standards
            (1) AutoDesk DXF
            (2) 3D Studio 3DS
            (3) Alias Wavefront OBJ
            (4) VRML WRL files
         iii) These formats do not contain the data to recreate or edit your projects.
4) Tips for effective 3D Graphic Generation and Manipulation
      a) Know what format your development tools can use and make sure they can 'talk' to each other.
      b) Decide if you want to model your own objects or use someone else's. (clip art type libraries).
      c) Make sure that your computer has resources to do the job
         i) Memory
         ii) Speed
         iii) Hard Drive space.
      d) Allow for time to get the job done
      e) Do Not overcomplicate the scene
      f) PRACTICE, PRACTICE, PRACTICE, and then PRACTICE some more.
      g) You are not rendering just one image but many in a movie file. Be aware that will take time and make adjustments for the non critical items.
      h) Keep it Small and Simple.
5) Feedback Animation
   a) When a user clicks a button and the program is loading you need to give them feedback that something is happening.
   b) You could use two frame animation or multiple frame animation to give them some eye candy to look at.
   c) Using the rendering program you could create each frame individually and build them into your multimedia program
6) Computer Generated Video
   a) Programs generate images as series of images or a digital video clip.
   b) Once you get a series of keyframes, tell the animation program which ones are which and then it will try to generate the images needed that go between them.
   c) This process is often called 'tweening" from the word between.
7) Internet Considerations
   a) File Size - critical as file must be downloaded before it can play
   b) Streaming - a way of starting the image downloading and then start it playing while more of the file is coming
   c) No matter which is used it is best to keep it short and simple.
8) Rendering and Rendering Options
   a) Rendering is the act of making the images and making them into a single or multiple images set.
      i) More you add to it the more time it will consume.
      ii) Image is created in a top to bottom motion.
   b) It is possible to add other options to this that will add time AND realistic effects.
      i) Motion Blur
         (1) Film cars going around a race track and grab one frame
         (2) Chances are the car will be going to fast and it will be a blur
         (3) Freeze a rendering and the car will be perfectly focused
         (4) Add motion blur and the results are more realistic
         (5) Generally 3 before and 3 after the frame are rendered and then blurred together. This increases rendering time 7 fold.
      ii) Depth of field rendering
         (1) Just as in real life eyeballs and as done in the movies it is possible to bring the foreground out of focus while focusing on the background, or vice versa.
         (2) Adds realism but also rendering time.
      iii) Special effects plug-ins.
9) Avoiding Pitfalls
   a) Leave time at the end of your project. Finding mistakes means you have to re-render the images
   b) Do not be taken in by the pricing on either end of the spectrum when it comes to software (read reviews in magazines).

Thursday, October 16, 2003

Computer architecture
Computer Systems 2nd Edition
J. Stanley Warford
Section 6.2 Stack Relative Addressing and procedure Calls

In C++ procedure call changes flow to the first line of the procedure. In assembler we have to do much more work. The higher level C++. Because of abstraction we miss the pushing of information on the stack that the machine code actually has to do. To do those we use the JSR command. The JSR pushed the program counter onto the stack and then loads the operand into the program counter. To do the JSR it should be done in immediate mode. To return from the called routine we use the RTS instruction which pops the address back off the stack and into the program counter.

Program 6.7
In program 6.7 we just make three calls to the procedure call, one after the other.

Stack-Relative Addressing
One of the steps that the JSR does is to decrement the sack counter by 2. It does this because it works from the top down in the stack. If we want to add and remove things to the stack ourselves we have to have a way to decrement and to increment the stack pointer as well. ADDSP allows us to add a value to the stack pointer.

Program 6.8
Program 6.8 uses two commands to put information on the stack.

LOADA c#/r/,i
STYBTA d#-1,s


This puts an r in the register a and then the STYBTA stores the r in the stack pointer -1. We do not have to know the memory location of the pointer as it is relative addressing.
The program after it loads the data then moves the pointer with the ADDSP d#-4,i command. This moves the pointer in negative (downward) direction which is what we need as the stack builds down from the top. Next the program pulls information of the stack and outputs it. In the end the ADDSP d#4,i sets the counter back to the original place. While this does not erase the information in memory, it does remove it from use. Now the pointer can use those memory locations again (overwriting the information there when it does).

Program 6.9
In order for us to be able to go to the subroutine, then we have to put any local variables on the stack. The reason why is that we could need the memory location or even wind up inadvertently changing the variables. For that reason, variable values should be put on the stack by loading them into register A and writing them to a stack memory location and then ADDSP d#-2,i moves the counter down. (see the same instructions above in program 6.8). Once that is done we can jump to the subroutine (in this case printBar).
The subroutine now needs to set up its memory needs. We do this by using .EQUATE at the start to set up memory locations. This sets the information on the stack. We can then use relative addressing to access them. At the end use a ADDSP with a positive number to dealocte any local variables used. It then RTS to go back to the main routine. Once there the main routine pop the information back off and go on with its business. The numbers used in this program are good for this program only. The compiler (or coder) would have to allocate memory in line with the size variables that he is using.
All of this is hidden from us by the higher level languages like C++.

Program 6.10
Program 6.9 only called a subroutine (a function in C++, but a function that does not return a value). In this case we are doing a function and this function will be returning a value. Remember stated above that the information is still on the stack when we return to the main program. That fact means that the calling routine (in our case the main program) can now call that information off of the stack and use it (even though the stack pointer is back above it, we use relative addressing).

Wednesday, October 08, 2003

Computer architecture
Computer Systems 2nd Edition
J Stanley Waford

Chapter 6 Section 1.

Branching Instructions and Flow of Control

PEP/7 has 7 branch instructions
   BRLE   Branch on less than or equal to      checks N and Z
   BRLT   Branch on less than                        checks N
   BREQ   Branch on equal to                         checks N
   BRNE   Branch on not equal to                    checks Z
   BRGE   Branch on greater than or equal to   checks N
   BRGT   Branch on greater than                   checks N and Z
   BRV    Branch on V                                    checks V
   BRC     Branch on C                                     checks C

In order for these to be done, the A register is loaded with the information needed and then the N, V, Z or C bits are checked as necessary. Based on the BIT checking the branch will take place. P. 222 has a table as to how the will branch.

LOADA      num,d
BRLT         place

would load the value of num into register A and then branch to location place if the value was less than 0.

Program 6.1
A simple C++ program that takes a value in ( cin >> number ) . and then compares it with if number < 0 . If condition is met we negate the number number = - number. We then output the number with cout << number . Of course if the number is less than zero we branch around that and just do the output.

In assembler these translate to

main:      DECI       number,2    ; ask for number input
if:            LOADA                     ;put the number in register A
               BRGE      endIF         ; branch to the endIf label if N is 0 (if A is Greater than or equal to)
               LOADA   number      ;not really necessary but reload the register with number
               NOTA                        ; get 1's compliment to start negation process
               ADDA      d#1,i         ; add 1 to it to get ones compliment
               STOREA number,d   ; store the negative back in to number
endIf      DECO         number,d   ; do the cout statement to output the answer

Parts not important to discussion have been left out
notice that is the number is negative to start with the loop takes place and we go to output the number.

Optimizing Compilers
As noted the line to reload number into register A was not needed, but it could have been. What is something had changed the register. For that reason this is not optimized code, but it is nonoptimized. A compiler from a higher level language to the assembler can be of either type. Nonoptimized will be created quicker but optimized will be tighter and smaller code. Generally go for the first in creating the code and the second in creating the program to be distributed.

Program 6.2
We add to the discussion and else to go with the if. If a condition is met we do one thing, if not we do the other and in the end we do the stuff after it. The example is used in comparing two numbers. If one is larger than the other (which is a constant) then we print "high" and if not we print "low". After that the program terminates. In this program we:

main:      DECI      num,d      ; input a number
if:            LOADA num,d      ;load number into A
               COMPA limit,i         ; compare register A with the value in limit(subtract it from register)
               BRLT      else         ; go to the else label if it is less than 0 we are checking if the number is greater
                                             ; than limit by subtracting limit from it and going to the low area.
               lines omitted here for output that say HI
               BR      endIf            ; we are done go past next section
else:      lines omitted here for output that say LOW ; this is where we go if compare is lower
endIf      STOP                        ;end program


Program 6.3
Introduces the while statement and how it is done in a program. Pretty much the same thing except that the program checks to see if a condition is met and then drops through if it has not, and loops back if it has. It uses a technique of branching around the end of a loop when it checks the condition and goes to a position outside the loop. Other wise the loop just goes back up to an earlier part of the program to be done again. Nothing new code wise.

Program 6.4 is a do .. while loop. same as above just little fancier program.

Program 6.5 introduces the for loop. In C++ one can put a loop up that starts with a fixed value, compares the value and each time through the loop it will add a value to it (in this case 1 with the i++). In this program as long as the condition is not met (i<3) then we will keep looping through. Again the looping is fairly simple it is just translating it from a C++ program that gets complicated.

Program 6.6 shows us what can be done with branching and what should not be done. It is a classic case loops done because they can not because they should be.
I will not explain it in any detail as one of the homework assignments is to say what it does.

Flow Control in Early Languages
Early computers had no higher level languages to work with. So all code was in assembler and branching was the only way to do things. When FORTRAN was introduces it used statement numbers and introduced an unconditional branch as well as a conditional branch. While not comparing a status bit (at least at higher level) it let the user branch around code if conditions were right.

Structured Programming Theorem
The debate now (1966) was started. Was it possible to write code without GOTOs using only nested if and while loops. While theoretically proven, it was ignored.

The GOTO controversy
In 1968 the debate returned. It was proven that a person trying to follow a program with a lot of GOTOs in it became lost quickly. For that reason many suggested using loops to get the job done and structured programming has pretty much become the standard. remember though, just because there are no GOTOs does not mean that the program is well structured. And even if a language only has GOTO statements they can be used to create a structured style program.

[Listening to: Shout to the Lord - Hillsongs - Shout to the Lord with Hillsongs from Australia (04:39)]

Tuesday, October 07, 2003

Computer Archtecture
A+ Guide to Manageing and Mainting Your PCs
Chapter 8 Understanding and Installing Hard Drives.

I. Hard Drive Technology
   A. Tyoes of Hard Drive Intefaces
      1. EIDE Standards
         i. First one was ATA-3
            a. allows up to 4 drives on a machine
            b. all drives must follow the ATAPI interface standards
         ii. There are several different standards
            a. Each one improes on previous
            b. There is some overlapping
            c. Special cable (80 conductor) is needed for more recent ones (over ATA/100)
         iii. Newer standards support the much larger drive capacity
         iv. There are special adapters for the larger cables if the connection on the mother baord will not support it.
         v. The can be two drives on the primary cable (master and slave) and two drives on the secondary cable (same)
      2. Other interface Standards
         i. SCSI - not discussed here
         ii. IEEE 1394 - FireWire - USB has been supported instead of firewire
         iii. Fibre Chanel - High end systems
   B. How Hard Drives Work
      1. one or more platters that spin in unison
      2. Each surface is called a head (not to be confused with a read write head)
         i. Each head has tracks and sectors
         ii. If you take a specific track and sector and go through all the heads that is called a cylinder
         iii. The whole cylinder will need to be filled before it will move on to the next one.
         iv. Hard Drives require controller boards to interpert what is going on
            a. Older systems had a card that went into IO slot as well as on the drive
            b. newer ones are just on drive
   C. IDE Technology
      1. Tracks and sectors on an IDE Drive
         i. Older drives had a fixed sectoring that broke the drive up into slices. this kept the sectors constant
         ii. New drives use zone bit recording that allow for more sectors to be in outer drive ring than in inner one.
      2. Low Level Formatting
         i. Older drives with fixed sectors would often have programs in the bios to refesh the formats on them
         ii. Newer drives have this done at factory
            a. Program may be available at the manufacture's web site to fix them should they get bad.
            b. most people just toss them away
II Communicating With the Hard Drive BIOS
   A. Calculatin Drive Capicity on Older Drives
      1. Older drives: multiply heads * cylindars * sectors per track * 512 bytes per sector and that would give you disk storage.
      2. Newer drives need to fake the system out with the help of the BIOS
   B. Adjusting for More Complex hard drive organization
      1. CHS mode - Drive tells BIOS that it has a certain combination of heads/cylindars/sectors (max size 528MB)
      2. Large Mode - ECHS mode - sends geometry to BIOS which sends different information to the OS (max size 8.4 GB)
      3. LBA mode (large than 504 MB)Sends information to OS, BIOS sees sectors as long list of numbers
      4. OS bypassses the BIOS altogether. (windows NT/2000/XP)
   C. Installations Using Legacy BIOS
      1. Newer drive older system
         1. Let BIOS see it as smaller drive
         2. Upgrade the BIOS
         3. Upgrade the Mother Board
         4. Use software to act as go-between the BIOS and the OS
         5. Use an adapter card to substitute for your BIOS
III How a Hard Drive is Logically Organized to Hold Data
   A. If using Windows you must decide
      1. Fat/16 -works with DOS and Windows95 (and all newer versions)
      2. Fat 32 - works Windows 95 with patch, and all newer versions
      3. NTFS - Works with Windows NT, Windows 2000, Windows XP
      4. Your choice will be limited to what operating system you have and if multiple OS's installed, which ones will need to read which drives
      5. Generaly the larger the drive, you should take the newer technology so that slack size is minimized.
   B. Steps after drive instaled
      1. Low level format - creates tracks and sectors - not done with newer drives
      2. Partiton - sets the drive up into one large drive or several virtual smaller ones. Use FDISK in dos/windows (diskpart in XP)
      3. High level format - Use Format command in dos/windows - creates the information needed for OS to keep track of things
   C. Hard Drive Partions and logical Drives
      1. If you choose to break you drive up into multiple virtual drives, even if you ceate three or more you will really only create two
         i. Primary partion (the one that boots usualy)
         ii. Extended partion (holds 1 or more logical drives)
      2. The Master Boot Record (MBR) is 512 bytes, and is accessed during POST to see where OS is.
      3. Active partion is always the first partion on a drive (2000/xp call it system partion)
      4. DOS/Windows 9X allow 2 partions
      5. NT/2000/XP can have 4 partions
         i. Partion can be primary (having one logical drive)
         ii. Partition can be extended (more than one logical drive), but only one of these can be on drive.
      6. Active partition is always a Primary partition.
   D. Choice of File Systems
      1. Fat 16
         i. uses 16 bits for sector cluster entry in fat
         ii. limits the amount of clusters that can be on hard drive and hence, cluster size is larger
         iii. in larger drives can create a lot of slack space when small file in size is save to a large cluster size
      2. Virtual File Allocation (VFAT)
         i. Windows 95 and Windows for Workgroups (3.11)
         ii. supports larger file names
         iii made obsolete by fat 32
      3. FAT 32
         i. WIN 95 OSR and above
         ii 32 bits for FAT entry
         iii more clusters relates to smaller cluster size, less slack space.
      4. NTFS
         i. Does not use FAT system at all
         ii. uses a database called master File Table (MFT)
         iii. Writes the information on the middle of the drive rather than the end of it.
         iv. Use on systems that will not have multiple OSs on them that are of Windows 9x nature
   E. How many logical drives
      1. Some people put OS on one drive, programs on another and data on third, (or some combination)
      2. In reality you want to have the fewest drives with the cluster size to a minimum.
      3. If you have two hard drives and each has a primary partiton and extended partions, the primary partions will take the first drive letters and the extended will take the others. This can be changed by not putting a primary partiton on the second drive.
   F. When to partion a drive.
      1. First install
      2. Giving errors, in an effort to save the drive
      3. Suspect a virus (back up important information first)
      4. Wipe clean to install a new OS
      5. FDISK is used to do it, but not user friendly, some third party software (partion Magic is one) is a bit more friendly
      6. Be careful of software used to trick out BIOS
   G. What Happens During Formatting
      1. The OS Boot record is created
      2. The FAT is ceated
      3. The Root directory is built
IV. Installing A Hard Drive
   A. Prepare for installation
      1. Jumper settings
      2. Change CMOS if needed
      3. Use FDISK to create partitions
      4. FORMAT command to format drive
      5. Install OS and other software
      6. Keep notes of everything (CMOS especially)
      7. Make sure you have bootable rescue disk
   B. Read the Documentation (nuff said)
   C. Plan the Drive Configuration
      1. Put faster drives on one channel and slower ones (CD/Zip drives) on the other
      2. Visualize the instalation and plan for what can go wrong
   D. Prepare your work area and take precautions
      1. Proper grounding (straps etc.)
      2. Make suer cables will reach
   E. Set Jumpers and DIP switches.
      1. Most hard drives have setting printed on them
      2. write the original ones down if you are changing them (especially on ones in the machine already)
   F. Mount the Drive in the Bay (and recable it)
   G. If the bay is too large - buy a kit to adapt it.
   H. Use CMOS to Change Hard Drive Settings (view what changes if any made)
   I. Setup for Large-Capicity Drives
      1. Set Ultra DMA, PIO, and DMA modes to AUTO
      2. Some BIOS will let you set to boot from SCSI drives even if IDE drive is present.
      3. Make sure you set it to boot from device you want (Floppy, CD, IDE, ZIP)
   J. Use FDISK to Partion a Drive
   K. Format Each Logical Drive (FORMAT C: /s [/s is for system files if you wish to make it bootable] )
   L. Using Windows to Partiton and Format a New Drive
      1. If new Windows and new HD install boot from CD to install (change BIOS first)
      2. If 2nd drive being istalled, and Windows 2000/XP is on first drive, you can use Disk Management to partiton and format drive.
V. Troubleshooting Hard Drive Installations
   A. If installing mixed drive types (IDE and SCSI or IDE and IDE on controller) stop and get help till you are more expereinced
   B. Make sure that you did not introduce other problems when you replaced covers/put drive in slot etc. Look for cables disconnected or memory bumped.
   C. If Drive not present recheck you set AUTODETECT in BIOS
   D. Did you FORMAT C: /s?
   E. Check the web site of drive manufacturer for suggestions.
[Listening to: Here to Eternity - For This Cause - For This Cause (03:47)]

Tuesday, September 09, 2003

Computer Arch.

Computer Systems 2nd Editon, Warford, J. Stanley

Chapter 4 Section 1 and 2
We can look at a specific computer and learn things just for it, ignoring other computers or we can look at a hypothetical computer to learn in general how all computers work. We will use a hypothetical machine called Pep/7. Neither is the best solution, but this will be the way we choose to do things. The notes that follow are on a hypothetical machine.
4.1 Hardware
   CentralProcessing Unit (CPU)
   The Pep/7 contains seven specialized registers in its CPU   
  1. 4 bit status (NZVC)
  2. 16 bit accumulator(A)
  3. 16 bit index (X)
  4. 16 bit base (B)
  5. 16 Bit Program Counter (PC)
  6. 16 Bit stack pointer (SP)
  7. 24 bit instruction register (IR)
In the status register V and C bits hold information for overflow and carry. N and Z are for negative and zero. Accumulator A is where the results are stored. The rest of the registers , X, B, PC, and SP perform special functions.


   Main Memory
   Pep/7 computer contains 32,768 8 bit storage locations or 32, 768 Bytes. (32KBytes) The addresses are from 0 000 to 7FFF (o to 32,767)
   In the Pep/7 a Word is two adjacent bytes, i.e. 16 bits.
   When looking at the contents of an address and an address it is very easy to get the two mixed up. Be carefl not to do that. When written very ofter the format will be in Hexidecimal.

   Input Device
   The Pep/7 has two means of input, keyboard and file (gui will use a window)
   Output Device
   The Pep/7 has two means of exput, screen and file (gui will use a window)
   Data and Control
   Data flows from the input device to the bus by a control signal. The CPU has data flow in and out of it and sends the contol signals out. Main memory has data flow in and out and recives a signal to do so. Output receives data by the control signal.
   Instruction Format
    Since all computers have their own set of instructions wired into them ours wil be no different. We will have 32 instructions that we will use. Each instruction specifier is a single byte and then is followed by a operand specifier, a place where the action is going to take place either to or from. If they do not have an operand specifier they are called unuary instructions. The instructions would be built as follows
  1. 5 bit operation code
  2. 1 bit register specifier (which register it will effect)
  3. 2 bit addrssing mode specifier
The register specifier is 0 if it will change A (Accumulator) or 1 if it will change X (index register). The 2 bit addressing mode is 00 for immediate, 01 for direct, 10 for stack relative, and 11 for Indexed. This is the register that will be affected.

4.2Character I/O and Direct Addressing
Input and output are done by the ASCII charachter set. Pressing a key sends a ASCII code to the bus and then to memory. At this level though all is done through address locations.
   Direct Addresing
   adressing mode specifier specifies the memory location that you will work with. 01 is direct addressing and the perand is the specified address. We will now look at 12 codes from the Pep/7

00000 Stop Execution
Stops the computer (Pep/7 computer that is)

00001 Load Operand into Register R
Loads one word into either index register (1) or accumulator (0)Sets the N bit if info transfered is negative, sets Z if ti is 0. otherwise clears them. It does not change what in memory but what is in register is blown away.

00010 Store Register R to Operand
Reverse of one shown before. Takes information from register and loads it into a memory location. Register is not effected but memory location is altered.

00011 Add Operand to Register R
Takes what is in memory locations specified and adds it to register specified and stores in register.

00100 Subtract Operand from Register R
Similiar to Add but it does a subtraction instead.

00101 AND Operand to Register R
Does the boolean operation to memory location and register and stores in register.

00110 OR Operad to Register R
Similar to AND but Bollean OR is done instead.

00111 Ones' Compliment of Register R
does 1's compliment to registry and stores back in registry. No memory used.

01010 Load Byte Operator into Register R
Loads a byte (1/2 of a word) into register. Moves info into the right 1/2 of the register. It leaves left half unchanged.

01011 Store Byte from Register R to Operand
Stores right 1/2 of register into memory location listed.

11011 Charachter Input to Operand
Takes ASCII character on the input stream and moves it to a byte in memory. Ignores the register bit.

11100 Charachter Output from Operand
takes the ASCII charachter in memory location and sends it to output device.

Monday, September 08, 2003

Chapter 3 Getting Started In Multimedia
Chapter Overview
Finding your place in the field
   Whart area of Multimedia am I good at, what tools do I have the most fun with? What creative areas am I good at? Hands on or manage others? Of what I am good at, what makes most money
   Tools of the trade
      What do I need to do the job right?
      Monitors
         Bigger is better.
            17 inch and .28 dot pitch is minimum
            When possible buy multisync so that you can change screen resolutions

      Sound Cards
         Buy Sound Blaster
               Since they are the standard there will be no compatability problems on your part

      Scanners
         Bigger is not better, in fact it is just more expensive
               300 DPI should be more thatn enough unless you are doing printing press output
               Optical resolution how many DPI it has
               Interpolated resolution - what the software will convert it to for higher quality work.

      Digital Cameras
         Do research on the best that is available
               Look for different ways to transfer the files (memry stick, cable, floppy)
               minimum size for pictures is 640x480

      Video Capture Cards
         Look for 640x480 as minimum with 30 frames per second video capture as well as video playback
             Make sure it has print to video capability.
             Make sure the software will capture or export to a non proprietery format

      Hard Disk Drive Space and Removable Large-Capicity Storage
        Multimedia eats up sapce so the more hard drive space the better.
             needs to have fast data-transfer rates
            Zip drives are common, make sure to get one, larger capicity one if possible
            Jaz drives hold 2 Gig, but are not common, make sure people you work with would have one.
            Re-writale CD-ROMS good idea but make sure formats compatable.
 
      CD-ROM Burners
         Prices are droping
         get them

The Mutimedia Computer - The Promised Fulfilled
   Mac or PC - Does it Really Matter?
   NO
   Which one are you more familiar with?
   each has advantages and disadvatages.

The Multimedia Production Cycle
   Multimedia Project Planning
      Use a tool that will allow you to bring all the different parts of the project together
      This will keep "feature creep" from entering in
      A good example would be Allen Communications's Designer's Edge Pro
      Project planning software like Microsoft roject series is good also
      Get the customer to commit finacially before you start work
      Set milstones that you and the customer can agree on (make sure to estimates in case of problems

   Storyboarding
      Draw out what the project will look like and post it on corkboard or wall
   Media Components
      Put your pieces of the project out
         See which one relies on the others to be done.
         keep them in an organized system on your hard drive.

   preproduction
      Evaluate what you will need to do
      get the tools lined up for it.

   Production and Postproduction
      Postproduction is the art of taking what you have produced and taking the flatness out of it.
   Testing
   Do not test project yourself
      you will anticipate the problems and overlook them
      do not have customer test this could ruin your repuatation
      Have someone look at the project.

   Product Delivery
   Deliver the project how the customer wants it.
Multimedia Delivery Systems
   What methods available
         Floppy slow, to small,
         Hard disk, fastest, limited to sapce availble on HD
         CD ROM 650 MB FAST cannot update
         DVD-ROM 14 GB same as CD ROM
         Internet Infnite capcity (??) - variable speed. easily change the material
         Intranet - same as Internet

The Internet
   Connects to millions of computers
   Infinte storage and retrival capacity
   Uniform graphical enviornment
   Playform independant
   Publishing power in the hands of the masses.
   Multimedia on tap
   Built in redundency-proofing

Working in the Industry
   The industry needs people with the ability to put it together to work
   Where are the exciting jobs?
      Promotional CD-ROM production
      Multimedia Web Site Development
      Multimedia supplement to cretive industries
      Working for a multimedia company

   Going it Alone
Avoiding Pitfalls

Multimedia Technology


Notes from on line Voice over Power Point



Getting Started with Multimedia

Your place in the field. Author focuses on the multimedia companies and not that it will be everywhere.
Your job is to learn learn learn.
What path should you take... Deal with the dilemma... forget about it, get training and then decide what you are going to do
Hardware..

The more the better
Monitor
memory
etc.
Need Cd/DVD
Sound 16 Bit/Soundblaster (they created it)
Color Printer
High speed modem
Large capacity storage
Nice to have
Digitizing table
flatbed scanner
digital camera
video capture card/video printing card
good quality microphone
VCR compatible with video capture card.
----
Software
Graphic Design photo editing
Adobe Photoshop
Jac's Paint Shop Pro
Corel's Photo-paint
3D modeling and animations Apps
Caligrais's TrueSpace
Metacretions Ray Dream Studio
Light wave 3 D New Teck
Inspire 3D

Morphing
Kai's Supergoo
Gryphone Software Morph
Ulead/Softkey Morph Studio


Digitial SOund editing
SOnic Foundry Sound Forge
Macromedia Sound Edit 16

Digital Editing
Adobe Premier
Ulead Video Studio Pro
Lumiere

Authoring Software
Macro Director
Macro Authoware
Multimedia Fusion
Astound
Asymetrix Tool Box

Web Authoring
Dreamweaver
netscape Composer
Corel Web Designer
Front Page

Other Nice software
Batch file converter
Web animation software
web specific graphic tools.
Quick prototype presentations (Power point)
collections of stock images, sounds, photos, etc.

In hardware
scanners are a case where bigger is not better
you will pay a lot more money for large DPI scanners but will not give you better performance for what you need for work
Digital camera better is bigger
Talking head camera is OK in $25 range.

Video Capture Card
Full screen
write to vcr

HD space more better
zip/jaz drives burnable CD are all necessary

See page 52 to see absolute system
Mac or PC
You dance with the gal that brought you to the dance.
Use what you have

Multimedia Production cycle
project planning
Who are you trying to reach with how much and what.
story boarding
Conceptualize what you want to do
media components
What are you going to use and how are you going to do it.
Pre-post and production

testing and delivery.
test the product before you delivery

Delivery system
Floppy 1.44 M to small
HD> 20 to 80 GB
CD 650 MB
DVD 14000 MB
Internet Infinite.
Greatest technical advance since invention of the computer itself
Internet is to now what Guttenberg printing press was to 1550

Work in Industry
CD Promos
Web Developments
Ad agencies
A MM company

Saturday, August 30, 2003

Computer architecture

A+ Guide to Managing and maintaining Your PC - Forth Ediition, Andrews, Jean

Chapter2 - How Hardware and Software Work Together


  1. Hardware and Software Interaction: An Overview
    1. Hardware is like an automobile, it is useless with out somone behind the wheel
    2. Software is like the Chauffeur who takes instructions from another source and tells the hardware what to do
    3. The software has different levels
      1. Application software - various programs that people use
      2. Operating system - Works with the applications software on one side and the hardware on the other side
      3. Various OS have been available over the years and currently
        1. DOS - first OS for IBM/Compatable computers
          1. Wrtitten for Early PCs - verry limited
          2. Even though Win 3.x appeared to be an OS it was not, it was a shell for DOS
        2. Windows 9X (95, 98, ME)
          1. True OS but had DOS core for compatability
          2. Popular with home and business users alike
        3. Windows NT, 2000, XP
          1. Break from DOS compatabilites.
          2. In general come in Server and Client (sometimes called PRO) versions
        4. Unix - OS for networks and Internet use
        5. Linux - scalled down linux - open source
        6. OS/2 - IBM attempt at GUI
        7. MAC OS - For Macintosh computes
  2. System Resources
    1. The 8-bit and 16-bit ISA Slots
      1. The bus that was used on the first PC systems was called the ISA
      2. It used an 8 bit data bus
      3. Other lines are used for voltages, addresses, interupt requests, and other stuff
      4. Later a 16 bit slot was created and called Extended Industry Standard Archtecture (EISA)
      5. ISA slots, though still used, are slower than other I/O slots
      6. The cards themselves usually had jumpers or switches on them to determine what IRQ and addresses used.
    2. Interrurpt Request Numbers (IRQ)
      1. When a piece of euqipment needs to do something it places a voltage on its interupt request line (IRQ) to flag that it needs attention
      2. Each device gets its own IRQ number and this is how the computer is able to tell which device needs attention.
      3. IRQ 0 (system timer) and IRQ 1 (Keyboard) are not available for other devices
      4. This left 2 through 7 for other things, but they had specific things that they were assigned to
      5. IQO 2 had been reserved for a connection to mainframes by IBM
      6. With only 5 IRQs free we need a new way to connect more than 5 devices, especially with the EISA
      7. The plan was to use IRQ 2 to signal to another controller but other uses had been created for it by some manufacturers.
      8. A New IRQ (9) was created and tied to IRQ2 so that both could be used.
      9. To see how your IRQs are assigned you can use MSD in DOS or Device Manager with WIn 9x and above
      10. Another way to service the needs of the computer components, is to do polling
      11. With polling software is always running to check on various devices attached to the equipment
    3. Memory Addresses
      1. The way that memory is accsed is by addresses that get assigned when the operating system loads
      2. The CPU uses an address bus to communicate the memory location that it needs to reference.
      3. Because only 20 address lines were available in original computers that limited memory to 1,024KBytes of memory (1 Meg)
      4. DOS used only the first 640 K of that 1 Meg. The rest of that memory was reserved for devices. All that was above 1 MEG became extended memory that could only be used under special circumstances
      5. Windows does not break this memory up, all memory is available to the Operating System and the Programs. Windows 9x does have some memory fall backs to DOS though
      6. Shadowing ROM
        1. Sometimes ROM BIOS will be copied into RAM memory because it can be accessed faster
        2. Access will be the same either way. Just faster this way
    4. I/O Addresses
      1. Another way of addressing devices is by the I/O addresses assgined to them.
      2. The address match one for one the same lines as the IRQ numbers
    5. DMA Channels
      1. Direct Memory Access is used to bypass information from having to go to the CPU first
      2. 0, 1, 2, and 3 are used for 8 bit, 4, 5, 6, and 7 are used as well for 16 bit.
      3. Not all devices would be using this. Disk drives are a common use.
  3. How an OS relates to Other Software
    1. Real (16 Bit) and Protected (32-Bit) Operating Modes
      1. Real Mode assumes that there is only one program running at a time. This is called single tasking.
      2. Because of this applications are given direct access to the memory
      3. In Protected Mode more than one program can run at a time. This is called multitasking.
      4. Each program will be assigned its range of memory to be used. Hence it is protected from other aplications
      5. In protected mode virtual memory (Hard Drive space being used as RAM) can be accessed by the Operating System
      6. Computers start in real mode and must be made to switch to protected mode.
      7. In protected mode time is given to one task and then jumps to another task, stoping the first task temporarily. This is called preemptive multitasking.
      8. How an OS Uses Real and Protected Modes
        1. Programs must be written to run in real or protected mode. Some are even written to be aware that they are in protected and run sort of as a hybrid.
        2. Windows 3.x was not an operating system as such but an operating enviornment. It provides support to the applications.
        3. 16-Bit and 32-Bit Software
          1. Software written for WIndows 3.x is 16-bit software
          2. It is designed to be watching other applications and not infringe on them.
          3. Windows 9x is a hybrid, designed to use both of them
          4. Windows NT and above are strictly 32-bit software
    2. How an Os Uses BIOS and Device Drivers
      1. How an OS Uses System BIOS
        1. System BIOS contains information about how to run simple hardware common to all equipment
        2. Things like keyboard, hard drive, floppy drives
        3. BIOS is configured from the set up program that can be accessed when the computer starts
      2. How Device Drivers Control Hardware
        1. Hardware uses special software (device drivers) to make it available to the operating system
        2. These are special written for the operating system and the hardware
        3. Device Drivers Under Windows 9x
          1. Windows 9x is designed to use 32 bit drivers whenever available
          2. To provide backward compatability to DOS Windows 3.x 16-bit drivers can be loaded in config.sys, autoexec.bat and system.ini
          3. Windows 9x keeps information about 32 bit drivers in the registry
          4. Whenever posible you should try to use the most recent drivers to patch problem that may have come up earlier
          5. Running 16-bit drivers under 9x can cause the system to run slow (as well as other problems)
          6. Look for 16-bit drivers to be loaded from the three files mentioned above as well as seeing them as problems indicated in Device Manger
        4. Device Drivers Under Windows 2000
          1. 2000/xp will load 16 bit mode drivers but there is no guarentee that they will work.
          2. Always check the Hardware Compatability List (HCL) to verify if drivers are designed for your OS
  4. How an OS launches an aplication
    1. Loading Application Software Using the Windows Desktop
      1. When installed Windows offers several ways for software to be run
        1. From a shortcut on the desktop
        2. From the start menu choose programs and the look for the installed program shortcut
        3. From the RUN command and enter the command line to start it
        4. Find the program in My COmputer or Windows Explorer and run it from there.
  5. Chapter Summery
  6. Key Terms
  7. Review Questions
  8. Hands-on Projects

Thursday, August 28, 2003

Computer architecture

Computer Systems 2nd Edition, Warford, J. Stanley

Chapter 3 Notes

Read chapter 3 sections 1 - 2 - Instruction Set Architecture - Information Representation
  1. Unsigned Binary Representation
    1. Binary Storage
      1. Computers can not store numbers and letters directly
      2. They must be broken down into states the computer can understand
      3. Computers store information in a location as either an on or an off state
      4. These units are called binary digits or bits
      5. These bits combined together are called cells. Cells can be of various sizes. Most computers use 8.
      6. The 1s and 0s used to represent various characters are called a code
    2. Integers
      1. Numbers must be stored in binary form
        1. Unsigned - always positive
        2. signed - either way
      2. Review of our system - base 10
        1. Our system developed because of our ten fingers
        2. When we get to a certain point, 10 numbers in (0 to 9), we start the counting again with 0 and put a 1 in the next column.
        3. This repeats each time we reach a 9
      3. What if we only had 8 fingers instead of 10
        1. At 7 we would put a 0 in and add 1 to the next column
        2. This would repeat every time we reached 7
      4. This same pattern works if we only have 2 fingers only our numbers are 0 and 1
    3. Base Conversion
      1. simplest way to convert the numbers is just to count up but that only works for small numbers
      2. Just like base 10 goes from 1s to 10s to 100s to 1000s we can do the same with the 2s system
      3. Our numbers in this case would be 1s 2s 4s 8s 16s 32s etc. (in decimal of course)
      4. By adding the decimal numbers together for the places where the 1s are we will get the decimal number.
      5. To convert the other direction binary to decimal, follow these steps
        1. Divide the number by 2 and write down the remainder (it will be 1 or 0)
        2. Take the value of the answer and divide it by 2 again and again save the remainder
        3. When you get a 0 for an answer take that remainder and make it the first number in your string of numbers. Follow this by the other 1s and 0's till you get to the first one. this is your answer.
    4. Range for Unsigned Integers
      1. In real life we have an infinite storage system for numbers so they can get as large as the need to
      2. In computers we are limited to the size of the cells that we are using. And the amount of memory we have.
      3. Because of this the smallest number we can do in an unsigned number is all 0s and the largest is all 1s.
    5. Unsigned Addition
      1. Rules for addition in binary is the same as in decimal - reach the limit put a 0 down and a 1 in the next column
      2. What happens when we reach the limit of the cells?
    6. The Carry Bit
      1. When we wind up reaching the limit the cells can hold, then the carry bit comes into place.
      2. A carry bit will be a cell that tells the computer that we have gone over the limit of what the cell can hold.
      3. In subtraction it also lets us know that we have gone lower than we can go (i.e. 0)(It basically is a borrow bit)
  2. twos Compliment Binary Representation
    1. This system will only work for non negative numbers
      1. All we have is 1s and 0s to represent a number
      2. This means a 1 or a 0 will have to represent the fact the number is negative in a cell
      3. In most cases it is the highest order cell (the highest number)
      4. We can now represent the rest of the cells as a number (a smaller number though as we have less cells to work with)
      5. Problems add up if we try to use the same representation for a negative and a positive number
        1. If I add a +5 and a -5 I get 0
        2. If I add a 00 0101 (pos 5)and a 10 0101 (negative 5) we get

          00 0101
          10 0101
          ----------
          10 1010
          which does not represent 0 but -9
        3. In stead we need a way to add them together to get 0
        4. In this case what can I add to binary 5 to make it 0, that will be binary -5
        5. Our answer winds up being 11 1011 but how do we get that number?
        6. For that process we use the twos Compliment
          1. First invert the number to get the 1's compliment
          2. Then add a 1 to the result
    2. twos compliment range
      1. Because of the use of the 1st cell something unexpected happens
        1. Like before we have a range of 16 numbers (unsigned 0 to 15)
        2. If we only have 3 numbers to work with we should have 0 to 7 positive and negative
        3. In reality we go to -8 (1000)
        4. This makes the range -8 to +7
      2. This happens no matter how many cells we wind up using
    3. Base Conversion
      1. Conversion of negative decimal to negative binary
        1. Take the positive value of it
        2. Do a 1s compliment of it by putting 0 where 1s are and 1 where 0s are
        3. Add 1 to the result
      2. Converting binary to a decimal
        1. Start with the sign bit
          1. Positive - covert as normal
          2. Negative - one of two methods
              1. first method
                1. make number positive by negating it
                2. convert it to decimal as in unsigned representation
              2. 2nd method
                1. Where the 0s are add up those place holders
                2. Add 1
          3. The Number Line
          4. The Overflow Bit
            1. When numbers are added the carry bit represents if the number is out of range
            2. It will store the wrong information and then go on after that.
            3. If we are using 2s Compliment than the carry bit does not really represent if a number is in or out of range.
            4. We introduce a overflow bit (represented by v)
            5. when numbers are added if it senses overflow it sets the bit, otherwise it is left as 0

Wednesday, August 27, 2003

ENGL-2333RTechnical Writing I

Guide to College Writing - 4th Edition, Dial-Driver, Emily

Pages 5 - 58

Writing Process

  1. Pre-Writing
    1.  Free-Writing
      1. Let ideas flow from brain to paper on a subject, if you cannot think of anything write you cannot think of anything
      2. Give self time limit
      3. Pick out meaty topics from what you wrote
      4. If necessary repeat process with meaty topic
    2. Brainstorming
      1. Make a list of ideas that occur to you on a subject
      2. words or phrases
      3. self or group
      4. Repeat to narrow down topic
    3. Mapping
      1. Similar to brainstorming
      2. Center of paper has topic
      3. from there connect it to subtopics
      4. Subtopics can be broken to smaller topics
      5. Repeat till you have exhausted topic
    4. Journalists' Questions
      1. Who
      2. What
      3. When
      4. Where
      5. How
      6. Why
    5. Reading for Writing
      1. Read to critically learn about the subject
      2. Not all assignments will let you do this
  2. Planning
    1. Writing for a Purpose
      1. Inform
      2. Explain
      3. Persuade
      4. Entertain
      5. Explore
      6. Some writing will combine these
      7. Mostly you will write to inform (as a college student)
    2. Writing for an Audience
      1. How much does the audience know about your subject
      2. What vocabulary should you use
      3. What preconceptions do you have to work against
  3. Organization
    1. The College Essay
      1. An essay is brief
      2. Essay is non-fiction
      3. An essay makes a point
      4. An essay is meant to be engaging
      1. Formal Essay Organization
        1. There are various types
        2. Easiest is the three-section essay
          1. Introduction
            1. Get readers attention
            2. Move from general topic to specific topic
          2. Body
            1. Each paragraph will have a topic sentence
            2. Develop that topic in paragraph
          3. Conclusion
            1. Unify theme
            2. summarize main points
      2. Writing Hints
        1. Plan
        2. Choose an audience and write to that audience
      3. Stylistic Hints
        1. underline names of Books and TV shows. Titles of TV shows, titles of short stories, poems etc. Should be in quotation marks
        2. Avoid the use of the word you
        3. Do not use contractions
        4. Do not use "This paper will show..." or similar terms
        5. Do not use there at beginning of sentence. Do not use it as subject of sentence
        6. Avoid absolutes (Everyone, always, etc.)
        7. Use great care in the mechanics of writing (spelling, punctuation, etc.)
        8. Use active voice
        9. Use present tense consistently
        10. Do not refer to people by first name , last name only, and avoid Mr., Mrs. and other titles of honor
      4. The Organizing Page - helps you organize your thoughts
        1. Step 1 General Topic - What is your topic
        2. Step 2 Restricted Topic - Parameters of assignment
          1. Audience
          2. Purpose
          3. time
          4. length
        3. Step 3 Subject Segments - two or three thoughts that will become paragraphs
        4. Step 4Title - Develop a working title
        5. Step 5 Thesis Statement - Expresses the main idea of the essay
        6. Step 6 Topic Sentences - develop main topic sentences that will your paragraph topics
      5. Outlines
    2.  
    3. Paragraphs
      1. Development
        1. Topic sentence is usually first sentence in paragraph
        2. Sentences after this should support the main sentence
        3. There should be at least two supporting points.
      2. Coherence and Unity
        1. Unity - all the sentences work together as a whole
        2. Coherence - consistency and logical progression
          1. Types of organization
            1. Spatial order
            2. Work through a pattern (like a house)
            3. Start at one location and go to the next, not jump around from one to the other
            4. Chronological Order - order things in the order that they happen
            5. Order of importance - arrange things in the order of importance from most to least
    4. Patterns of Development for Paragraphs and Essays
      1. Narration - telling a story
      2. Description - describe sensory experiences or describe a person or persons
      3. Example - one long or a series of short samples of information
      4. Definition -
        1. Explain what a word or phrase means
        2. form is: Word = general class + differentiating characteristics (Discophile is a collector of records)
        3. Kind of example development
      5. Process - tells us to do something - series of steps
        1. Remember the audience
        2. Introduce the subject early in the paragraph
        3. Tell all the steps
        4. Tell all the steps in order
        5. In this type of essay you may use the word "you"
      6. Comparison (and Contrast)
        1. Contrast - to emphasize differences
        2. Compare - delineate their similarities and differences
        3. Patterns that can be done
          1. Grouping by similarity and difference
          2. Grouping by subject
          3. Grouping by point
      7. Analogy - comparison between things that are not usually consider similar
      8. Division and Classification - Division divides things, classification groups things
      9. Analysis/Cause and Effect - begin with fact and goes backwards to find out what happened.
      10. Argumentation/Persuation - attempt to persuade the reader to your view
  4. Revision - review or have someone review and then you revise according to:
    1. Essay Organization
    2. Introductory Section - clear and leads to Thesis statement
    3. Thesis Statement - clear and specific
    4. Body Paragraphs - each paragraph is clear and fully developed. Remove what does not support.
    5. Conclusion - does not introduce new material
    6. Editing - Checking spelling, sentence structure, grammar, usage and punctuation
  5. Manuscript preparation - Follow example in the book for spacing (p. 58)

ENGL-2333RTechnical Writing I


Technical Communications - Ninth Edition, Lannon, John M.


Chapter 4 - Making a Persuasive Case


Reading was for Chapter 3 and 4 and this is Chapter 4
In our discussions we will use argument to mean "process of careful reasoning in support of a claim" not "a quarrel or dispute".
  1. Identify Your Specific Goal
    1. Arguing to Influence People's Opinions
    2. Arguing to Enlist People's Support
    3. Presenting a Proposal
      1. Spell out the problem in enough detail to convince readers of its importance
      2. Point out the benefits of solving the problem
      3. Offer a realistic, cost-effetive solution
      4. Address anticipated objections to your plan
      5. Give reasons why your readers should be the one to act.
    4. Arguing to Change People's Behavior
  2. Assess the Political Realities
  3. Expect Audience Resistance
    1. For people to admit you are right they may have to admit they were wrong.
    2. There are three ways people may respond
      1. Compliance - I will do it cause you are making me
      2. Identification - I like you and you make sense, I believe that you could be ok
      3. Internalization - What you say makes sense fits my goals and values
  4. Know How to Connect with the Audience
    1. Power connection - Do it cause I am telling you to do it.
    2. Relationship Connection - Do it, I am inviting you to, it would be nice if you could.
    3. Rational Connection - Here are some pros, you may have some cons, lets talk about them.
  5. Allow For Give and Take
  6. Ask for a Specific Response
  7. Never Ask for Too Much
  8. Recognize All Communication Constraints
    1. Organizational Constraints
      1. There are unwritten rules in all organizations
      2. Be careful when you cross the lines that you should not
    2. Legal Constraints
    3. Ethical Constrains
    4. Time Constraints
    5. Social and Psycholigical Constraints
      1. What is your relationship with the audience? Are they subordinates or senior level
      2. What is the audience personality? - (Self esteem, assetivenes, open/closed mindness, etc.) - The less persuadable, the more you must work
      3. Audience sense of identity/affiliation - address the groups collective concerns
      4. Preceived size/urgency of group.
  9. In Brief: The Psycholgy of Persuassive Appeals
    1. Why we say no
      1. Fear of unknown
      2. Fear of disruption
      3. Fear of failure
    2. Why we say yes
      1. Reciprocation
      2. Consistency
      3. Social Validations
      4. Liking
      5. Authority
      6. Scarcity
    3. Cross-Cultural Differences
      1. Asked for help American will give it if they feel they owe a favor
      2. Chinese influenced by status or authority
      3. Spanish based on friendship
      4. Germans followed rules
      5. These are generalized statement
  10. Support Your Claims Convincingly
    1. Offer Convincing Evidence
      1. Evidence has quality
      2. The sources are credible
      3. Evidence is concidered reasonable
      4. Common evidence includes factural statements, statistics, and expert testimony
    2. Appeal to Common Goals and Values
  11. Concider the Cultural Context
    1. Make sure that you take into concideration your audiences cultural makeup
    2. Above all else, allow people to save face
  12. Shape Your Arguments
  13. Guidelines For Making Your Case
  14. Checklist For Cross Cultural Documents
  15. Exercises
  16. Collaborative Projects
  17. Service-Learning Project

Tuesday, August 26, 2003

ENGL-2333RTechnical Writing I

Technical Communications - Ninth Edition, Lannon, John M.

Chapter 3 Delivering the Essential Information

Homework is to read Chapters 3 and 4, These notes are on Chapter 3
  1. Address the audiences Information needs
    1. Each audience is unique
    2. You need to learn to write to the audience that you intend to reach
  2. Identify Levels of Technology
    1. The Highly Technical Document
      1. At this level the user does not need things handed to him on a silver platter.
      2. He is knowledgeable about the subject and needs to know information with out explanations
    2. The Semitechnical Document
      1. Though not as knowledgeable as the Technical User, still has some knowledge of subject
      2. Provides the information with suggestions that person might not know (i.e. normal ranges for the findings compared to what was found.
    3. The Nontechnical Document
      1. Layperson's level
      2. Specifics are removed and general findings are put in its place
      3. Most everything is spelled out to the reader
    4. Primary and Secondary Audience
      1. Primary user is one who requested the document to use for decision making
      2. Secondary Audience - those that will carry out the project
      3. If short memo rewrite it at various levels to reach all
      4. Longer than 2 pages, address primary user and provide supplements for the secondary user
    5. Web Based Documents for Multiple Audiences
      1. Web sites allow for multiple audiences easily
      2. Different users can follow the links to the technical information that they need.
  3. Develop an Audience and Use Profile
    1. Audience Characteristics
      1. Identify all that you can about the person who will be reading this (Name, title, nationality, etc...)
      2. Identify others this document will affect
    2. Purpose of a Document
      1. Why do people want this document and what do they expect (raw data v. recommendations)
      2. What will happen to the document after it is used.
    3. Audience's Technical Background
      1. Co-workers will not need it spelled out
      2. Manager's and subordinates may need more explanation
      3. Management may need it broken down the most.
    4. Audience's Cultural Background
      1. If audience is a different culture make sure to take that into account
      2. Especially avoid slang terms that would not translate outside of the American Culture
    5. Audience's Knowledge of the Subject
      1. People expect useful information in a document
      2. They will have it if your document contains one of the following:
        1. shares something new and significant
        2. Reminds us about something we know but ignore
        3. offers fresh insight or perspective on something we already know
    6. Appropriate Details, Format, and Design
      1. Were you asked to be comprehensive or keep it short
      2. Do they want recommendations or conclusions
      3. What did they request
        1. report
        2. letter
        3. memo
        4. etc.
    7. Due Date and Timing
      1. What is your deadline if you have one
      2. Ask for people to review an early draft if possible.
  4. In Brief: Human Factors in Communication Failure
    1. Neglecting to Convey Vital Information
    2. Not being assertive enough about vital information
    3. Conveying the wrong information
    4. Underestimating Vital Information
    5. Overlooking Vital Mistakes
  5. Exercises
  6. Collaborative Project
  7. Service-Learning Project

Monday, August 25, 2003

Computer architecture


Computer Systems 2nd Edition, Warford, J. Stanley


Chapter 2 Notes


Read chapter 2 sections 1 - 3 - C++
  1. Variables
    1. The C++ Compiler
      1. Write the program (source) using a text editor
      2. Invoke the compiler to translate to machine language
      3. Execute the object program
      4. Some compilers will combine some of these steps.
      5. Source file is a text file
      6. Once compiled to an executable you will not need to recompile again unless you change it.
      7. C++ Compiler is software not hardware.
    2. Machine Independence
      1. At this level (ISA3) languages are machine independence
      2. In order for a program to run on both types of computers though you will need a compiler for each type/os that you want to run it on
    3. Program 2.1
      1. C++ variable have three attributes
        1. Name - identifier - provided by programmer
        2. Type - what type of values it can have
        3. Value - the content of the variable
      2. Sample program for review

        #include <iostream.h>
        const int bonus = 5;
        int exam1;
        int exam2;
        int score;
        main ( )
        {
        cin >> exam1 >> exam2;
        score = (exam1 + exam2) /2 + bonus;
        cout << "score = " << score;
        }
        INPUT
        86 72
        OUTPUT
        score = 84

      3. the #include <iostream.h> is a directive that allows the programmer to use >> and << to send information in and out of the computer.
      4. Variables in this program are of the type int meaning INTEGER
      5. The names are exam1, exam2, and bonus, they get their value form the input statement
      6. there is also a value called bonus which has a constant value (cannot be changed) which has a value of 5
      7. These values are set outside the main program, so they are global, but they could be local (inside the main function)
      8. First line that can be executed is cin >> exam1 >> exam2;
        which tells the program to read in from the input device two variables.
      9. Next is score << (exam1 + exam2) / 2 + bonus;
        this takes the values, adds them together, averages them and then adds a bonus and places it in the variable score
      10. This uses the = symbol which is called the assignment operator
      11. cout << "score = " << score; uses the standard output (monitor) to output the statements to the screen
    4. Program 2.2

      1. #include <iostream.h>
        char ch;
        main ( )
        {
        cin >> ch;
        cout << "Original Charachter: " << ch << endl;
        ch++;
        cout << "Following charachter: " << ch << endl;
        }

        INPUT
        d
        OUTPUT
        Original charachter: d
        Following Charachter: e
      2. char ch; creates a variable of character
      3. cout << "Original Charachter: " << ch << endl; makes that the output
      4. ch++; just adds 1 to the character value (same as character = character + 1)
      5. Last line outputs the next character
  2. Flow of Control
    1. Program 2.3
      1. Programs use statements to control the flow of the program, if and switch for selection and while, do and for are used for repetition
      2. The if statement checks to see if a statement comparing two values is true. Comparators are:
      3. == - Equal to
      4. < - Less than
      5. <= - less than or equa to
      6. > - Greater than
      7. >= - Greater than or equal to
      8. != - Not Equal to
      9. We can also combine the comparators with boolean operators
        1. && - AND
        2. || - OR
        3. ! - NOT
      10. If an if statement only has one statement after it, then you do not need { }, if it does, then you do need the { }
    2. Program 2.4 -(Switch Statement)
      1. In stead of having to use several if statements you can use a switch statement
      2. The switch is more efficient than the if statement
    3. Program 2.5 - (While loop)
      1. The while will allow a loop(all the material inside the { }) to repeat until the boolean condtions are met.
      2. Flow loops back to the top of the loop till condition is met.
    4. Program 2.6 - do
      1. do appears to not have any condition but it is at the exit of the loop
      2. The exit check is a while and checks for the condition to be met.
      3. It forces the loop to be done once
    5. Program 2.7 (for loop)
      1. Allows for a controlled count through things
      2. Has three parts to it
        1. initialize (x=0;
        2. test x < 4;
        3. increment x++)
  3. Functions
    1. Two types of functions in C++ - ones that return a value and ones that do not.
    2. Ones that do not in some languages are called procedures
    3. When the program is run and we have to go to a function information is placed on the memory stack (push) and when it returns it takes it off the memory stack(pop)
    4. This is refereed to as LIFO - Last In First Out
    5. Program 2.8
    6. Program 2.9
    7. Program 2.10
      1. Some functions will pass values with the function call
      2. In C++ this is done within the ( ) that are named after the function