Table of Contents

Derek Girardi Spring 2012 Opus

Potato

Introduction

Hi i'm Derek. I am a big enthusiast in music, I play drums and several other instruments. Not only do i like playing music i enjoy listening to it as well. I'm also big on video games. I mainly play on xbox but i have recently decided to finally start building my own desktop so soon i'll be a PC gamer as well. Well its obvious i am interested in computers and programming because that is what i'm going for. This is my 4th semester of corning and i wish it was my last but i might be stuck here for one more semester. But after these semesters i plan to transfer to RIT or Binghamton. Hopefully i will get my masters in programming but i still have a long ways to go.

Part 1

Entries

Entry 1: January 27th, 2012

This week for computer organization we really just talked about what was going to happen. We explained how logic gates work and how we were to use them. We counted 0 to 64 in binary to show how we would count through with these gates. With the gates we are going to create a computer simulator, slowly creating flip-flops, registers and programs to run through it for us to see if it works. So with the logic gates, we first made up truth tables to show how they would operate. Then we began creating the codes for the in linux.

In HPC, i started looking at a script that is for the mac labs up in corning. The script is flawed and does not work. It is made to add, change and delete usernames for the students that use them. So for one of my projects in this class, im going to understand how this works and hope that i can fix it so they are able to use it.

Entry 2: February 3, 2012

This week of class we went more into the computer simulation. We talked a little on logic gates and the logic of using them. We have header files and programs that will run these gates. But soon we learned to combine them to create more gates and to start the creation of flip flops. Its a combination of logic gates that will create certain outputs that we could use for bigger parts of the computer. It would either give out a value or an undefined, and these two outputs could be used for our advantage when creating this computer simulation. In HPC, I am still looking over the script. Its a little more confusing then originally thought of so it might take longer then usual. I am beginning to have more of an idea of how this script works but not enough to actually start manipulating it in any way.

Entry 3: February 10, 2012

In this week of computer organization, we talked more on flip flops and latches. We talked a little on how they worked and how they will be implemented into registers, the place where most of our memory runs through and gets stored. I actually taught the class this week of how a register should work. I didnt have a complete concept of it but i knew enough to actually talk to the class about it. The register can output and input data many different ways, like serial to parallel or parallel to parallel. With these different ways, we can manipulate on how we want our data to be outputted. So we can store information how we want and output the information the way we want. So we talked about this and how it can be used in our simulation. In HPC i believe i know how this scripts work. Once you see it, its pretty segregated in its steps and you can see where it can be broken up into functions, i just need to know how to use functions in bash scrpting, i havent delved into that yet. I will perform a experiment on it i believe to get a better understanding of it. But all together, i got good headway on this script.

Entry 4: February 17, 2012

This week we talked a little more on the use of registers and flip flop logic. It was kind of confusing but i think it is understood now. But the main topic of the week was learning the turing theory. he was the father of computers, in a way. he had made a theory of a basic computer. Infinite tape ran while a head would move left, right, or place a value on the tape. It was a simple programing computer (in a way) that read input and wrote output onto tape. So we did an excercise with this to get thinking on different concepts of simple logic and programming since we will be dealing with a low level language when finishing this computer simulation. In HPC, i am having a hard time with this script. I wish i wasnt taking so long but when i feel like i am making head way, it somehow gets ruined and i have to start from sqaure one. I feel i should look this over some more and see what can be done for me to get a better grasp.

Keywords

asm Keywords

Storage

Definition

Areas in the computer like registers or buffers. or other simple things like USB's or RAM, they are places that store digital data for us to use.Data storage is a core function and fundamental component of computers. There is no one kind of storage you have anywhere from permanent to volatile.

Demonstration

This picture shows the hierarchy of storage. From primary to tertiary.

Data Bus

Definition

A data bus is a group of electrical wires used to send information (data) back and forth between two or more components. The width is one of the most important aspects. The width shows how many bits are made up of the bus. It can be from 8 up to 64 bits. When people refer to what size processor the computer they are using, they refer to the front side data bus that connects the processor to the main memory. There are others such as one that goes from processor to dedicated cache memory.

Demonstration

I am not sure how exactly to demonstrate this. But here is an example of what a computer uses “The Intel processor in the current line of Macs uses a 64-bit data bus to connect the processor to its memory.” Its just the wires so the computer can transfer its information to other components.

Address Bus

Definition

An address bus is a computer bus, a series of lines connecting two or more devices, that is used to specify a physical address. When a processor or a device needs to read or write to a memory location, it specifies that memory location on the address bus, the value to be read or written is sent on the data bus.

Demonstration

For example, a system with a 32-bit address bus can address 232 (4,294,967,296) memory locations. If each memory address holds one byte, the addressable memory space is 4 GB.

Machine Word

Definition

Machine word is a specific characteristic in a computer architecture. It represents each bit which are a fixed sized and are handled by the instruction set or the hardware of the processor. The bits represent the length, width and height of each word and this is important.

Demonstration

Some examples of what words are used for are integers, floating point numbers, addresses, registers, memory process transfer, instructions and unit of address resolution. A word in each of these areas of hardware or instruction are important because they help a long the data go through smoothly and easily.

Interrupts

Definition

An interrupt is an asynchronous signal indicating the need for attention or a synchronous event in software indicating the need for a change in execution. You have 2 different kinds as well a hardware interrupt and a software interrupt. A hardware interrupt cause the processor to stop and save its current state and begin execution of an interrupt handler. A software interrupt is usually found within an instruction set and it will have a context switch. Interrupts are a commonly used technique for computer multitasking, especially in real-time computing.

Demonstration

This code is a simple code that just shows when a car driving continues or gets interrupted. First, we start rolling forward. We have an integer used as a flag, that is either 0 when we have not hit an object, or 1 when we hit something. An interrupt occurs when we hit something, it will stop the robot to avoid any damage, and also set our flag. and so on so forth.

// Interrupt-Driver Bumper Example
// A bumper switch on the front of the robot should be tied to digital pin 2 and ground
 
#include <avr/interrupt.h>
 
volatile int bumper;          // have we hit something
 
void setup(){
    pinMode(2, INPUT);      // Make digital 2 an input
    digitalWrite(2, HIGH);  // Enable pull up resistor    
 
    // attach our interrupt pin to it's ISR
    attachInterrupt(0, bumperISR, FALLING);
 
    // we need to call this to enable interrupts
    interrupts();
 
    // start moving
    bumper = 0;
    DriveForward();
}
 
// The interrupt hardware calls this when we hit our left bumper
void bumperISR(){
    Stop();
    bumper = 1;
}
 
