Tuesday, December 17, 2013
Thursday, November 14, 2013
Testing
Testing in basic words is just executing the program that we created to get the output that is expected. Here I will be talking about how testing is not just one basic step of running, but thinking in an abstracted way on how things really work while doing the testing. I will divide it into 4 levels in order to make a testing that is efficient.
1. There should be a test plan. A test plan is a document that acts like a record that specifies what data and input should the program include to run the program that is created. A test case is a special word used for the data input. A test plan must not only include the instructions but there should be reasoning or an explanation of the the data, such as the values, and it should include an expected output from the user in each case.
2. There should be code coverage. Code coverage is a layout on how the designed test cases are able to ensure if each statement in the program is executed. In order words its also called clear box testing because all the code is visible or shown in front of the tester or the person who inputs the information into the program, leading from the word "Clear".
3. There should be data coverage. Data coverage is another layout for designing the test cases which will ensure that the limits that has been set for that particular data is covered. In order words its called black-box testing because this layout is based on the input rather than the code.
4. There should be a test plan implementation. This process is rather the final step because we're running the test cases according to the test plan and be able to record the results of the runs. If there is flaws in the results (not expected), you should go back and debug (fix the errors). You can stop this process when all the results came out as expected. The implementation test is like proof for your results of the test cases by running the program.
Each step or each term is really important for testing because they're a basis for checking the input or code that has been entered by planning out a test plan, making code, and data coverage, and finally conduct the test plan implementation. Testing is important because we're able to ensure the mistakes in the input and code to be able to debug the it by running tests. Each test that you make should be planned because you're able to fix it easier by breaking it into different pieces. Always created an expected results so when you test the program you are able to predict if the results are the same or not, so you can go off and debug the code you made. Different techniques are used for testing for example a program that reads in three values and sums them. We should use the clear-box test because the inputer is always able to see the data. Overall testing a program is something that needs to be planned before head even before inputting the code and be able to match the expected result with the actual result.
1. There should be a test plan. A test plan is a document that acts like a record that specifies what data and input should the program include to run the program that is created. A test case is a special word used for the data input. A test plan must not only include the instructions but there should be reasoning or an explanation of the the data, such as the values, and it should include an expected output from the user in each case.
2. There should be code coverage. Code coverage is a layout on how the designed test cases are able to ensure if each statement in the program is executed. In order words its also called clear box testing because all the code is visible or shown in front of the tester or the person who inputs the information into the program, leading from the word "Clear".
3. There should be data coverage. Data coverage is another layout for designing the test cases which will ensure that the limits that has been set for that particular data is covered. In order words its called black-box testing because this layout is based on the input rather than the code.
4. There should be a test plan implementation. This process is rather the final step because we're running the test cases according to the test plan and be able to record the results of the runs. If there is flaws in the results (not expected), you should go back and debug (fix the errors). You can stop this process when all the results came out as expected. The implementation test is like proof for your results of the test cases by running the program.
Each step or each term is really important for testing because they're a basis for checking the input or code that has been entered by planning out a test plan, making code, and data coverage, and finally conduct the test plan implementation. Testing is important because we're able to ensure the mistakes in the input and code to be able to debug the it by running tests. Each test that you make should be planned because you're able to fix it easier by breaking it into different pieces. Always created an expected results so when you test the program you are able to predict if the results are the same or not, so you can go off and debug the code you made. Different techniques are used for testing for example a program that reads in three values and sums them. We should use the clear-box test because the inputer is always able to see the data. Overall testing a program is something that needs to be planned before head even before inputting the code and be able to match the expected result with the actual result.
Thursday, October 31, 2013
Robots vs Humans Driving
Reports show that Google's self driving cars are safer than actual human driver itself. Data has been collected via two automatic self-driving cars of the Lexus and the Prius. This report came from the MIT Technology Review report. The cars has driven over 482,700 kilometers without having any accident. The software that is used shows that these cars are able to maintain a safe distance behind another car, and they brake sharply than having a human driving it themselves. These cars are able to prove that technology has been advance enough that these cars are able to run on their own and in the future we don't even need a driver for a car because everything would be automatic. Accidents did happen with the car but was caused from different drivers who bumped into the car. In August 2011 and 2010 the Google car stopped at a traffic and got bumped by a self-driving which indicates that the fault came from the humans not the automatic car. Cars are still a technology that is evolving rapidly because every year we see different looking cars that are becoming more safety, in the next 100 years cars would change completely to what we have now. Every year there is a new interface, like self-driving that will be more improved and be able to imply for everyone in the future for sure.
Major Concepts
Potential Strengths/Advantages
The strength of this article is that it is will linked to the evidence that is supported in their statement. I'm able to click to the report that was made showing the evidence that this car really did have no accidents. The article is precise, and summarized in way that allows people around the world to understand this complex system of automatic cars and give us a warning that these types of cars will appear in the industry very soon. Overall I think that the article is very good and easy to understand.
Potential Problems/Limitations/Disadvantages
There are a few disadvantages in the article because the author didn't point out any disadvantages, he made me think that the software is perfect but in the reality there are still many flaws in the self-driving technology. The flaws include detecting death because the car is unable to sense humans so it won't brake. Another disadvantage is the organization of the article they bring up points that are related too far apart from each other which might set some young article readers in a stage of confusion.
Discussion Questions
I would really like to discuss if people are for or against self-driving because many people might be against it. The argument comes up again that people are starting to become lazy because of these new inventions we have everything is doing most of the things for us now, like washing our clothes before the washing machine was introduced people would waste a lot of time washing their clothes, but now the washing machine does everything for us. I against this self-driving thing because if everybody uses it there might be still errors that can happen, because nothing is perfect. People are getting out of the path where we are doing things by ourselves but technology is going to take away the ability to do things in these days. Driving is suppose to be an important skill because it teaches people to concentrate on the things around which not just only benefits on the topic but on other real world situations too. The good side of this article is that it makes life easier, but I don't agree about this point because it's getting way too easy that we don't really need to do anything, which accounts as the bad side too.
Major Concepts
- Google's self driving cars are safer drivers than humans.
- These cars ran a total of 482,700 km without have a single accident.
- Although the accidents are not by the software, human drivers still bumped into the car.
The strength of this article is that it is will linked to the evidence that is supported in their statement. I'm able to click to the report that was made showing the evidence that this car really did have no accidents. The article is precise, and summarized in way that allows people around the world to understand this complex system of automatic cars and give us a warning that these types of cars will appear in the industry very soon. Overall I think that the article is very good and easy to understand.
Potential Problems/Limitations/Disadvantages
There are a few disadvantages in the article because the author didn't point out any disadvantages, he made me think that the software is perfect but in the reality there are still many flaws in the self-driving technology. The flaws include detecting death because the car is unable to sense humans so it won't brake. Another disadvantage is the organization of the article they bring up points that are related too far apart from each other which might set some young article readers in a stage of confusion.
Discussion Questions
I would really like to discuss if people are for or against self-driving because many people might be against it. The argument comes up again that people are starting to become lazy because of these new inventions we have everything is doing most of the things for us now, like washing our clothes before the washing machine was introduced people would waste a lot of time washing their clothes, but now the washing machine does everything for us. I against this self-driving thing because if everybody uses it there might be still errors that can happen, because nothing is perfect. People are getting out of the path where we are doing things by ourselves but technology is going to take away the ability to do things in these days. Driving is suppose to be an important skill because it teaches people to concentrate on the things around which not just only benefits on the topic but on other real world situations too. The good side of this article is that it makes life easier, but I don't agree about this point because it's getting way too easy that we don't really need to do anything, which accounts as the bad side too.
Starr, Michelle. "Google: Self-driving Cars Safer than Professional Drivers." - Cars. N.p., 28 Oct. 2013. Web. 01 Nov. 2013. <http://www.cnet.com.au/google-self-driving-cars-safer-than-professional-drivers-339345799.htm>.
Tuesday, October 29, 2013
Thought Questions
6. Did you have a computer in your home as you were growing up? If so, how did it influence your education to this point? If not, how did the right of everyone to have access to technology?
I did have a computer at home while I was growing up it was one of the old models of IBM that runs on a windows 95 platform. It really did influence me in the education because back then I would sit down and play with paint which is a sign of creativity. I also learned how to use the different Microsoft Office programs which is an important skill to have in typing these days. Having a computer back them allows you to type better in many different ways because you are used to using the keyboard. If I didn't have a computer I won't be this interested in studying the wonders of computer because getting to see how fast computers are growing inspires you to learn and know what computers really do. I would have not master the skill of using creativity of reading and writing stuff because a home computer means that you have free time and you are able to spend time learning by yourself rather than doing something that is not productive at home.
7. The digital divide puts those who have access to technology on one side and those who do not on the other side. Do yo feel that it is the right of everyone to have access to technology?
I think people should have the rights to technology, but it depends on the user itself because if the user is not willing to take in that technology its basically up to the person. Having the right for everyone to have technology is really good because the world will be more connected due to the amazing things that technology has brought to us. Technology allows us to have a huge basic comfort in our life that does so many things to us. With technology we are able to communicate, and enjoy many different entertainment systems that we do daily. I think it is good to keep everybody up on the technology trend, but as I said above it depends on the user themselves if they are willing to accept the technology or not.
8. I will cost a great deal of money to erase the digital divide. Who do you think should be responsible for paying the cost?
The question really does depend on the government themselves, because almost every government has been corrupt throughout the history of the humans. If the government has not been corrupt I think they would be able to erase this huge divide. These particular people should pay a particular technological company to provide the digital things for us, so they would be able to safe a lot of money using one particular technology. The government has the most money and the taxes we pay need to be refunded with technology.
9. Having access to technology is not enough; people must be taught to use the technology they have. How would you define computer literacy for each of the following groups of people?
a. High school students in an industrialized country
b. Kindergarten teachers in an industrialized country
c. College graduates in an industrialized country
d. Students in sub-Saharan Africa
e. College graduates in sub-Saharan Africa
f. Government officials in the Andes
a. The high school students have a basic understanding of using a computer they are able to use it efficiently for entertainment and school purposes, but they lack the understanding of what really is happening inside the computer. They are just a basic user that understands the purpose of the computer.
b. Kindergarten teachers know the basic of using a computer in which they are able to teach young students on what to do with the computer. These teacher also don't know what the real computer is like on how it functions but they are just a basic user and a teacher on how to use it.
c. College graduates will have a solid understanding of the computer in which they will know the main components and a bit more about the computers function depending on their major. College graduates will have more understandings than high school students, but have little understandings about how the computer really is.
d. Students here probably don't have a home computer or a pc but they know what it is because they have seen one or they might have one at school. Their knowledge about computers is very limited because their country is poor, in which they might only know how to do basic things like moving the mouse.
e. College graduates will have a better understanding than the students in which they might know how to use the computer for emails and doing work but may have struggles with the computer. They have no idea on how the real computer really is having the codes.
f. Government officials in the Andes probably have basic understandings of the computer but they have struggles in using it for sure because in places like mountains they would have like less than 10 computers so they might not be professional in using computers.
I did have a computer at home while I was growing up it was one of the old models of IBM that runs on a windows 95 platform. It really did influence me in the education because back then I would sit down and play with paint which is a sign of creativity. I also learned how to use the different Microsoft Office programs which is an important skill to have in typing these days. Having a computer back them allows you to type better in many different ways because you are used to using the keyboard. If I didn't have a computer I won't be this interested in studying the wonders of computer because getting to see how fast computers are growing inspires you to learn and know what computers really do. I would have not master the skill of using creativity of reading and writing stuff because a home computer means that you have free time and you are able to spend time learning by yourself rather than doing something that is not productive at home.
7. The digital divide puts those who have access to technology on one side and those who do not on the other side. Do yo feel that it is the right of everyone to have access to technology?
I think people should have the rights to technology, but it depends on the user itself because if the user is not willing to take in that technology its basically up to the person. Having the right for everyone to have technology is really good because the world will be more connected due to the amazing things that technology has brought to us. Technology allows us to have a huge basic comfort in our life that does so many things to us. With technology we are able to communicate, and enjoy many different entertainment systems that we do daily. I think it is good to keep everybody up on the technology trend, but as I said above it depends on the user themselves if they are willing to accept the technology or not.
8. I will cost a great deal of money to erase the digital divide. Who do you think should be responsible for paying the cost?
The question really does depend on the government themselves, because almost every government has been corrupt throughout the history of the humans. If the government has not been corrupt I think they would be able to erase this huge divide. These particular people should pay a particular technological company to provide the digital things for us, so they would be able to safe a lot of money using one particular technology. The government has the most money and the taxes we pay need to be refunded with technology.
9. Having access to technology is not enough; people must be taught to use the technology they have. How would you define computer literacy for each of the following groups of people?
a. High school students in an industrialized country
b. Kindergarten teachers in an industrialized country
c. College graduates in an industrialized country
d. Students in sub-Saharan Africa
e. College graduates in sub-Saharan Africa
f. Government officials in the Andes
a. The high school students have a basic understanding of using a computer they are able to use it efficiently for entertainment and school purposes, but they lack the understanding of what really is happening inside the computer. They are just a basic user that understands the purpose of the computer.
b. Kindergarten teachers know the basic of using a computer in which they are able to teach young students on what to do with the computer. These teacher also don't know what the real computer is like on how it functions but they are just a basic user and a teacher on how to use it.
c. College graduates will have a solid understanding of the computer in which they will know the main components and a bit more about the computers function depending on their major. College graduates will have more understandings than high school students, but have little understandings about how the computer really is.
d. Students here probably don't have a home computer or a pc but they know what it is because they have seen one or they might have one at school. Their knowledge about computers is very limited because their country is poor, in which they might only know how to do basic things like moving the mouse.
e. College graduates will have a better understanding than the students in which they might know how to use the computer for emails and doing work but may have struggles with the computer. They have no idea on how the real computer really is having the codes.
f. Government officials in the Andes probably have basic understandings of the computer but they have struggles in using it for sure because in places like mountains they would have like less than 10 computers so they might not be professional in using computers.
Wednesday, October 9, 2013
Codes of Ethics Case 5
This case is about a consultant and a nonprofit organization board. The board wants some advice from the consultant on what software package to buy in order to invest a lot of money. The consultant then suggest the board different software packages and give the advantages and disadvantages for each of them. The consultant then suggest the board to buy a certain package, in which the consultant is a stock holder from that software company, but he doesn't tell the board about this.
This passage violates many codes of the ethics.
IEEE Codes of Ethics
This passage violates many codes of the ethics.
IEEE Codes of Ethics
- To avoid real or perceived conflicts of interest when ever possible, and to disclose them to affected parties when they do exist.
- This person is creating a huge conflict of interest between him and the board because he has a benefit being a stock holder of a certain software. Here the consultant is clearly not avoiding the conflict.
- To be honest and realistic in stating claims or estimates based on available data.
- This person is not honest because he is not stating the whole claim, that he is one of the stock holders of the software he is suggesting.
- To avoid injuring others, their property, reputation, or employment by false or malicious action.
- This personal is giving false information because the software he is suggesting might no be beneficial to that organization in which it could harm the employment rate of the organization because they needed to invest in that software.
- To assist colleagues and co-workers in their professional development and to support them in following this code of ethics.
- This guy is not assisting or helping anything, he's just talking to benefit himself by not caring anything about the company who is going to invest on the software.
- Avoid harm to others.
- Creating harm to others by tricking them to invest in a software that gives the consultant profit, by not thinking about the money that the organization will invest in the software that might no be beneficial.
- Be honest and trustworthy.
- The consultant is not honest by not telling the full truth, so he's not trustworthy.
- Accept and provide appropriate professional review.
- This person is not providing the board with professional information about different soft-wares, in which he is suggesting the one that benefits him.
- Company will lose money investing in the wrong software.
- The organization that is already non profiting, depending on the software to be able to stand again will end up being bankrupt.
- The consultant will not only harm the organization but the workers who need to find new jobs in order to live their life.
Consequences of doing it right
- The money that is invested on the software allows the company to form back up again.
- The organization that is non profiting, recovers and becomes a profitable organization.
- People get more money from bonuses, due to the peak of the profit made.
- The consultant is rewarded, but in a more honorable way than suggesting the wrong software an earning the money.
Tuesday, October 8, 2013
Friday, September 27, 2013
NOR Gate
The NOR Gate is a combination of a NOT Gate and a NOR Gate. In this gate every input that is both 0 would result in an output of 1. Everything else would have a an output of 0. The breadboard below indicates the gates of 11, and 12 connected to the the GND which will result in an output of 1. The output is connected to gate number 13 which then linked to the LED which must be lighted on. Thank you for the pictures of Chapter 4 Presentation.
NAND Gate
The NAND gate is a combination gate of a NOT gate and a AND gate. Every output of a NAND gate is 1 except when both inputs are 1 so the output would be 0. In the breadboard below the inputs are both connect to the GND which are connected to gates 13, and 12. The output which is 1 would be connected to gate number 11 to the LED, which is lighted up in this case. Thank you for the pictures of Chapter 4 Presentation.
XOR Gate
The XOR gate uses 2 inputs, for every input that is the same the output will always be 0 but if the input is opposites the output would be 1. The XOR is a combination of an OR gate which the full name is called exclusive OR. They differ in when way where in an OR gate if both inputs are 1 the output would also be 1, but in a XOR gate the output is 0. The breadboard below shows the connection of gate 13 to the GND, and gate 12 to the VCC. The output (11) is then linked to the LED which will receive an output of 1, so the LED needs to be on. Thank you for the pictures of Chapter 4 Presentation.
OR Gate
Same as the AND Gate the or gate has two inputs but in this case its the opposite from the AND gate. With any input that has a value of 1 the output would be 1. Only if both inputs are 0 the output would be 0, according to the boolean expression. Below in the breadboard, gate 13 and 12 is connected to the vcc so the input is 1, so gate 11 will have an output of 1, which is connected to the LED that is lighted on. Thank you for the pictures of Chapter 4 Presentation.
AND Gate
The AND gate has two inputs rather than one input like the NOT gate. The output can only be 1 if both the input and the output is 1. Any other combination the output would be 0, according to the boolean algebra. In the breadboard below, the LED is on gate 13 and 12 are both connected to the vcc which is an input of 1. The output would be 1 so the gate number 11 is connected to the LED. Thank you for the pictures of the Chapter 4 Presentation.
NOT Gate
A NOT gate in other words the inverter shows the result in an opposite way. If you input a 1 (vcc) the result would be 0, just like the picture below using the breadboard, the cable signal is connected to port 13 and the output is connect to the LED, in which in this case its off because the input is 1 so the output must be 0. Thank you for the pictures of Chapter 4 Presentation.

