Table of Contents
Raesel's Opus
Spring Semester 2012
Introduction
This is my second course here at the lair and I am looking forward to it. I am still a computer science major with interest in software engineering and, more enthusiastically, aerospace engineering. My status is a freshmore here at CCC. I do plan to transfer to a four year school for my bachelor degree and possibly look into getting my masters degree.
Random information about me: I like to wear fedora hats and you will almost never see me without one. I am passionate about movies and and embarking on an adventure to rewrite Macbeth and make it into a movie. I like to bake and occasionally cook savory foods. I do enjoy listening to music… on occasion. I love to travel to exotic locales. I am also an avid couch potato.
Part 1
Entries
Entry 1: January 31, 2012
Today we played more with pointers. We wrote another program which delved into the realm of double pointers. I think I understand pointers but I may be over-simpplifing them. Esssentialy, they direct the computer to another location. When called to give the information contained in them they return the value of what they are pointing to.
Entry 2: Febrauary 2, 2012
Todday we wrote a game in class. We used some elements of things that we used in previous classes as well as looked into loops. We also looked at the rand function which is supposed to resemble a random number generator but doesn't do it very well. We did go through and fix the problem which did make it more random. We also added a loop into the code which looped the game until the user decides to quit. I understand this program and what it is doing, which is a good sign. I haven't gotten lost in the class yet which is always a hopeful start.
Entry 3: February 7, 2012
Today we looked at arrays. My previous experince with arrays is limited to the theoretical realm. I understood that arrays needed to be sized before you start to fill them but I never was quite sure how to actually create them in a program. Today's class helped. I am still not 100% comfortable with creating them on my own but I do see how it can be done.
Entry 4: February 25, 2012
Today Project 1 was due and it was rather more challenging than previously thought. I understand the logic of how to do the program and I understand what needs to be done on the project, however, I am struggling with the actual implementation of the code. When I sit to write the code I essentially draw a blank and have no idea where to begin. I believe that if I sit down more with a pseudocode and play more with syntax and read source material on how to code in C I can overcome this dilemma. Otherwise, this will be a very difficut semester.
Keywords
cprog Keywords
Standard I/O
(STDIO, STDOUT, STDERR)
Definition
The main libraries in which C programs run
Demonstration
#include <stdio.h>
Logic Operators
AND, OR, NOT, XOR
Definition
Specifies the parameters of the loop and determines if the loop should execute
Demonstration
while((x!='\0')&&(x!='\n'))
This is an AND operator in a program
Typecasting
Definition
taking one form of variable and making it fit into another form of variable
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:
#include <stdio.h> #include <stdlib.h> int main() { int *p1, *p2, p3, **p4; p1=(int*)malloc(sizeof(int)*1); *p1=26; printf("*p1 is %u\n", *p1); p2=p1; p4=&p1; printf("**p4 is %u\n",**p4); printf("*p2 is %u\n",*p2); *p2=61; printf("*p1 is %u\n", *p1); printf("**p4 is %u\n", **p4); printf("*p2 is %u\n", *p2); return(0); }
This allocated memory in the size of an int
Pointers
Definition
Sets the memory address for something
Demonstration
#include <stdio.h> int main() { int a=0; int *b; b=&a; *b=12; printf("a contains %u\n", a); printf("a's address is 0x%x\n", &a); printf("b contains %u\n", *b); printf("b points to 0x%x\n", b); printf("b's address is 0x%x\n", &b); return(0); }
b is a pointer to a
Arrays
Definition
Holds many different elements of the same data type at one address
Demonstration
#include <stdio.h> #include <stdlib.h> int main() { char *word, len=0, x, pos=0; word=(char *)malloc(sizeof(char)*24); fprintf(stdout, "Please enter a word: "); fscanf(stdin, "%s", word); printf("Debug A\n"); x=*(word+pos); printf("Debug A1\n"); while((x!='\0')&&(x!='\n')) { printf("in the while, x is %hhd\n",x); len++; pos++; x=*(word+pos); } printf("Debug B\n"); for(pos=0; pos<len; pos++) { fprintf(stdout, "%c", *(word+pos)-32);
File Access
read, write append
Definition
Creating a file and reading it into a program or writing the output of a program to a file
Demonstration
#include <stdio.h> #include <stdlib.h> int main() { FILE *in, *out; char value=0; in=fopen("file.txt", "r"); out=fopen("out.txt", "w"); if(in==NULL) { printf("ERROR!\n"); exit(1); n, *out; char value=0; in=fopen("file.txt", "r"); out=fopen("out.txt", "w"); if(in==NULL) if(in==NULL) if(in==NULL) } fscanf(in, "%hhd", &value); while(value !=-1) { value *=2; fprintf(out,"%hhd\n", value); fscanf(in, "%hhd", &value); } fclose(in); fclose(out); return(0); }
Repetiion/iteration structures
for, while, do while
Definition
These are loops that govern how many times a program will execute a certain task
Demonstration
/* * Sample code block */ #include <stdio.h> int main() { int v; while v!=0 { printf("Rise against the machines\n"); } else { printf(The machines have won\n") } return(0); }
Header Files
Libraries
Definition
These are the #include statements at the beginning of a program. They are needed so that certain commands can be understood by the compiler to run a program
Demonstration
#include <stdio.h> #include <stdlib.h> #include <math.h>
There are others but these are just a few
cprog Objective
cprog Objective
comprehend the basics of memory management, data representation and storage
Definition
Can the student understand how to allocate memory and represent what they wish to represent with the proper file type? Does the student understand how to store values in C?
Method
Explain the code of project 0
Measurement
The code of project 0 is defining the size of the storage available for the different types of arguments in C. Each storage size dictates how much memory needs to be allocated for that type and whether or not datat will fit into that storage type.
Analysis
I understand the logic behind most codes but will need to continue to work on writing the actual code.
Experiments
Experiment 1
Question
Can a program check the upper and lower bounds
Resources
Class notes and book
Hypothesis
Yes. The program can check the upper
Experiment
Write a code
Data
#include <stdio.h> #include <stdlib.h> int main(int argc, char **argv) { signed int input; char column=0; char row=0; printf("Enter a value (0-4): "); scanf("%d", &input); while((input<4) && (input>0)) { printf("argv[%hhu]: %c\n", input, *(*(argv+row)+column)); printf("You ran this program with %hhu arguments, they are:\n",argc); exit(1); } printf("You have input an invalid value\n"); return(0); }
Analysis
I know that the code should work but I am unable to get the right syntax to compile it.
Conclusions
I need to spend more time learning syntax.
Experiment 2
Question
What happens if you put a semicolon on the end of a loop statement
Resources
the book was consulted
Hypothesis
The program won't compile
Experiment
I will add a semicolon on the end of a loop statement in a program and see what happens
Data
The program didn't compile. The loop statement was treated like another regular statement in the program which threw the whole program off.
Analysis
The hypothesis was correct although I could have gone much further into figuring out why it would not compile. The hypothesis short cited and lacks depth.
Conclusions
Although the program behaved as expected it could have been explore further.
Experiment 3
Question
What types of things create a segmentation fault
Resources
class programs and book
Hypothesis
Faulty syntax will cause a seg fault
Experiment
Play with codes already written
Data
I found that mainly a logic error in the loops will give a seg fault
Analysis
Based on the data collected: The hypothesis was not entirely correct. The hypothesis was very vague as was the question posed. If The hypothesis could have been slightly more specific the experiment might have had a little more guidance.
Conclusions
The main cause of segmentation faults are logic errors but logic errors also lead to other types of problems within the program.
Part 2
Entries
Entry 5: March 6, 2012
Today we covered a couple of new pieces of material in class. The first of which is a typedef which renames something to be more easily referenced in the code. The other was a union. The thing to remember about unions is that they are like an array but can have different data types within whereas an array can only have one data type. The union can be useful only if the things inside of it need not be used at the same time.
The other brief lesson was on struct which is similar to a union but different. A struct does not share memory space like a union but instead creates memory for each but you still need to allocate.
Entry 6: March 20, 2012
Today I caught up on some of the things I missed the previous week. One of these concepts was multifile and inheritance. We set up codes in different code sets and then linked them all together. This is multifile. It isn't terribly difficult but it does require some thinking especially if writing header files to be incuded in the different code blocks that will be used for inheritance. I think I mostly understand how it works but making sure I have defined everything is going to be my biggest challenge. Also making sure that I i define the header files properly and include them using the right syntax will also be something to keep an eye out for.
Entry 7: March 22, 2012
This day in class history we talked about cin, cout, and cerr. It became clear that to use cout would take a lot more syntax than using a printf statement. Conversely, it takes a little less to use a cin statement instead of a scanf statement. We also played around a little more with multifiles and gates. Gates are an interesting concept that I need to explore further in how to set them up properly.
Entry 8: March 29, 2012
Inheritance was the topic of the day. We focused mostly on perfecting it and understanding the concept behind it. I do understand it and I am fairly confident that the next topic of polymorphism will confound but not completely baffle with no ray of sunshine.
Keywords
cprog Keywords
typedef, enum, union
keywords
Definition
typedef: rename function in code aka alias union: a container that can contain more than one data type. it allocates memory to the largest data type within and only works with one data type at a time. can only be used when the things inside need not be used at the same time
Demonstration
#include <stdio.h> #include <stdlib.h> int main() { int i; union var{ int x; float f; }; typedef union var Uif; Uif value; value.x=0; for(i=0; i<24; i++) { value.x=value.x+rand()%51+1; } printf("total is %d\n", value.x); for(i=0; i<73; i++) { value.f=value.f+rand()%27+0.1; } printf(total is %f\n, value.f); } return(0); }
this program utilizes typedef and a union
arithmetic
equations, operations
Definition
the basic arithmetic functions learned in math class applied to bits and code
Demonstration
#include <stdio.h> int main() { int i=value=0; for(i=0; i<33; i++) { value=i+3 } return(0); }
This code increments the integer i by 3 and cycles through the loop until i=33 then exits
Variables
types, ranges, sizes
Definition
the basic deciding factors of how much memory needs to be allocated for a program
Demonstration
lab46:~/src/cprog$ $ ./range An unsigned char is 1 bytes The range of an unsigned char is 0 to 255 An unsigned char can store 256 unique values A signed char is 1 bytes The range of a signed char is -128 to 127 An unsigned short int is 2 bytes The range of an unsigned short int is 0 to 65535 An unsigned short int can store 65535 unique values A signed short int is 2 bytes The range of a signed short int is -32768 to 32767 An unsigned int is 4 bytes The range of an unsigned int is 0 to 255 An unsigned int can store 4294967295 unique values A signed int is 4 bytes The range of a signed int is 0 to -1 An unsigned long int is 8 bytes The range of an unsigned long int is 0 to 255 An unsigned long int can store 18446744073709551615 unique values A signed long int is 8 bytes The range of a signed long int is 1 to -2 An unsigned long long int is 8 bytes The range of an unsigned long long int is 0 to 255 An unsigned long long int can store 18446744073709551615 unique values A signed long long int is 8 bytes The range of a signed long long int is 1 to -2 lab46:~/src/cprog$
This is a printout of the results of project 0
Functions
return types, pass by value, address reference
Definition
contains smaller operations within a bigger operation
Demonstration
#include <stdio.h> #include <stdlib.h> int sum(int, int, int, int); //function prototype float avg(int, int, int, int); int numset(int, int, int, int); int main() { int a, b, c, d; a=b=c=d=0; printf("Enter first value: "); fscanf(stdin, "%d", &a); printf("Enter second value: "); fscanf(stdin, "%d", &b); printf("Enter third value: "); fscanf(stdin, "%d", &c); printf("Enter fourth value: "); fscanf(stdin, "%d", &d); fprintf(stdout, "the sum of %d, %d, %d, and %d is %d\n", a, b, c, d, sum(a,b,c,d)); fprintf(stdout, "the average of %d, %d, %d,and %d is %f\n, a,b,c,d, avg(a,b,c,d)); return(0); int sum(int n1, int n2, int n3, int n4) { int total=0; total=n1+n2+n3+n4 return(total); } float avg(int n1, int n2, int n3, int n4) { float avgerage=0 avgerage=(n1+n2+n3+n4)/4); return(avgerage); }
lab46:~src/cprog$ ./function1 Enter first value: 5 Enter second value: 7 Enter third value: 8 Enter fourth value: 9 the sum of 5,7,8, and 9 is 29 the average of 5,7,8, and 9 is 7.000000 lab46:~src/cprog$
This is the code and output of the program function1.c written in class
Compiler
preprocessor, flags, assembly linker…
Definition
takes the code written in a text editor and makes it machine readable and executable
Demonstration
lab46:~/src/cprog$ gcc -o function1 function1.c lab46:~/src/cprog$
This shows that the code written in function1.c was successfully compiled to executable form in function1. There are flags and warnings and errors that can appear that state if there is a segmentation fault or a syntax error that will not allow the program to compile.
Scope
Block, Local, Global, File
Definition
the part of code in which identifier can be referenced.
From broadest to narrow: application, file, function, block
Taken from lrdev.com
Selection
if, case/switch
Definition
When there is a series of if/else statements in a code a case switch may be used
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:
#include <stdio.h> main() int menu numb1, numb2, total; printf(" enter in two numbers-->"); scanf("%d, %d", &numb1, &numb2); printf("enter in choice\n") printf("1=addition\n"); printf("2=subtraction\n"); scanf("%d", &menu); switch(menu){ case 1: total=numb1+numb2; break; case 2: total=numb1-numb2; break; default: printf("Invalid option selected\n") } if(menu==1) { printf("%d plus %d is %d\n", numb1, numb2, total); } else { printf(%d minus %d is %d\n", numb1, numb2, total); } return(0); }
Example taken from gd.tuwien.ac.at/language/c/programming-bbrown/c_028htm
Structures
Declarations, Accessing Elements, Pointers to
Definition
basically the same as a union except it will allocate memory for each member but does not share memory
Demonstration
#include <stdio.h> int main() { struct person{ char *name; unsigned char age; short int weight; float gpa; }; return(0); }
This is the setup for a struct based on characteristics of a person
cprog Objective
cprog Objective
Distinguish and explain the difference between homogeneous and heterogeneous composite data types
Definition
Can the student correctly identify a homogeneous composite data type and a heterogenous composite data type?
Method
Write a code for both a heterogeneous and homgeneous containers
Measurement
<code> #include <stdio.h>
int main() {
struct time{ float sec; char min; int hour; short int day; }; long int century[20] return(0);
}
Analysis
This is not a complete view of the code but it does show the difference in how each of these types are set up. The struct allocated memory for each of the elements within and accessed them. There are many different data types within the struct. When trying to add different data types to the array century the compiler will not allow because it only a long int can go into century. The array is homogeneous and the struct is heterogeneous.
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 Day, 2012
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
- What action or concept of significance, as related to the course, did you experience on this date?
- Why was this significant?
- What concepts are you dealing with that may not make perfect sense?
- What challenges are you facing with respect to the course?
Remember that 4 is just the minimum number of entries. Feel free to have more.
Entry 10: April Day, 2012
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
- What action or concept of significance, as related to the course, did you experience on this date?
- Why was this significant?
- What concepts are you dealing with that may not make perfect sense?
- What challenges are you facing with respect to the course?
Remember that 4 is just the minimum number of entries. Feel free to have more.
Entry 11: April Day, 2012
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
- What action or concept of significance, as related to the course, did you experience on this date?
- Why was this significant?
- What concepts are you dealing with that may not make perfect sense?
- What challenges are you facing with respect to the course?
Remember that 4 is just the minimum number of entries. Feel free to have more.
Entry 12: April Day, 2012
This is a sample format for a dated entry. Please substitute the actual date for “Month Day, Year”, and duplicate the level 4 heading to make additional entries.
As an aid, feel free to use the following questions to help you generate content for your entries:
- What action or concept of significance, as related to the course, did you experience on this date?
- Why was this significant?
- What concepts are you dealing with that may not make perfect sense?
- What challenges are you facing with respect to the course?
Remember that 4 is just the minimum number of entries. Feel free to have more.
cprog Keywords
cprog Keyword 17
Identification of chosen keyword (unless you update the section heading above).
Definition
Definition (in your own words) of the chosen keyword.
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:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
cprog Keyword 18
Identification of chosen keyword (unless you update the section heading above).
Definition
Definition (in your own words) of the chosen keyword.
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:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
cprog Keyword 19
Identification of chosen keyword (unless you update the section heading above).
Definition
Definition (in your own words) of the chosen keyword.
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:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
cprog Keyword 20
Identification of chosen keyword (unless you update the section heading above).
Definition
Definition (in your own words) of the chosen keyword.
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:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
cprog Keyword 21
Identification of chosen keyword (unless you update the section heading above).
Definition
Definition (in your own words) of the chosen keyword.
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:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
cprog Keyword 22
Identification of chosen keyword (unless you update the section heading above).
Definition
Definition (in your own words) of the chosen keyword.
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:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
cprog Keyword 23
Identification of chosen keyword (unless you update the section heading above).
Definition
Definition (in your own words) of the chosen keyword.
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:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
cprog Keyword 24
Identification of chosen keyword (unless you update the section heading above).
Definition
Definition (in your own words) of the chosen keyword.
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:
/* * Sample code block */ #include <stdio.h> int main() { return(0); }
Alternatively (or additionally), if you want to demonstrate something on the command-line, you can do so as follows:
lab46:~$ cd src lab46:~/src$ gcc -o hello hello.c lab46:~/src$ ./hello Hello, World! lab46:~/src$
cprog Objective
cprog 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?
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).