void loop(){
    // if bumper triggered
    if(bumper > 0){
       DriveBackward();    // set motors to reverse
       delay(1000);           // back up for 1 second
       TurnRight();            // turn right (away from obstacle)
       bumper = 0;
       DriveForward();      // drive off again...
    }
    // we could do lots of other stuff here.
}

I/O

Definition

Input and output is what the core of the computer is. It is how data is sent from one place to another. You have some form of hardware that can process information such as a computer and you have a thing to input or give data such as a human or some sort of outside force. Input are data that are received by the system and output is data sent from it. Input devices would be like a keyboard or a mouse. and output would be the screen of your monitor.

Demonstration

This code below is a simple direct address code for the computer. It just says where to read from and where to write from. Or in current terms, input and output.

MOV register, [address] ; to read
MOV [address], register ; to write
 
; similarly
IN  register, [address] ; to read as input
OUT [address], register ; to write as output

Stack Operations

Definition

The two operations that form the majority of the functionality of the stack are the operation of adding to the stack, and the operation of removing items from the stack. First off, a stack is a device that operates in a last in, first out basis. Its like plates in a spring loader of a restaurant. They can only be added to the top, removed from the top and no other plates can be accessed. They move up one at a time while the lower one is moved up as the top is removed. In computer terms we have a an area of data that can be added to, remove some data, check to see if there is any data or check to see if it is full.

Demonstration

This is a simple code to show stack being filled and or emptied depending on what you want to be done or what the situation is.

int main() {
  stack<int> S;
  S.push(8);
  S.push(7);
  S.push(4);
  assert(S.size() == 3);
 
  assert(S.top() == 4);
  S.pop();
 
  assert(S.top() == 7);
  S.pop();
 
  assert(S.top() == 8);
  S.pop();
 
  assert(S.empty());
}

Control and Data Flow

Definition

There are some distinct differences between data flow and control flow. Data flow can do streaming, unlink control flow which can run multiple components that can process data at the same time, smallest unit in data flow is an component, just data within the control flow but can affect the outcome of your control flow, data flow is made up of source(s), transformations, and destinations. Control flow uses process, it is the key for control flow, the first task needs to be completed before it can continue. Smallest unit is a task, control flow does not move data and package control flow is made up of containers and tasks connected with precedence constraints to control package flow

Demonstration

The left side shows a control flow and the right represents a data flow:

asm Objective

asm Objective

familiarity with the organization of a computer system

Definition

This objective entails that i must explain how a computer is setup, such as from the very bottom of how it works all the up to what appears to the user.

Method

To show i know how a computer is organized, i will state and explain some of the basic things that are found within the computer system.

Measurement

To begin, the computer's most important task is storing and managing information within the computer. Simply put, you have unit input then processor then memory then finally unit output. That is a basic setup of what is going on. Obviously there is much more to what is going on within. You have the hardware that is needed such as the CPU, the peripherals, main and secondary memory. The CPU is the major component of a computer; the electronic brain of the machine. It consists of the electronic circuits needed to perform operations on the data. Main Memory is where programs that are currently being executed as well as their data are stored. The CPU fetches program instructions in sequence, together with the required data, from Main Memory and then performs the operation specified by the instruction. Main memory is like Random Access Memory or RAM, and this is tons of data can and will be stored. The secondary memory storage creates a long stable place for the memory to be at. The most commonly known place known as secondary storage would be known as the disk storage. Then you have your peripherals which is used for the users. It makes it easy for us to input some form of data and see and outputted data. But the hardware cant be used unless it has instructions from a program. Thats when the OS comes in or the Operating system. It is a set of instructions for the hardware to run the computer effectively. There is more programming that deals with this but the OS is the biggest part of running the computer.

Analysis

Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.

  • How did you do? I think i explained what i know pretty well.
  • Is there room for improvement? Yes there is so much more that i could learn
  • Could the measurement process be enhanced to be more effective? Yes it could
  • Do you think this enhancement would be efficient to employ? I think it would be
  • Could the course objective be altered to be more applicable? How would you alter it? No it is fine the way it is.

hpc2 Keywords

Whiptail

Definition

whiptail is a program that will let you present a variety of questions or display messages using dialog boxes from a shell script. Currently, these types of dialog boxes are implemented: yes/no box, menu box, input box, message box, text box, info box, checklist box, radiolist box gauge box, and password box.

Demonstration

Demonstration of the chosen keyword.

If you wish to aid your definition with a code sample, you can do so by using a wiki code block, an example follows:

#! /bin/bash
if (whiptail --title "PPP Configuration" --backtitle "Welcome to my example" --yesno "
Do you want to configure your PPP connection?"  10 40 )
then 
        echo -e "\nWell, you better get busy!\n"
elif    (whiptail --title "PPP Configuration" --backtitle "Welcome to
my example" --yesno "           Are you sure?" 7 40)
        then
                echo -e "\nGood, because I can't do that yet!\n"
        else
                echo -e "\nToo bad, I can't do that yet\n"
fi

The code you see above should produce a nice display of yes and no choices.

Troubleshooting

Definition

This is where you do step by step processes to solve an issue. If you have some sort of error with in a program or with the computer itself, you go through common fixes that will hopefully come to a solution. You are basically ruling out any simple error that can be fixed and determine if there is a major issue that you can not just simply solve.

Demonstration

There is not much to demonstrate other then stating some simple troubleshooting methods like doing a hard reset of the computer, defragmentation, disk cleanup, re install OS, and there are many other methods.

Stand Alone Testing Mode

Definition

This is obviously a mode to test out a program in and/or a script. When it says standalone it is stating that no other programs/hardware are needed to test this program. It may only need the OS and nothing else to aid in its run time. It is nothing but verifying the input given from front end is correctly stored in data base are not.

Demonstration

I honestly have no idea how to properly stand alone test other than to just run the program that is currently being worked on in one area to make sure everything runs correctly.

User Deletion Logic

Definition

Reference to a record that remains in the database, but is not included in comparisons or retrieved in searches. So a user is able to delete some form of data but it was always be there stashed away in the database, it most likely can be brought back easily.

Demonstration

There is really no demonstration that can be done other then it gets deleted, however you delete it. It can be found though going through your sub version repository.

Source (command)

Definition

The source command can be used to load any functions file into the current shell script or a command prompt. It can read and execute commands read from a file and will return. The pathnames in $PATH are used to find the directory containing a file. If any arguments are supplied, they become the positional parameters when a file is executed.

Demonstration

Demonstration of the chosen keyword.

If you wish to aid your definition with a code sample, you can do so by using a wiki code block, an example follows:

#!/bin/bash
# load myfunctions.sh function file
source /home/vivek/lsst2/myfunctions.sh
 
# local variable
quote="He WHO Sees me in all things, and ALL things in me, is never far from me, and I am never far from him."
 
# invoke is_root()
is_root && echo "You are a superuser." || echo "You are not a superuser."
 
# call to_lower() with ${quote}
to_lower ${quote}

Code Reuse

Definition

The practice of using the same segment of code in multiple applications. This can be accomplished in many different ways, such as distributing source code, using an operating system's compiled libraries, etc.

Demonstration

No real demonstration other then to state like a windows OS or linux. If you look at earlier versions it is the same just update with new programs and features.

Production Enviroment

Definition

This term is generally used in reference to a “test environment”. The production environment is the set of resources and controls directing them to provide a “live” service - such as a web site, a transaction processing system or a running operating system which users can log into and get work done.

Demonstration

There is no real demonstration to show, its just a place for the user to get work done without any issues.

Getent

Definition

a unix command that helps a user get entries in a number of important text files called databases. This includes the passwd and group databases which store user information – hence getent is a common way to look up user details on Unix. Since getent uses the same name service as the system, getent will show all information, including that gained from network information sources such as LDAP.

Demonstration
lab46:~$ getent group
dmckinn2:*:5751:dmckinn2
dsherbur:*:5752:dsherbur,wedge
jbamper:*:5753:jbamper,wedge
jcavalu3:*:5754:jcavalu3
jpettie:*:5755:jpettie,wedge
mfaucet2:*:5756:mfaucet2,wedge
mpage9:*:5757:mpage9
rhensen:*:5758:rhensen,wedge
rmatsch:*:5759:rmatsch,wedge
rsantia4:*:5760:rsantia4,wedge
skinney1:*:5761:skinney1,wedge
smalik2:*:5762:smalik2
tedmist1:*:5763:tedmist1,wedge
thakes3:*:5764:thakes3,wedge
zmccann:*:5765:zmccann,wedge
eryan3:*:5766:eryan3,wedge
jferrito:*:5767:jferrito
ta018998:*:5768:ta018998
mcantin3:*:5769:mcantin3
ahazen:*:5770:ahazen
csit2310:*:5771:csit2310
...

There was a huge list of groups but this is the output that would show.

hpc2 Objective

hpc2 Objective

demonstrate scripting skills to automate tasks

Definition

I believe this is saying just being able to write a working program in shell that can do some sort of task.

Method

I'll just show an example of a shell script and describe it for you.

Measurement
  1 #!/bin/bash
  2 #
  3 # This script will output information regarding user login and information
  4 #
  5 echo "Hello this script will show the last utility in action"
  6 sleep 5;
  7 echo "This is going to show successful logins, most bad logins, who contacte    d lab46 the most and who contacted lab46 the least amount in the month of de    cember"
  8 sleep 5;
  9 echo "Successful logins: `last -f /var/log/wtmp | grep "Dec" | wc -l`"
 10 sleep 5;
 11 echo "All bad logins: `lastb -f /var/log/wtmp | grep "Dec" | wc -l`"
 12 sleep 5;
 13
 14 exit 0

In this code it will be taking the task of last and implementing so i actually have power to manipulate text that appears when i run the ps command.

Analysis

Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.

  • How did you do? I could have done better
  • Is there room for improvement? Always
  • Could the measurement process be enhanced to be more effective? Yes it can
  • Do you think this enhancement would be efficient to employ? Yes i would
  • Could the course objective be altered to be more applicable? How would you alter it? No its fine the way it is, just need to expand more on it. Its a little unclear.

Experiments

Experiment 1

Question

How Does Whiptail work in the linux enviroment?

Resources

Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.

Hypothesis

Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.

State your rationale.

Experiment

How are you going to test your hypothesis? What is the structure of your experiment?

Data

Perform your experiment, and collect/document the results here.

Analysis

Based on the data collected:

  • Was your hypothesis correct?
  • Was your hypothesis not applicable?
  • Is there more going on than you originally thought? (shortcomings in hypothesis)
  • What shortcomings might there be in your experiment?
  • What shortcomings might there be in your data?

Conclusions

What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.

Experiment 2

Question

Is there a way to read and connect data from different files of scripts into one script?

Resources

Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.

Hypothesis

Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.

State your rationale.

Experiment

How are you going to test your hypothesis? What is the structure of your experiment?

Data

Perform your experiment, and collect/document the results here.

Analysis

Based on the data collected:

  • Was your hypothesis correct?
  • Was your hypothesis not applicable?
  • Is there more going on than you originally thought? (shortcomings in hypothesis)
  • What shortcomings might there be in your experiment?
  • What shortcomings might there be in your data?

Conclusions

What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.

Experiment 3

Question

What is the question you'd like to pose for experimentation? State it here.

Resources

Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.

Hypothesis

Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.

State your rationale.

Experiment

How are you going to test your hypothesis? What is the structure of your experiment?

Data

Perform your experiment, and collect/document the results here.

Analysis

Based on the data collected:

  • Was your hypothesis correct?
  • Was your hypothesis not applicable?
  • Is there more going on than you originally thought? (shortcomings in hypothesis)
  • What shortcomings might there be in your experiment?
  • What shortcomings might there be in your data?

Conclusions

What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.

Part 2

Entries

Entry 5: March 2nd, 2012

This time around we are still talking about the logic behind registers and how we will use them in our code. however that is the issue: what kind of register will we use? I prefer to use the 4 bit but i believe we are going with the 8 bit so it can store one full numerical value. Im just more comfortable using 4 bit but thats ok. We are also getting all our code together and i feel i havent helped that much. I have asked if i could help with coding in anyway but it seems they already finished the code we need or just dont need me, so i just go in the back and try to learn about the processor i was assigned.

Entry 6: March 9th, 2012

This week of class we continued more on registers and flip flops and also more about our processors. My processor was a AMD processor and it was actually quite difficult to find any information on it. But other then trying to find info, we just talked more about the implementation of registers will work for our simulation. And we have come to the conclusion that all we need for the emulation is a few logic operations (AND, OR, NOT) and a few others like flag or stop. In HPC i have started a project of just simply booting up linux onto my computer via USB. It can be easily done, just havent been able to write it up yet (or im too lazy lol)

Entry 7: March 16th, 2012

This we week we havent done much but discuss on how we would run the instruction set. Basically we have a 4 bit byte that will hold an instruction each. The first 2 bits will hold a memory for inout and the last 2 will be for the output. With this, it will be able to use an instruction such as AND. This is all that really remember us doing this week, we kind of stopped doing any actual work. In HPC I feel like this class is pointless at times for the lack of anything it has, however i have been trying to work on that script but i dont think i know shell scripting well enough to even touch this.

Entry 8: March 23rd, 2012

ASM has become a more independent study more then anything. We now just come into class, talk about a concept for a little then we just work on any project or opus work that we have. I dont mind having time to work on anything, its just i would like to actually work on something worthwhile. I feel like i am not learning what i should be, but thats just me. But with recent hours at work, i am having a horrible time trying to keep up with any work, i work ungodly hours and i am exhausted. I wil get work done, just might take some time.

Keywords

asm Keywords

Fetch-execute cycle

Definition

The sequence of actions that a central processing unit performs to execute each machine code instruction in a program. It goes through all the components of the computer such as the CPU, then the processor, instruction register, etc.

Demonstration

This picture accurately shows the route of this cycle.

Binary and Hexadecimal Number Representation

Definition

Binary representation is taking a decimal number, a number such as 6 and changing it into a binary number which would be 110. Now in binary it only uses 1 and 0, a computer can only read these values so thats why it is necessary for this. But if we were to get more intricate, we would get into hexadecimal. Hexadecimal is 0 to the letter f. In a computer we start getting bigger with our numbers so it compacts the binary down so we dont have huge lines of code.

Demonstration

This is a table of showing how to do simple conversions of smaller decimal numbers. it shows how binary and hex represents its numbers.

Boolean Arithmetic Operations (Addition, Subtraction, Multiplication, Division)

Definition

Boolean Arithmetic is the logic behind our logic gates such as AND, NOR, OR, NOT and so on. The operations behind it is what makes the magic happen. Addition and multiplication is all you really need because subtraction and division are just variances of the others. But like with addition you have 1 plus 1 equals 1 or 1 plus 0 equals 1.

Demonstration

These are the logic gates that would implement these type of operations.

Registers (General Purpose/Integer, Floating Pointer, Accumulator, Data)

Definition

General purpose registers can store both data and addresses, i.e., they are combined Data/Address registers. They can be known as GPR's. Floating point registers store floating points in many computers today. Accumulator which intermediate arithmetic and logic results are stored. Without a register like an accumulator, it would be necessary to write the result of each calculation (addition, multiplication, shift, etc.) to main memory. Data register can hold numeric values such as int, floating and even char.

Processor & Memory Organization

Definition

The number of registers in a processor unit may vary from just one processor register to as many as 64 registers or more. One part you will have is the accumulator AC or 'A' register. It is the main operand register of the ALU. Then you will have the data register (DR) acts as a buffer between the CPU and main memory. It is used as an input operand register with the accumulator. Then the instruction register (IR) holds the opcode of the current instruction. Next is the address register (AR) holds the address of the memory in which the operand resides. Lastly, the program counter (PC) holds the address of the next instruction to be fetched for execution. There can always be additional registers within the processor but these are the main ones you will find. There are actually more then one way to organize memory but it will general be connected to cache or RAM to store most of the data that is ran through the processor.

von Neumann vs. Harvard architecture

Definition

The most obvious characteristic of the Harvard Architecture is that it separates signals and storage for code and data memory. Typically, code (or program) memory is read-only and data memory is read-write. Therefore, it is impossible for program contents to be modified by the program itself. In the Von neumann architecture all signals and storage was shared, so it was easily changeable in a read-write memory.

Demonstration

Here is a picture example.

Logic Operations (AND, OR, XOR)

Definition

These logic operations are the simple operations of the logic gates. AND is where bot statement 1 AND statement 2 must be true for it to pass. OR is saying that statement 1 OR statement 2 need to be true in order for it to pass. XOR is saying that one of the 2 statements must be true and the other must be false, if anything else its not true.

Demonstration

AND

  1 // nick sano
  2 #include "and.h"
  3
  4 bool AND::getX()
  5 {
  6     bool tmp = false;
  7
  8     if((A == true) && (B == true))
  9     {
 10         tmp = true;
 11     }
 12
 13      return tmp;
 14 }

OR

  1 #include "or.h"
  2
  3 bool OR :: getX()
  4 {
  5     bool tmp = false;
  6     if((A == true) || (B == true))
  7     {
  8         tmp = true;
  9     }
 10     return(tmp);
 11 }

XOR

  1 
  2 #include "xor.h"
  3
  4 XOR::XOR()
  5 {
  6     myorgate = new OR();
  7     mynotgate = new NOT();
  8     myandgate = new AND();
  9 }
 10
 11 bool XOR::getX()
 12 {
 13     bool tmp = true;
 14
 15     myandgate -> setA(A);
 16     mynotgate -> setA(B);
 17     tmp = mynotgate -> getX();
 18     myandgate -> setB(tmp);
 19     myorgate -> setA(myandgate -> getX());
 20
 21     myandgate -> setB(B);
 22     mynotgate -> setA(A);
 23     tmp = mynotgate -> getX();
 24     myandgate -> setA(tmp);
 25     myorgate -> setB(myandgate -> getX());
 26     tmp = myorgate -> getX();
 27
 28     return(tmp);
 29 }

Negated Logic Operations (NOT, NAND, NOR, XNOR)

Definition

These are the negative operators of the logic table. NOT just takes what you currently have and negates it. NAND AND NOR take what they normally do (AND=1 and 2 both must be true, OR= 1 or 2 can be true) and just takes the opposite of what they do. So if it was true when AND was run, now that result will be untrue. and XNOR will run to see if both statements are true or both are false.

Demonstration

NOT

 1 #include "not.h"
  2
  3 bool NOT::getX()
  4 {
  5     bool tmp;
  6     tmp = ! A;
  7     return(tmp);
  8 }

NAND

 1 #include "nand.h"
  2
  3 NAND::NAND()
  4 {
  5     myandgate = new AND();
  6     mynotgate = new NOT();
  7 }
  8
  9 bool NAND::getX()
 10 {
 11     bool tmp = true;
 12
 13     myandgate -> setA(A);
 14     myandgate -> setB(B);
 15
 16     tmp = myandgate -> getX();
 17
 18     mynotgate -> setA(tmp);
 19
 20     tmp = mynotgate -> getX();
 21
 22     return(tmp);
 23 }
 24

NOR

  1 #include "nor.h"
  2
  3 NOR::NOR()
  4 {
  5     myorgate = new OR();
  6     mynotgate = new NOT();
  7 }
  8
  9 bool NOR::getX()
 10 {
 11     bool tmp = false;
 12
 13     myorgate -> setA(A);
 14     myorgate -> setB(B);
 15
 16     tmp = myorgate -> getX();
 17
 18     mynotgate -> setA(tmp);
 19
 20     tmp = mynotgate -> getX();
 21     return(tmp);
 22 }

XNOR

  1 #include "xnor.h"
  2
  3 XNOR::XNOR()
  4 {
  5     myxorgate = new XOR();
  6     mynotgate = new NOT();
  7 }
  8
  9 bool XNOR::getX()
 10 {
 11     bool tmp;
 12
 13     myxorgate -> setA(A);
 14     myxorgate -> setB(B);
 15     tmp = myxorgate -> getX();
 16     mynotgate -> setA(tmp);
 17     tmp = mynotgate -> getX();
 18
 19     return(tmp);
 20 }

asm Objective

asm Objective

An understanding of the concepts of assembly

Definition

Do you know what assembly is? How does it work? etc.

Method

I will discuss this and just state what i know of this language.

Measurement

Assembly language is the lowest level language that we have. It is used for microprocessors, processors, single instruction mechanical computers and a computer. Assembly Language uses 'mnemonic codes' or 'symbols'. Instead of remembering the exact memory locations where data and instructions are stored, symbolic memory addresses are used for data. In the language there is assemble that converts the assembly into object code. There is a single assembler and a multi one. both do similar things, just obviously one runs more then one.

MOV AL, 1h        ; Load AL with immediate value 1
MOV CL, 2h        ; Load CL with immediate value 2
MOV DL, 3h        ; Load DL with immediate value 3

this is an example of what assembly looks like. You have to move data line by line to get it where you want it. There are no shortcuts. Assembly is the basis of pretty much everything and without it, we would not have gotten as far as we did, today.

Analysis

Reflect upon your results of the measurement to ascertain your achievement of the particular course objective. I think i did pretty well. We didnt touch assembly much but i think i have gained a little knowledge towards it and i believe i have conveyed the concept quite nicely.

hpc2 Keywords

Documentation

Definition

Documentation is very necessary when creating a program or even doing anything within the field of computing. If you type out a 3,000 line code and dont document, theres a chance of the person who wrote it forgetting everything that is going in this code. If a computer is being built or say, you are trying to fix a computer. You want to document your trial and errors so you dont make the same mistakes twice. Documentation just tells what you did in the past so if you do forget, its right there to remind you.

Demonstration

This is a sample of documentation inside code

// This right here is what documentation would look like
//inside your code

Backups

Definition

A back up is where you back up your entire system. Its a simple as that. You want to do this on a regular basis because computers are not fault proof. And if something happened and you were to lose something critical like, your OS or something, you would be really glad to have created that back up. Then you just pop it in, load it all up and boom whatever you backed up last is right in front of you.

Demonstration

A fun comic related to this, sort of. :)

Log analysis

Definition

Log analysis is where a software, it tech guy will go through records created through data logging and try to make sense out of them. Sometimes they just are not easily read by regular people, so we must debug the record to make it readable to others. Some common reasons we want to do this is for system troubleshooting, security incident response, and other stuff like that.

Demonstration

No demonstration :P

Remote Administration

Definition

This is when you control your computer from a remote location. Pretty much, a person can be at work and may want to use his computer. So he finds another computer with internet access and and will bring up a client that allows a person to see the GUI. Then as long as they know the IP of their computer, they can type that in and it will give them full access to their computer in a different place.

On-site Administration

Definition

On-site administration is basically the user at the current computer having full access to the computer. So it would be your own personal home computer and you will be able to mess with all the root files or you just can control what others can access. You are the ruler of your kingdom when your the sudo user.

Dual Booting

Definition

The act of installing multiple operating systems on a computer, and being able to choose which one to boot when starting the computer. So lets say for example the current computer i am usuing now. I had windows 7 on and still do, but with recent projects i went and installed a new OS called Ubuntu. Now with 2 OS on one computer, space needed to be partition and create a menu so you can choose between the 2 but other then that, that is what dual booting is.

Debian

Definition

Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. It is closely similar to Linux, Ubuntu and the other free software you will find under this category. Debian is really good with keeping with the UNIX interface and having free software only, no pay. Debian can be installed on pretty much all computers, so go download it and try it out for yourself :D.

Security - Internal

Definition

Internal security is very important on your computer. Your computer is subject to viruses, worms, malware or anything that is set to get your information. To practice good security, you want to get some anti virus software, make sure you only use trusted sites, nothing that seems “off”. You want to keep people from seeing information they shouldnt or you dont want them to see. And its always a good idea to put some restrictions on your folders if they have personal/important information within them.

hpc2 Objective

hpc2 Objective

Demonstrate knowledge of Linux & Open Source

Definition

Talk about the use linux or other open source programs.

Method

I will discuss some concepts and provide some examples.

Measurement

Linux is a free and open source to the public. Anyone can download it and can be easily partitioned right onto your computer. However using it can be difficult. In order to use linux you have to have some knowledge of it. You should know simple commands like cd or ls and be able to navigate easily through the file system tree. It has a command line and a GUI so we can what is happening. Others sources like debian, ubunutu act similar to linux as they are branches off of linux and also open source. Open source are all free and may be difficult to read because its not as pretty as windows or apple. However it provides great software that works just as great as windows or apple. As well as those designed for general purpose use on desktops and servers, distributions may be specialized for different purposes including: computer architecture support, embedded systems, stability, security, localization to a specific region or language, targeting of specific user groups, support for real-time applications, or commitment to a given desktop environment. Furthermore, some distributions deliberately include only free software.

lab46:~$ ls
Cexetension.tgz   RandomStuff  contact.info.save  lab1a.text     pss
Desktop           Templates    courses            lastscript.sh  public_html
Documents         Videos       cpuEOCE            motd           puzzlebox
Downloads         a.out        data               networkcmds    puzzlepaper
FilelistforOPTAR  badname      dl                 newdirectory   scripts
Maildir           badname.tgz  hiopus             out            src
Music             bin          in                 outfile        tmp
Nyan Cat.wav      candy        invaderzim         output         unixprog
Public            classlog12   irc                pgm2ps
lab46:~$ vi lastscript.sh
lab46:~$ cd
lab46:~$ ls
Cexetension.tgz   RandomStuff  contact.info.save  lab1a.text     pss
Desktop           Templates    courses            lastscript.sh  public_html
Documents         Videos       cpuEOCE            motd           puzzlebox
Downloads         a.out        data               networkcmds    puzzlepaper
FilelistforOPTAR  badname      dl                 newdirectory   scripts
Maildir           badname.tgz  hiopus             out            src
Music             bin          in                 outfile        tmp
Nyan Cat.wav      candy        invaderzim         output         unixprog
Public            classlog12   irc                pgm2ps
lab46:~$ cd src
lab46:~/src$ ls
Makefile  cprog  cpu  discrete  hpc  submit  unix
lab46:~/src$ cd cpu
lab46:~/src/cpu$ ls
BF.txt       Makefile  Registers  example   gates    lib   turing.pdf
LOGIC.TABLE  README    circuits   flipflop  include  menu
lab46:~/src/cpu$ cd gates

Being able to navigate lets you search through the depths of what is linux and it will give you great knowledge of the world.

Analysis

Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.

I feel i could have done better. I mean i talked about linux and what its about but now i question how much i actually know and if i should learn more. either way i think i got it down.

Experiments

Experiment 4

Question

What is the question you'd like to pose for experimentation? State it here.

Resources

Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.

Hypothesis

Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.

State your rationale.

Experiment

How are you going to test your hypothesis? What is the structure of your experiment?

Data

Perform your experiment, and collect/document the results here.

Analysis

Based on the data collected:

  • Was your hypothesis correct?
  • Was your hypothesis not applicable?
  • Is there more going on than you originally thought? (shortcomings in hypothesis)
  • What shortcomings might there be in your experiment?
  • What shortcomings might there be in your data?

Conclusions

What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.

Experiment 5

Question

What is the question you'd like to pose for experimentation? State it here.

Resources

Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.

Hypothesis

Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.

State your rationale.

Experiment

How are you going to test your hypothesis? What is the structure of your experiment?

Data

Perform your experiment, and collect/document the results here.

Analysis

Based on the data collected:

  • Was your hypothesis correct?
  • Was your hypothesis not applicable?
  • Is there more going on than you originally thought? (shortcomings in hypothesis)
  • What shortcomings might there be in your experiment?
  • What shortcomings might there be in your data?

Conclusions

What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.

Retest 2

Perform the following steps:

State Experiment

Whose existing experiment are you going to retest? Provide the URL, note the author, and restate their question.

Resources

Evaluate their resources and commentary. Answer the following questions:

  • Do you feel the given resources are adequate in providing sufficient background information?
  • Are there additional resources you've found that you can add to the resources list?
  • Does the original experimenter appear to have obtained a necessary fundamental understanding of the concepts leading up to their stated experiment?
  • If you find a deviation in opinion, state why you think this might exist.

Hypothesis

State their experiment's hypothesis. Answer the following questions:

  • Do you feel their hypothesis is adequate in capturing the essence of what they're trying to discover?
  • What improvements could you make to their hypothesis, if any?

Experiment

Follow the steps given to recreate the original experiment. Answer the following questions:

  • Are the instructions correct in successfully achieving the results?
  • Is there room for improvement in the experiment instructions/description? What suggestions would you make?
  • Would you make any alterations to the structure of the experiment to yield better results? What, and why?

Data

Publish the data you have gained from your performing of the experiment here.

Analysis

Answer the following:

  • Does the data seem in-line with the published data from the original author?
  • Can you explain any deviations?
  • How about any sources of error?
  • Is the stated hypothesis adequate?

Conclusions

Answer the following:

  • What conclusions can you make based on performing the experiment?
  • Do you feel the experiment was adequate in obtaining a further understanding of a concept?
  • Does the original author appear to have gotten some value out of performing the experiment?
  • Any suggestions or observations that could improve this particular process (in general, or specifically you, or specifically for the original author).

Part 3

Entries

Entry 9: April 6, 2012

We are now starting to get more into the hardware part of the computer. However, this is all suppose to be abstract thinking, we are trying to think how a computer is built so we can put all of this code together to run in the simulator. Other then talking about processors and registers, this class is once just a work on stuff kind of day. So i tried to help with some of the code in class but we didnt get to far because we made paper airplanes. In HPC i cant seem to make the shell script use the source command properly. I dont know what im doing wrong and i feel like it should work. If i cant get this soon, im just going to stop and do some simple program for a project.

Entry 10: April 13, 2012

This week is spring break so yea obviously no classes. I will not lie, no work is being done on any of my classes because mainly its break and the fact im covering shifts for people because they took off of work. However i have tried messing with a shell script for awhile and i think i have an idea on how to fix some of my logic issues but i do not know if it will work because of reasons. But yea other then that, woo spring break.

Entry 11: April 20, 2012

Its a pretty easy week of class. Still doing independent study type deal. Everyone is working on their own thing. I should really be working on this opus because i procrastinated horribly on it and i feel if i dont get work done on it i will end up paying for it. I dont know i guess we will find out when the time comes huh? Either way, i have pretty much gave up on the script because i suck. I need to mess with some easier shell code before i tackle a monster like that, i just need practice is all.

Entry 12: April 27, 2012

EOCE has been announced for the classes, woo! I know what i will be working on. I know i need to get this opus done but its hard to focus on getting work done in this class without any sort of structure. Like i want to learn, i want to do work and stuff but with the lack of structure and the whole do it yourself attitude does not work for me. I will put everything off till the last minute and i know i will for a fact. But the EOCE's dont look too bad, it shouldnt take me long to do but we will see once the time comes wont we :)

asm Keywords

Registers (Stack Pointer, Program Counter, Flag/Status)
Definition

Back to the registers we have different special registers that can be used. Data stored in the stack frame may sometimes be accessed directly via the stack pointer register (which indicates the current top of the stack). However, as the stack pointer is variable during the activation of the routine, memory locations within the stack frame are more typically accessed via a separate register which makes relative addressing simpler and also enables dynamic allocation mechanisms.

The next thing is a program counter. It is also called a instruction pointer and it basically points to where the program is currently at. A flag.status can be used to stop an instruction or the program or something. The flag gives the option of other paths within the data.

Registers (Index/Pointer)
Definition

An index register in a computer's CPU is a processor register used for modifying operand addresses during the run of a program, typically for doing vector/array operations. This register is there to keep the process flowing by telling where to go next and keeping all the programs running smoothly.

Clear_accumulator
   Load_index 400,index2  //load 4*array size into index register 2 (index2)
loop_start : Add_word_to_accumulator array_start,index2   //Add to AC the word at the address (array_start + index2)
   Branch_and_decrement_if_index_not_zero loop_start,4,index2   //loop decrementing by 4 until index resister is zero
Instruction Sets (CISC, RISC)
Definition

RISC: Reduced instruction set computing is a CPU design strategy based on the insight that simplified instructions can provide higher performance if this simplicity enables much faster execution of each instruction.

CISC: A complex instruction set computer is a computer where single instructions can execute several low-level operations (such as a load from memory, an arithmetic operation, and a memory store) and/or are capable of multi-step operations or addressing modes within single instructions.

Demonstration

Data Instructions (Data Movement, Address Movement, Data Conversion, Bit Manipulation)
Definition

Data Movement: This is an instruction that moves data from one location to another location. It could be in memory or register.

Address Movement: This is an instruction that moves a given address from one location to another. Same as before the locations here can also be a memory location or registers.

Data Conversion: This is an instruction that changes the data type of the data being dealt with.

Bit Manipulation: This is an instruction that changes individual bits. Setting a bit sets the value to 1and opposite where clearing a bit sets it to 0.

Subroutines (Calling, Return Address)
Definition

A subroutine is a smaller piece of code inside a bigger code, usually remaining independent to itself. It performs a specific task that is been given and the main program needs it, it will call it to use its functionality. Its essentially a function that performs some task outside the main, does what it needs, returns a certain variable with a particular datatype that is needed and go to where it has been called to the main can use it effectively.

here is what a subroutine looks like:

char function3(int number)
 {
     char selection[] = {'S','M','T','W','T','F','S'};
     return selection[number];
 }
Data Representation (Big Endian, Little Endian, Size, Integer, Floating Point, ASCII)
Definition

Data is represented in a number of ways. Big endian is used to show how bits are stored and with this particularly it loads in big end value first. Little endian is very similar its just loads the little value first. so BE (0x1234) and LE is (0x4321). Size is the size of data. Like a bit is the smallest size we have, byte is the size of 8 bits. Integer is easy, its 1 2 3. A floating point is a data type to give to some data. ASCII is the table to show ASCII values in binary, Hex, octal and decimal to the letters and symbols we see.

Demonstration

Data Representation (Sign Representation, One's Complement, Two's Complement)
Definition

Sign representation just encodes negative numbers in to the binary system. One's Complement just flips the bit value in the binary number. Its like a NOT logic being used. Twos complement however does do the same thing but adds a 1 to the numbers after they have been flip. This allows negative numbers to reside with positive numbers.

Demonstration

Linking, Object and Machine Code
Definition

Linking is the act of bringing together all the different objects brought about the compile process. Object code is what is given when we compile the source code that we give to the compiler. Machine code is the lowest level language and is what is read at the pre processing stage, the 1's and 0's

Demonstration

asm Objective

asm Objective

State the course objective

Definition

In your own words, define what that objective entails.

Method

State the method you will use for measuring successful academic/intellectual achievement of this objective.

Measurement

Follow your method and obtain a measurement. Document the results here.

Analysis

Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.

  • How did you do?
  • Is there room for improvement?
  • Could the measurement process be enhanced to be more effective?
  • Do you think this enhancement would be efficient to employ?
  • Could the course objective be altered to be more applicable? How would you alter it?

hpc2 Keywords

lab operations
Definition

Lab operations is where you are the manager of operations at hand. It can be seen in many setting, in a factory or in a office watching over a program. The operations at hand are there to make everything more efficient and you want it to run smooth. They are there to make projects smaller and flow easier, develop faster, and just improve overall.

maintenance
Definition

This is basically the person of the computer fixing up their system. If a piece of hardware breaks, you have to install a new piece or fix the current one. Then if everything is running well, you want to do a routine of cleaning and check ups to make sure all hardware is running tip top shape.

Computer Data Logging
Definition

Computer data logging is the process of recording events, with an automated computer program, in order to provide an audit trail that can be used to understand the activity of the system and to diagnose problems. These are very helpful in the aid of certain systems that rarely get touched by a user, like a server program.

Demonstration

This picture kind of shows how it works. Its taking the data from each point to see if everything is running the way it should:

Computer accessibility
Definition

This refers to the accessibility of a computer system to all people, regardless of disability or severity of impairment. It is largely a software concern; when software, hardware, or a combination of hardware and software, is used to enable use of a computer by a person with a disability or impairment, this is known as Assistive Technology.

Demonstration

upgrades
Definition

When upgrading its quite obvious you are going from one state, to a state that is clearly a more improved state. A computer is built so it can upgrade to a certain point and improved its performance. Like RAM, we all start off at a set amount but it can always be upgraded to get the max amount the computer itself can hold.

Artificial Intelligence
Definition

The intelligence of machines and the branch of computer science that aims to create it. An intelligent agent is a system that perceives its environment and takes actions that maximize its chances of success. In a nutshell it is basically a humanoid, half robot, half person. It should be able to “think” and do what we do, but that is still kind of far out of reach for us.

Demonstration

Hacking
Definition

There are many types of different hackers. You have the ones who simply who like to make the most out of what they have, customize and innovate their current product. Or someone who is really into free software and knows how to get it. However most come to know that it is a person who can break through security.It means finding out weaknesses in a computer or computer network and exploiting them, though the term can also refer to someone with an advanced understanding of computers and computer networks. They are in a way technically a cracker, they dont break through anything, just simply find a way to jump over security. Hacking is not really a correct term however it is generally used to describe people who even just know how to program.

security - external
Definition

Just like internal security, it is ways to protect your system but this time its from the outside. Here you dont need to worry so much about viruses but more of people on the outside. You have to watch for your “hackers” that may know your password and get in. Or maybe they would use a keylogger and break into your account through that. Either way, you must keep strong passwords and change it often to prevent people. Another to be done is to not give out any info at all. Not even your best friend, keep your info to yourself. Just keep things a secret and never let someone get the upper hand. And if you want to get crazy, start setting up cameras, motion sensors, automatic lights. Maybe not for your computer but for an external security sense, maybe you will use it for your room or house in general. Either way, security is both important outside and in.

hpc2 Objective

hpc2 Objective

State the course objective

Definition

In your own words, define what that objective entails.

Method

State the method you will use for measuring successful academic/intellectual achievement of this objective.

Measurement

Follow your method and obtain a measurement. Document the results here.

Analysis

Reflect upon your results of the measurement to ascertain your achievement of the particular course objective.

  • How did you do?
  • Is there room for improvement?
  • Could the measurement process be enhanced to be more effective?
  • Do you think this enhancement would be efficient to employ?
  • Could the course objective be altered to be more applicable? How would you alter it?

hpc2 Retest

Retest 7

Perform the following steps:

State Experiment

Whose existing experiment are you going to retest? Provide the URL, note the author, and restate their question.

Resources

Evaluate their resources and commentary. Answer the following questions:

  • Do you feel the given resources are adequate in providing sufficient background information?
  • Are there additional resources you've found that you can add to the resources list?
  • Does the original experimenter appear to have obtained a necessary fundamental understanding of the concepts leading up to their stated experiment?
  • If you find a deviation in opinion, state why you think this might exist.
Hypothesis

State their experiment's hypothesis. Answer the following questions:

  • Do you feel their hypothesis is adequate in capturing the essence of what they're trying to discover?
  • What improvements could you make to their hypothesis, if any?
Experiment

Follow the steps given to recreate the original experiment. Answer the following questions:

  • Are the instructions correct in successfully achieving the results?
  • Is there room for improvement in the experiment instructions/description? What suggestions would you make?
  • Would you make any alterations to the structure of the experiment to yield better results? What, and why?
Data

Publish the data you have gained from your performing of the experiment here.

Analysis

Answer the following:

  • Does the data seem in-line with the published data from the original author?
  • Can you explain any deviations?
  • How about any sources of error?
  • Is the stated hypothesis adequate?
Conclusions

Answer the following:

  • What conclusions can you make based on performing the experiment?
  • Do you feel the experiment was adequate in obtaining a further understanding of a concept?
  • Does the original author appear to have gotten some value out of performing the experiment?
  • Any suggestions or observations that could improve this particular process (in general, or specifically you, or specifically for the original author).
Retest 8

Perform the following steps:

State Experiment

Whose existing experiment are you going to retest? Provide the URL, note the author, and restate their question.

Resources

Evaluate their resources and commentary. Answer the following questions:

  • Do you feel the given resources are adequate in providing sufficient background information?
  • Are there additional resources you've found that you can add to the resources list?
  • Does the original experimenter appear to have obtained a necessary fundamental understanding of the concepts leading up to their stated experiment?
  • If you find a deviation in opinion, state why you think this might exist.
Hypothesis

State their experiment's hypothesis. Answer the following questions:

  • Do you feel their hypothesis is adequate in capturing the essence of what they're trying to discover?
  • What improvements could you make to their hypothesis, if any?
Experiment

Follow the steps given to recreate the original experiment. Answer the following questions:

  • Are the instructions correct in successfully achieving the results?
  • Is there room for improvement in the experiment instructions/description? What suggestions would you make?
  • Would you make any alterations to the structure of the experiment to yield better results? What, and why?
Data

Publish the data you have gained from your performing of the experiment here.

Analysis

Answer the following:

  • Does the data seem in-line with the published data from the original author?
  • Can you explain any deviations?
  • How about any sources of error?
  • Is the stated hypothesis adequate?
Conclusions

Answer the following:

  • What conclusions can you make based on performing the experiment?
  • Do you feel the experiment was adequate in obtaining a further understanding of a concept?
  • Does the original author appear to have gotten some value out of performing the experiment?
  • Any suggestions or observations that could improve this particular process (in general, or specifically you, or specifically for the original author).
Retest 9

Perform the following steps:

State Experiment

Whose existing experiment are you going to retest? Provide the URL, note the author, and restate their question.

Resources

Evaluate their resources and commentary. Answer the following questions:

  • Do you feel the given resources are adequate in providing sufficient background information?
  • Are there additional resources you've found that you can add to the resources list?
  • Does the original experimenter appear to have obtained a necessary fundamental understanding of the concepts leading up to their stated experiment?
  • If you find a deviation in opinion, state why you think this might exist.
Hypothesis

State their experiment's hypothesis. Answer the following questions:

  • Do you feel their hypothesis is adequate in capturing the essence of what they're trying to discover?
  • What improvements could you make to their hypothesis, if any?
Experiment

Follow the steps given to recreate the original experiment. Answer the following questions:

  • Are the instructions correct in successfully achieving the results?
  • Is there room for improvement in the experiment instructions/description? What suggestions would you make?
  • Would you make any alterations to the structure of the experiment to yield better results? What, and why?
Data

Publish the data you have gained from your performing of the experiment here.

Analysis

Answer the following:

  • Does the data seem in-line with the published data from the original author?
  • Can you explain any deviations?
  • How about any sources of error?
  • Is the stated hypothesis adequate?
Conclusions

Answer the following:

  • What conclusions can you make based on performing the experiment?
  • Do you feel the experiment was adequate in obtaining a further understanding of a concept?
  • Does the original author appear to have gotten some value out of performing the experiment?
  • Any suggestions or observations that could improve this particular process (in general, or specifically you, or specifically for the original author).

Experiments

Experiment 7

Question

What is the question you'd like to pose for experimentation? State it here.

Resources

Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.

Hypothesis

Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.

State your rationale.

Experiment

How are you going to test your hypothesis? What is the structure of your experiment?

Data

Perform your experiment, and collect/document the results here.

Analysis

Based on the data collected:

  • Was your hypothesis correct?
  • Was your hypothesis not applicable?
  • Is there more going on than you originally thought? (shortcomings in hypothesis)
  • What shortcomings might there be in your experiment?
  • What shortcomings might there be in your data?

Conclusions

What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.

Experiment 8

Question

What is the question you'd like to pose for experimentation? State it here.

Resources

Collect information and resources (such as URLs of web resources), and comment on knowledge obtained that you think will provide useful background information to aid in performing the experiment.

Hypothesis

Based on what you've read with respect to your original posed question, what do you think will be the result of your experiment (ie an educated guess based on the facts known). This is done before actually performing the experiment.

State your rationale.

Experiment

How are you going to test your hypothesis? What is the structure of your experiment?

Data

Perform your experiment, and collect/document the results here.

Analysis

Based on the data collected:

  • Was your hypothesis correct?
  • Was your hypothesis not applicable?
  • Is there more going on than you originally thought? (shortcomings in hypothesis)
  • What shortcomings might there be in your experiment?
  • What shortcomings might there be in your data?

Conclusions

What can you ascertain based on the experiment performed and data collected? Document your findings here; make a statement as to any discoveries you've made.

Retest 3

Perform the following steps:

State Experiment

Whose existing experiment are you going to retest? Provide the URL, note the author, and restate their question.

Resources

Evaluate their resources and commentary. Answer the following questions:

  • Do you feel the given resources are adequate in providing sufficient background information?
  • Are there additional resources you've found that you can add to the resources list?
  • Does the original experimenter appear to have obtained a necessary fundamental understanding of the concepts leading up to their stated experiment?
  • If you find a deviation in opinion, state why you think this might exist.

Hypothesis

State their experiment's hypothesis. Answer the following questions:

  • Do you feel their hypothesis is adequate in capturing the essence of what they're trying to discover?
  • What improvements could you make to their hypothesis, if any?

Experiment

Follow the steps given to recreate the original experiment. Answer the following questions:

  • Are the instructions correct in successfully achieving the results?
  • Is there room for improvement in the experiment instructions/description? What suggestions would you make?
  • Would you make any alterations to the structure of the experiment to yield better results? What, and why?

Data

Publish the data you have gained from your performing of the experiment here.

Analysis

Answer the following:

  • Does the data seem in-line with the published data from the original author?
  • Can you explain any deviations?
  • How about any sources of error?
  • Is the stated hypothesis adequate?

Conclusions

Answer the following:

  • What conclusions can you make based on performing the experiment?
  • Do you feel the experiment was adequate in obtaining a further understanding of a concept?
  • Does the original author appear to have gotten some value out of performing the experiment?
  • Any suggestions or observations that could improve this particular process (in general, or specifically you, or specifically for the original author).