Tuesday, September 24, 2013
Boolean Logic Diagrams
This is the OR gate for the Commutative Property showing that A + B = B + A meaning that the two inputs are added together. For example if A = 1 and B = 0 the output would be 1.

This is the AND gate for the Commutative Property which shows AB = BA meaning that the two input are multiplied together. For example if A = 1 and B=0 the output would be 0.

This is the AND gate for the Associative Property showing that (AB)C = A(BC) meaning that A and B are multiplied together to receive AB then C is added to the result to form (AB)C. For example if A = 1, B = 0, C = 1. AB would be 0 and then (AB)C would also receive a 0.
This is the OR gate for the Associative Property showing that (A+B) + C = A + (B+C) meaning that A and B are added together to receive A +B then C is added to A+B. For example if A = 1, B = 0, and C = 0. A+B would be 1 and A+B+C would be 1.
This the AND gate for the Distributive Property showing that A(B+C) = (AB) + (AC). meaning that B and C are added together to receive B+C then an A would me multiplied to B+C using an AND gate obtaining A(B+C). For example if A = 1, B = 0, and C = 1. 1+0=0*1=0 the final output would be 0.

This is the NOT gate for the Identity Property showing that A^1 = A or the inverse. For example if A = 1 the output would be 0 because it would become the inverse.
This is the NAND gate for the Complement Property showing that (A * B)^1. For example if A = 0 and B = 0 the output would be 1.

This is the NOR gate for the DeMorgan's Law showing that (A+B)^1. For example if A = 0 and B = 0 the output would be 1.
A
|
B
|
X
|
0
|
0
|
0
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
This is the AND gate for the Commutative Property which shows AB = BA meaning that the two input are multiplied together. For example if A = 1 and B=0 the output would be 0.
A
|
B
|
X
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
This is the AND gate for the Associative Property showing that (AB)C = A(BC) meaning that A and B are multiplied together to receive AB then C is added to the result to form (AB)C. For example if A = 1, B = 0, C = 1. AB would be 0 and then (AB)C would also receive a 0.
A
|
B
|
C
|
X
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
0
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
This is the OR gate for the Associative Property showing that (A+B) + C = A + (B+C) meaning that A and B are added together to receive A +B then C is added to A+B. For example if A = 1, B = 0, and C = 0. A+B would be 1 and A+B+C would be 1.
A
|
B
|
C
|
X
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
1
|
0
|
1
|
0
|
1
|
0
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
This the AND gate for the Distributive Property showing that A(B+C) = (AB) + (AC). meaning that B and C are added together to receive B+C then an A would me multiplied to B+C using an AND gate obtaining A(B+C). For example if A = 1, B = 0, and C = 1. 1+0=0*1=0 the final output would be 0.
A
|
B
|
C
|
X
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
0
|
0
|
0
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
0
|
1
|
0
|
1
|
1
|
1
|
1
|
1
|
1
|
This is the NOT gate for the Identity Property showing that A^1 = A or the inverse. For example if A = 1 the output would be 0 because it would become the inverse.
A
|
X
|
0
|
1
|
1
|
0
|
This is the NAND gate for the Complement Property showing that (A * B)^1. For example if A = 0 and B = 0 the output would be 1.
A
|
B
|
X
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
This is the NOR gate for the DeMorgan's Law showing that (A+B)^1. For example if A = 0 and B = 0 the output would be 1.
A
|
B
|
X
|
0
|
0
|
1
|
0
|
1
|
1
|
1
|
0
|
1
|
1
|
1
|
0
|
Subscribe to:
Posts (Atom)