SlideShare uma empresa Scribd logo
1 de 18
Running Header: COMPUTER PROGRAMMING ANALYSIS 1
Computer Programming and Critical Thinking
Allen Gordon
May 12, 2013
Westwood College
Critical Thinking
Computer Programming Analysis 2
Abstract
Computer programmers face many problems on a daily basis. It is only with critical
thinking that these problems can be solved correctly. Critical thinking is a method of thinking
with tools that are used to correct problem solving. These tools are looked at in depth and applied
to the computer programmer.
Computer programmers also need to make ethical decisions when creating programs. A
computer program needs to be created with the intended audience in mind as well as the intended
purpose. Some of these issues are looked at and discussed. Critical and ethical thinking is a
major part of the computer programmer‟s daily life. Therefore it is important for the computer
programmer to continue to develop and excel at critical thinking.
Computer Programming Analysis 3
Computer programmers need to constantly solve problems when writing a computer
program. The only way they can solve these problems is to think critically and apply all of their
critical thinking skills. Some of the problems that computer programmers face include designing
the program, debugging the program, implementation of the program, and writing the program
code. In all of the above problems critical thinking is absolutely essential it is only with critical
thinking that these problems can be solved.
In the computer programming world there are many issues that a programmer needs to
take into consideration. What is the best programming language to use for a certain program?
How would this program be best coded? What are the major problems with the program? How
would this program be best implemented? The list of questions that need to be solved can go on
and on.
Not only is critical thinking needed in computer programming but a code of ethics is
needed as well. When it comes to computer programming and ethics there are ethical standards
that ought to be held to. Who is the intended audience of the program? Is this an adult game or
children‟s game? What language should and should not be used? What is the proper attire for the
characters within the game? What are the proper gestures for the character to make? This same
code of ethics not only applies to video games but also other computer programs as well.
Considering critical thinking in the computer programming it is seen that computer
programmers have many problems that they face. These problems need to be solved not only at
the beginning of each program that is written but throughout the writing of the program and the
implementation of the program even extending to the debugging of the program. Ethics play a
key role in writing computer programs as well. It would be unethical to write a program using
Computer Programming Analysis 4
adult language and graphics if the program is intended for children. It would likewise be
unethical to create a computer program with slang if the program has the intended audience of
business professionals.
Computer Programming Analysis 5
Name: Allen Gordon
Date: April 7, 2013
Topic: Critical Thinking in Computer Programming
General Purpose: To inform
Specific Purpose: Analyze how critical thinking is needed in the computer programming field.
Thesis: There are many problems that computer programs face and the only way to solve these
problems is with critical thinking.
I.Computer programmers use critical thinking skills in their daily tasks.
A. Suppose you bought your child a video game and it was nothing but adult
content. The computer programmer failed to use proper critical thinking and bad
ethics when creating the video game.
B. It is important for people to be informed of the critical thinking process that
computer programmers must use and the code of ethics they use.
C. There are many problems that computer programs face and the only way to solve
these problems is with critical thinking.
D. It is important to establish the source of the information that everyone is
receiving.
1. As a computer programmer I know the critical thinking process involved
and the code of ethics that must be followed.
Computer Programming Analysis 6
2. I have done extensive online research about using critical thinking skills
in computer programming and the ethical standards that must be upheld. I
also hold an Associates of Applied Science degree in Information
Technology.
E. The following points will be considered:
1. First, I will discuss the critical thinking process.
2. Second, I will discuss the problems that computer programmers need to
solve and how critical thinking can be used to solve them.
3. Lastly, I will discuss the importance of an ethical standard in computer
programming.
II. There are many problems that computer programs face and the only way to solve these
problems is with critical thinking.
A. Critical thinking is a thought process that enables us to solve problems.
1. Critical thinking is the process that allows us to decide what we believe
and what to do.
2. Explain the concept of IDEAS.
a. Identify the problem.
b. Deepen understanding and gather relevant information
c. Enumerate options and anticipate consequences.
Computer Programming Analysis 7
d. Assess the situation and make a preliminary decision.
e. Scrutinize the process and self-correct as needed.
Now that we have an understanding of the critical thinking process we can move on to look
at the specific issues that face computer programmers.
B. Computer programmers face many problems that need to be solved using the
critical thinking process in every computer program that they create.
1. Determine the best programming language to use to create the program.
2. There is a need to look through the entire computer program and find any
problems within the program.
3. Determine the best way to implement the program.
We have seen the problems that computer programmers face that need to be resolved with
critical thinking we will now consider the ethical problems that computer programmers face.
C. Computer programmers face ethical questions with every computer program
they write that need to be answered throughout the creation process.
1. The intended audience needs to be determined.
2. Language and graphics suitable for the intended audience needs to be
used.
III. We can see that computer programmers have much to consider when creating a computer
program.
Computer Programming Analysis 8
A. Computer programmers need to use critical thinking often their profession.
1. Critical thinking is a very effective process when used correctly.
2. It is important for computer programmers to use critical thinking often as
they have many problems they face.
3. In addition to problems that need to be solved with critical thinking they
are also faced with ethical issues.
B. There are many problems that computer programs face and the only way to
solve these problems is with critical thinking.
C. We saw the importance of critical thinking for the computer programmer. Not
only is the computer programmer faced with problems that need critical
thinking skills but the computer programmer is also faced with issues of
ethics. It is a good computer programmer that continues to use both critical
thinking and ethical standards as they create their computer programs and
video games.
Computer Programming Analysis 9
Critical thinking is the process by which individuals decide what to believe and what to
do. Everyone uses critical thinking in their day to day lives, most without even knowing it. Every
time we make an informed decision by analyzing the situation we are using critical thinking.
There is a process by which we analyze situations using critical thinking which is summed up in
the acronym IDEAS.
The acronym IDEAS breaks down like so:
I = Identify the problem and set priorities.
o We identify the problem that the situation brings and exam the characteristics of
that problem.
D = Deepen understanding and gather relevant information.
o As we gather relevant information about the problem we gain a deeper
understanding which will assist us in finding a solution.
E = Enumerate options and anticipate consequences.
o As we look at all of our options for the solution we can anticipate the
consequences and deductively make an informed decision.
A = Assess the situation and make a preliminary decision.
o By assessing the situation thoughtfully we can make a tentative preliminary
decision about the steps to take to solve the problem.
S = Scrutinize the process and self-correct as needed.
o By carefully looking at the steps we came up with in the last step we can find any
kind of problems within the process and correct these as needed to completely
solve the problem.
Computer Programming Analysis 10
The critical thinking process is used by everyone every day. There are certain professions
that require critical thinking skills to solve many of the problems in their professions; one of
these professions is computer programmer. There are many problems that computer
programmers face that can only be solved with critical thinking.
In regards to critical thinking and the computer programmer Monster.com‟s career
spotlight says the following under the skills needed section for computer programmers,
“Programming – Writing computer programs for various purposes. Critical Thinking – Using
logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions
or approaches to problems. Complex Problem Solving – Identifying complex problems and
reviewing related information to develop and evaluate options and implement
solutions…Deductive Reasoning – The ability to apply general rules to specific problems to
produce answers that make sense.” (Career Spotlight, 2007). There are many computer
programming languages that computer programmers may use to create programs, it is up to the
computer programmer to make the best decision on which programming language would be the
best to use for the specific program.
The computer programmer needs to perform such as actions as debugging (looking
through the entire written program to see if there are any flaws in the programming language that
was written). Also, the computer programmer needs to determine the best way to implement the
program he/she created. These are all solved by using critical thinking and deductive reasoning.
Computer programming relies on critical thinking so much that people who want to
develop good critical thinking skills should learn computer programming. “Regardless of what
you do, what subjects you like or what career you intend to pursue, you will need to think and
Computer Programming Analysis 11
solve problems. And no subject trains you better for that than computer
programming…Programming…takes discipline, skill, perseverance, a great deal of logical and
critical thought and knowledge…Computer programming is a wonderful vehicle for teaching
problem solving, logical and critical thinking.” (Kalicharan, 2005). Computer programming is so
effective to use to develop critical thinking skills middle and high schools are teaching computer
programming as a part of their curriculum for the purpose of developing critical thinking in
children so they are better prepared after high school. “Computer programming helps develop
critical thinking skills, such as how to break down a problem into manageable parts or how to put
tasks into a logical sequence, as well as the importance of precise communication. „These skills
are completely transferable,‟ said Lauren Bricker, a computer science teacher at Seattle‟s
Lakeside School. „Students can use them to write a computer program or a history paper.‟”
(Weed, 2012).
In addition to critical thinking skills computer programmers go by an ethical code of
conduct. There needs to be ethical guidelines set forth if a computer program is going to be right
for the intended audience (e.g. no adult graphics in a child‟s video game). “I posit that in no
uncertain terms, it is a strong ethical obligation on the part of the programmer to make sure that
programs do, always, and only, what the user asks them to.” (Lefkowitz, 2005). It is highly
important that any program that is created does what it is intended to do by the user of the
program whether the user is human or computer.
The following is the computer ethics code of conduct:
“1) Thou shalt not use a computer to harm other people:” (Computer Ethics). It is
unethical to harm others in anyway outside of the computer world so why is this any different
Computer Programming Analysis 12
within the computer world. Computers were not designed to create a program that counts down
the time on a time bomb. This would be unethical because the end result is great harm to others.
“2) Thou shalt not interfere with other people‟s computer work:” (Xanatomy, n.d.). The
creating of computer viruses and implanting them in other people‟s computer interferes in their
computer work by destroying their files and at times their computer.
“3) Thou shalt not snoop around in other people‟s files:” (Xanatomy, n.d.). It is unethical
to read other people‟s e-mails and any other files that are on another‟s computer. This is invasion
of privacy.
“4) Thou shalt not use a computer to steal:” (Xanatomy, n.d.). It is unethical to break into
a store likewise it is unethical to break into company computers to steal account information and
any other information they may have stored on their computer.
“5)Thou shalt not use a computer to bear false witness:” ( Xanatomy, n.d.). Creating any
computer program for the sole purpose of spreading rumors or other lies is unethical.
“6) Thou shalt not use or copy software which you have not paid:” (Xanatomy, n.d.). To
use or copy any type of software is unethical. It is actually theft and a computer programmer that
creates a program to assist in this unethical act is guilty of this.
“7) Thou shalt not use other people‟s computer resources without authorization:”
(Xanatomy, n.d.). It is unethical to hack or break into a computer system by bypassing the
username and password login. This is normally accomplished by a computer programmer
creating a program to figure out the password and break it. The hacker then uses the memory and
time allocations of the hacked computer which is unethical.
Computer Programming Analysis 13
“8) Thou shalt not appropriate other people‟s intellectual output:” (Xanatomy, n.d.).
Intellectual output is any computer program. The intellectual output belongs to the creator and
the computer code is not to be copies and used as one‟s own without proper authorization.
“9) Thou shalt think about the social consequences of the program you write:”
(Xanatomy, n.d.). It is unethical to write a computer program that may be harmful to society in
any way (e.g. a video game that is intended for small children that has adult image and languages
is unethical because it is harmful to children.)
“10) Thou shalt use a computer in ways that show consideration and respect:”
(Xanatomy, n.d.). This form of ethics is often referred to as netiquette. It is unethical to not treat
people with respect while communicating with them. This applies both offline and online.
Critical thinking is a very effective process when used correctly. It is important for
computer programmers to use critical thinking often as they have many problems to face. In
addition to problems that need to be solved with critical thinking they are also faced with ethical
issues. There are many problems that computer programmers face and the only way to solve
these problems is with critical thinking.
We saw the importance of critical thinking for the computer programmer. Not only is the
computer programmer faced with problems the need critical thinking skills but the computer
programmer is also faced with ethical issues. It is a good computer programmer that continues to
use both critical thinking and ethical standards as they create and implement their computer
programs and video games.
Computer Programming Analysis 14
Heuristic Reflection
It is of great importance to have excellent critical thinking skills as a computer
programmer. As a computer programmer I will use these skills to solve the many problems that
computer programmers face daily. The method of thinking that is most beneficial to me both in
my personal life and professional life is critical thinking.
Critical thinking offers the most logical and reasonable method for problem solving. As a
critical thinker every problem that is faced in life can be solved. Computer programmers face
many problems that need to be solved on a daily basis. Some of these problems include what
programming language to use for a specific program, implementation of the program that was
created, best method of coding the program, solving problems within the program code in the
event a bug (problem) is found, in addition to these problems computer programmers face ethical
issues when creating programs.
At times, computer programmers will need to pose arguments to team managers, team
members or potential clients on a possible program idea. These arguments can also include the
programming language to use or proper implementation of a program that has been created. The
method of critical thinking provides us with the tools to give qualitative and valid arguments.
There are many programming languages that a computer programmer has available to
them to use. Each of these computer languages has qualities that would be more beneficial to the
programmer when used properly. For example, Java programming can be used on any mobile
phone so when creating a mobile phone app or game the programmer would need to use the Java
programming language.
Computer Programming Analysis 15
There are other factors that the programmer needs to take into account when creating a
program such as the programs intended purpose. For a program that has the ability to ask the user
for information and store it into a database it would be beneficial for the programmer to use the
Visual Basic computer language. Visual Basic make it easy for the programmer to create forms
and add controls to the form such as “create record”, “add record”, or “save file”. All the
programmer would then need to do is tell the control button what to do by entering the proper
instructions. Critical thinking skills are used to make these programming decisions by evaluating
the situation.
There are also ethical decisions that computer programmers need to make. Computer
programmers need to take into account who the end user of the program is going to be and the
intended purpose of the program. If the program is intended to be a game for small children to
teach them math it would be unethical to put adult language and graphics within the game.
Likewise it would be unethical for the programmer to create the program with college algebra
students in mind because that is not the program‟s intended purpose.
Computer Programming Analysis 16
Works Cited
Career spotlight: computer programmer. (2007). Monster: Inside Tech. Retrieved from
http://insidetech.monster.com/careers/articles/77-career-spotlight-computer-programmer
Lefkowitz, G. (2005, November 13). Ethics for programmers: primum non nocere. Retrieved
from http://glyf.livejournal.com/46589.html
Kalicharan, N. (2008). Developing thinking skills with computer programming.Bright Hub.
Retrieved from http://www.brighthub.com/computing/windows-platform/articles/6469.aspx
Weed, J. (2012, February 10). Lots of options for getting students into computer
programming.The Seattle times. Retrieved from
http://seattletimes.com/html/businesstechnology/2017479540_ptteentween11.html
Xanatomy.(n.d.).Computer ethics. Retrieved from
http://www.cmpe.boun.edu.tr/~say/c150/intro/lit10.html
Computer Programming Analysis 17
Annotated Bibliography
Career spotlight: computer programmer. (2007). Monster: Inside Tech. Retrieved from
http://insidetech.monster.com/careers/articles/77-career-spotlight-computer-programmer
This is an in depth explanation of the skills that are required for computer programmers
to possess. Among these skills are critical thinking and problem solving. The relevance of this
article to my topic is the article gives an in depth explanation of what skills the computer
programmer is required to possess including ways computer programmers use critical thinking
skills.
Lefkowitz, G. (2005, November 13). Ethics for programmers: primum non nocere. Retrieved
from http://glyf.livejournal.com/46589.html
This forum post goes into detail on the importance of ethics and computer programming.
As a part of my topic I am going to describe the ethical code that Computer Programmers must
go by to be successful and moral.
Kalicharan, N. (2008). Developing thinking skills with computer programming.Bright Hub.
Retrieved from http://www.brighthub.com/computing/windows-platform/articles/6469.aspx
This is an in depth analysis of the importance and benefits of learning computer
programming. My topic is on computer programming and critical thinking and one of the
benefits of learning computer programming is developing critical thinking skills.
Weed, J. (2012, February 10). Lots of options for getting students into computer
programming.The Seattle times. Retrieved from
http://seattletimes.com/html/businesstechnology/2017479540_ptteentween11.html
Computer Programming Analysis 18
This article highlights the importance of a student based computer programming class for
grade school and high school students. The purpose of teaching computer programming at the
grade school and high school levels is to develop critical thinking skills at a young age. These
skills can transfer to all areas of their lives. This is relevant in for my topic because the article
speaks about the correlation between computer programming and critical thinking.
Xanatomy.(n.d.).Computer ethics. Retrieved from
http://www.cmpe.boun.edu.tr/~say/c150/intro/lit10.html
This online document lists the ethical code that all computer users should follow. Ethics
is an important part when it comes to computer programming. In addition to the importance of
critical thinking skills in computer programming I am also going to write about the ethical
standard that computer programmers must go by.

Mais conteúdo relacionado

Semelhante a Gordon heuristic reflectionabstract

Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdfAlgorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
Hoomale
 
A3 Problem Solving Template v1.2 (April 2015) by Henrik Knibe.docx
A3 Problem Solving Template v1.2 (April 2015) by  Henrik Knibe.docxA3 Problem Solving Template v1.2 (April 2015) by  Henrik Knibe.docx
A3 Problem Solving Template v1.2 (April 2015) by Henrik Knibe.docx
SALU18
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
smumbahelp
 
Lecture 7 program development issues (supplementary)
Lecture 7  program development issues (supplementary)Lecture 7  program development issues (supplementary)
Lecture 7 program development issues (supplementary)
alvin567
 
Arts6_q1_mod3_concepts on the use of computer software_v2.pdf
Arts6_q1_mod3_concepts on the use of computer software_v2.pdfArts6_q1_mod3_concepts on the use of computer software_v2.pdf
Arts6_q1_mod3_concepts on the use of computer software_v2.pdf
rochellelittaua
 
software engineering 2 Chapter notes of software engineering in detail to stu...
software engineering 2 Chapter notes of software engineering in detail to stu...software engineering 2 Chapter notes of software engineering in detail to stu...
software engineering 2 Chapter notes of software engineering in detail to stu...
preetidamakale
 
Programming Fundamentals using C++
Programming Fundamentals using C++Programming Fundamentals using C++
Programming Fundamentals using C++
ALI RAZA
 

Semelhante a Gordon heuristic reflectionabstract (20)

Software Engineering Paper
Software Engineering PaperSoftware Engineering Paper
Software Engineering Paper
 
Humane assessment on cards
Humane assessment on cardsHumane assessment on cards
Humane assessment on cards
 
Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdfAlgorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
Algorithmic Thinking_ Basics for Gen Z and Gen Alpha.pdf
 
Steam Project.docx
Steam Project.docxSteam Project.docx
Steam Project.docx
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Chapter # 1
Chapter # 1 Chapter # 1
Chapter # 1
 
Webdev and programming
Webdev and programming  Webdev and programming
Webdev and programming
 
How to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software DeveloperHow to become a Software Engineer Carrier Path for Software Developer
How to become a Software Engineer Carrier Path for Software Developer
 
A3 Problem Solving Template v1.2 (April 2015) by Henrik Knibe.docx
A3 Problem Solving Template v1.2 (April 2015) by  Henrik Knibe.docxA3 Problem Solving Template v1.2 (April 2015) by  Henrik Knibe.docx
A3 Problem Solving Template v1.2 (April 2015) by Henrik Knibe.docx
 
Mi0033 software engineering
Mi0033  software engineeringMi0033  software engineering
Mi0033 software engineering
 
Challenges-and-Consideration-in-Programming-Logic-and-Design...pptx
Challenges-and-Consideration-in-Programming-Logic-and-Design...pptxChallenges-and-Consideration-in-Programming-Logic-and-Design...pptx
Challenges-and-Consideration-in-Programming-Logic-and-Design...pptx
 
Professional responsibilities of software engineering
Professional responsibilities of software engineeringProfessional responsibilities of software engineering
Professional responsibilities of software engineering
 
Session 3 : Competitive programming 1
Session 3 : Competitive programming 1Session 3 : Competitive programming 1
Session 3 : Competitive programming 1
 
Lecture 7 program development issues (supplementary)
Lecture 7  program development issues (supplementary)Lecture 7  program development issues (supplementary)
Lecture 7 program development issues (supplementary)
 
Systems development life cycle
Systems development life cycleSystems development life cycle
Systems development life cycle
 
Arts6_q1_mod3_concepts on the use of computer software_v2.pdf
Arts6_q1_mod3_concepts on the use of computer software_v2.pdfArts6_q1_mod3_concepts on the use of computer software_v2.pdf
Arts6_q1_mod3_concepts on the use of computer software_v2.pdf
 
software engineering 2 Chapter notes of software engineering in detail to stu...
software engineering 2 Chapter notes of software engineering in detail to stu...software engineering 2 Chapter notes of software engineering in detail to stu...
software engineering 2 Chapter notes of software engineering in detail to stu...
 
CSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptxCSE_2014 SE MODULE 1 V.10 (2).pptx
CSE_2014 SE MODULE 1 V.10 (2).pptx
 
Programming Fundamentals using C++
Programming Fundamentals using C++Programming Fundamentals using C++
Programming Fundamentals using C++
 
CSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptxCSE_2014 SE MODULE 1 V.10.pptx
CSE_2014 SE MODULE 1 V.10.pptx
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Gordon heuristic reflectionabstract

  • 1. Running Header: COMPUTER PROGRAMMING ANALYSIS 1 Computer Programming and Critical Thinking Allen Gordon May 12, 2013 Westwood College Critical Thinking
  • 2. Computer Programming Analysis 2 Abstract Computer programmers face many problems on a daily basis. It is only with critical thinking that these problems can be solved correctly. Critical thinking is a method of thinking with tools that are used to correct problem solving. These tools are looked at in depth and applied to the computer programmer. Computer programmers also need to make ethical decisions when creating programs. A computer program needs to be created with the intended audience in mind as well as the intended purpose. Some of these issues are looked at and discussed. Critical and ethical thinking is a major part of the computer programmer‟s daily life. Therefore it is important for the computer programmer to continue to develop and excel at critical thinking.
  • 3. Computer Programming Analysis 3 Computer programmers need to constantly solve problems when writing a computer program. The only way they can solve these problems is to think critically and apply all of their critical thinking skills. Some of the problems that computer programmers face include designing the program, debugging the program, implementation of the program, and writing the program code. In all of the above problems critical thinking is absolutely essential it is only with critical thinking that these problems can be solved. In the computer programming world there are many issues that a programmer needs to take into consideration. What is the best programming language to use for a certain program? How would this program be best coded? What are the major problems with the program? How would this program be best implemented? The list of questions that need to be solved can go on and on. Not only is critical thinking needed in computer programming but a code of ethics is needed as well. When it comes to computer programming and ethics there are ethical standards that ought to be held to. Who is the intended audience of the program? Is this an adult game or children‟s game? What language should and should not be used? What is the proper attire for the characters within the game? What are the proper gestures for the character to make? This same code of ethics not only applies to video games but also other computer programs as well. Considering critical thinking in the computer programming it is seen that computer programmers have many problems that they face. These problems need to be solved not only at the beginning of each program that is written but throughout the writing of the program and the implementation of the program even extending to the debugging of the program. Ethics play a key role in writing computer programs as well. It would be unethical to write a program using
  • 4. Computer Programming Analysis 4 adult language and graphics if the program is intended for children. It would likewise be unethical to create a computer program with slang if the program has the intended audience of business professionals.
  • 5. Computer Programming Analysis 5 Name: Allen Gordon Date: April 7, 2013 Topic: Critical Thinking in Computer Programming General Purpose: To inform Specific Purpose: Analyze how critical thinking is needed in the computer programming field. Thesis: There are many problems that computer programs face and the only way to solve these problems is with critical thinking. I.Computer programmers use critical thinking skills in their daily tasks. A. Suppose you bought your child a video game and it was nothing but adult content. The computer programmer failed to use proper critical thinking and bad ethics when creating the video game. B. It is important for people to be informed of the critical thinking process that computer programmers must use and the code of ethics they use. C. There are many problems that computer programs face and the only way to solve these problems is with critical thinking. D. It is important to establish the source of the information that everyone is receiving. 1. As a computer programmer I know the critical thinking process involved and the code of ethics that must be followed.
  • 6. Computer Programming Analysis 6 2. I have done extensive online research about using critical thinking skills in computer programming and the ethical standards that must be upheld. I also hold an Associates of Applied Science degree in Information Technology. E. The following points will be considered: 1. First, I will discuss the critical thinking process. 2. Second, I will discuss the problems that computer programmers need to solve and how critical thinking can be used to solve them. 3. Lastly, I will discuss the importance of an ethical standard in computer programming. II. There are many problems that computer programs face and the only way to solve these problems is with critical thinking. A. Critical thinking is a thought process that enables us to solve problems. 1. Critical thinking is the process that allows us to decide what we believe and what to do. 2. Explain the concept of IDEAS. a. Identify the problem. b. Deepen understanding and gather relevant information c. Enumerate options and anticipate consequences.
  • 7. Computer Programming Analysis 7 d. Assess the situation and make a preliminary decision. e. Scrutinize the process and self-correct as needed. Now that we have an understanding of the critical thinking process we can move on to look at the specific issues that face computer programmers. B. Computer programmers face many problems that need to be solved using the critical thinking process in every computer program that they create. 1. Determine the best programming language to use to create the program. 2. There is a need to look through the entire computer program and find any problems within the program. 3. Determine the best way to implement the program. We have seen the problems that computer programmers face that need to be resolved with critical thinking we will now consider the ethical problems that computer programmers face. C. Computer programmers face ethical questions with every computer program they write that need to be answered throughout the creation process. 1. The intended audience needs to be determined. 2. Language and graphics suitable for the intended audience needs to be used. III. We can see that computer programmers have much to consider when creating a computer program.
  • 8. Computer Programming Analysis 8 A. Computer programmers need to use critical thinking often their profession. 1. Critical thinking is a very effective process when used correctly. 2. It is important for computer programmers to use critical thinking often as they have many problems they face. 3. In addition to problems that need to be solved with critical thinking they are also faced with ethical issues. B. There are many problems that computer programs face and the only way to solve these problems is with critical thinking. C. We saw the importance of critical thinking for the computer programmer. Not only is the computer programmer faced with problems that need critical thinking skills but the computer programmer is also faced with issues of ethics. It is a good computer programmer that continues to use both critical thinking and ethical standards as they create their computer programs and video games.
  • 9. Computer Programming Analysis 9 Critical thinking is the process by which individuals decide what to believe and what to do. Everyone uses critical thinking in their day to day lives, most without even knowing it. Every time we make an informed decision by analyzing the situation we are using critical thinking. There is a process by which we analyze situations using critical thinking which is summed up in the acronym IDEAS. The acronym IDEAS breaks down like so: I = Identify the problem and set priorities. o We identify the problem that the situation brings and exam the characteristics of that problem. D = Deepen understanding and gather relevant information. o As we gather relevant information about the problem we gain a deeper understanding which will assist us in finding a solution. E = Enumerate options and anticipate consequences. o As we look at all of our options for the solution we can anticipate the consequences and deductively make an informed decision. A = Assess the situation and make a preliminary decision. o By assessing the situation thoughtfully we can make a tentative preliminary decision about the steps to take to solve the problem. S = Scrutinize the process and self-correct as needed. o By carefully looking at the steps we came up with in the last step we can find any kind of problems within the process and correct these as needed to completely solve the problem.
  • 10. Computer Programming Analysis 10 The critical thinking process is used by everyone every day. There are certain professions that require critical thinking skills to solve many of the problems in their professions; one of these professions is computer programmer. There are many problems that computer programmers face that can only be solved with critical thinking. In regards to critical thinking and the computer programmer Monster.com‟s career spotlight says the following under the skills needed section for computer programmers, “Programming – Writing computer programs for various purposes. Critical Thinking – Using logic and reasoning to identify the strengths and weaknesses of alternative solutions, conclusions or approaches to problems. Complex Problem Solving – Identifying complex problems and reviewing related information to develop and evaluate options and implement solutions…Deductive Reasoning – The ability to apply general rules to specific problems to produce answers that make sense.” (Career Spotlight, 2007). There are many computer programming languages that computer programmers may use to create programs, it is up to the computer programmer to make the best decision on which programming language would be the best to use for the specific program. The computer programmer needs to perform such as actions as debugging (looking through the entire written program to see if there are any flaws in the programming language that was written). Also, the computer programmer needs to determine the best way to implement the program he/she created. These are all solved by using critical thinking and deductive reasoning. Computer programming relies on critical thinking so much that people who want to develop good critical thinking skills should learn computer programming. “Regardless of what you do, what subjects you like or what career you intend to pursue, you will need to think and
  • 11. Computer Programming Analysis 11 solve problems. And no subject trains you better for that than computer programming…Programming…takes discipline, skill, perseverance, a great deal of logical and critical thought and knowledge…Computer programming is a wonderful vehicle for teaching problem solving, logical and critical thinking.” (Kalicharan, 2005). Computer programming is so effective to use to develop critical thinking skills middle and high schools are teaching computer programming as a part of their curriculum for the purpose of developing critical thinking in children so they are better prepared after high school. “Computer programming helps develop critical thinking skills, such as how to break down a problem into manageable parts or how to put tasks into a logical sequence, as well as the importance of precise communication. „These skills are completely transferable,‟ said Lauren Bricker, a computer science teacher at Seattle‟s Lakeside School. „Students can use them to write a computer program or a history paper.‟” (Weed, 2012). In addition to critical thinking skills computer programmers go by an ethical code of conduct. There needs to be ethical guidelines set forth if a computer program is going to be right for the intended audience (e.g. no adult graphics in a child‟s video game). “I posit that in no uncertain terms, it is a strong ethical obligation on the part of the programmer to make sure that programs do, always, and only, what the user asks them to.” (Lefkowitz, 2005). It is highly important that any program that is created does what it is intended to do by the user of the program whether the user is human or computer. The following is the computer ethics code of conduct: “1) Thou shalt not use a computer to harm other people:” (Computer Ethics). It is unethical to harm others in anyway outside of the computer world so why is this any different
  • 12. Computer Programming Analysis 12 within the computer world. Computers were not designed to create a program that counts down the time on a time bomb. This would be unethical because the end result is great harm to others. “2) Thou shalt not interfere with other people‟s computer work:” (Xanatomy, n.d.). The creating of computer viruses and implanting them in other people‟s computer interferes in their computer work by destroying their files and at times their computer. “3) Thou shalt not snoop around in other people‟s files:” (Xanatomy, n.d.). It is unethical to read other people‟s e-mails and any other files that are on another‟s computer. This is invasion of privacy. “4) Thou shalt not use a computer to steal:” (Xanatomy, n.d.). It is unethical to break into a store likewise it is unethical to break into company computers to steal account information and any other information they may have stored on their computer. “5)Thou shalt not use a computer to bear false witness:” ( Xanatomy, n.d.). Creating any computer program for the sole purpose of spreading rumors or other lies is unethical. “6) Thou shalt not use or copy software which you have not paid:” (Xanatomy, n.d.). To use or copy any type of software is unethical. It is actually theft and a computer programmer that creates a program to assist in this unethical act is guilty of this. “7) Thou shalt not use other people‟s computer resources without authorization:” (Xanatomy, n.d.). It is unethical to hack or break into a computer system by bypassing the username and password login. This is normally accomplished by a computer programmer creating a program to figure out the password and break it. The hacker then uses the memory and time allocations of the hacked computer which is unethical.
  • 13. Computer Programming Analysis 13 “8) Thou shalt not appropriate other people‟s intellectual output:” (Xanatomy, n.d.). Intellectual output is any computer program. The intellectual output belongs to the creator and the computer code is not to be copies and used as one‟s own without proper authorization. “9) Thou shalt think about the social consequences of the program you write:” (Xanatomy, n.d.). It is unethical to write a computer program that may be harmful to society in any way (e.g. a video game that is intended for small children that has adult image and languages is unethical because it is harmful to children.) “10) Thou shalt use a computer in ways that show consideration and respect:” (Xanatomy, n.d.). This form of ethics is often referred to as netiquette. It is unethical to not treat people with respect while communicating with them. This applies both offline and online. Critical thinking is a very effective process when used correctly. It is important for computer programmers to use critical thinking often as they have many problems to face. In addition to problems that need to be solved with critical thinking they are also faced with ethical issues. There are many problems that computer programmers face and the only way to solve these problems is with critical thinking. We saw the importance of critical thinking for the computer programmer. Not only is the computer programmer faced with problems the need critical thinking skills but the computer programmer is also faced with ethical issues. It is a good computer programmer that continues to use both critical thinking and ethical standards as they create and implement their computer programs and video games.
  • 14. Computer Programming Analysis 14 Heuristic Reflection It is of great importance to have excellent critical thinking skills as a computer programmer. As a computer programmer I will use these skills to solve the many problems that computer programmers face daily. The method of thinking that is most beneficial to me both in my personal life and professional life is critical thinking. Critical thinking offers the most logical and reasonable method for problem solving. As a critical thinker every problem that is faced in life can be solved. Computer programmers face many problems that need to be solved on a daily basis. Some of these problems include what programming language to use for a specific program, implementation of the program that was created, best method of coding the program, solving problems within the program code in the event a bug (problem) is found, in addition to these problems computer programmers face ethical issues when creating programs. At times, computer programmers will need to pose arguments to team managers, team members or potential clients on a possible program idea. These arguments can also include the programming language to use or proper implementation of a program that has been created. The method of critical thinking provides us with the tools to give qualitative and valid arguments. There are many programming languages that a computer programmer has available to them to use. Each of these computer languages has qualities that would be more beneficial to the programmer when used properly. For example, Java programming can be used on any mobile phone so when creating a mobile phone app or game the programmer would need to use the Java programming language.
  • 15. Computer Programming Analysis 15 There are other factors that the programmer needs to take into account when creating a program such as the programs intended purpose. For a program that has the ability to ask the user for information and store it into a database it would be beneficial for the programmer to use the Visual Basic computer language. Visual Basic make it easy for the programmer to create forms and add controls to the form such as “create record”, “add record”, or “save file”. All the programmer would then need to do is tell the control button what to do by entering the proper instructions. Critical thinking skills are used to make these programming decisions by evaluating the situation. There are also ethical decisions that computer programmers need to make. Computer programmers need to take into account who the end user of the program is going to be and the intended purpose of the program. If the program is intended to be a game for small children to teach them math it would be unethical to put adult language and graphics within the game. Likewise it would be unethical for the programmer to create the program with college algebra students in mind because that is not the program‟s intended purpose.
  • 16. Computer Programming Analysis 16 Works Cited Career spotlight: computer programmer. (2007). Monster: Inside Tech. Retrieved from http://insidetech.monster.com/careers/articles/77-career-spotlight-computer-programmer Lefkowitz, G. (2005, November 13). Ethics for programmers: primum non nocere. Retrieved from http://glyf.livejournal.com/46589.html Kalicharan, N. (2008). Developing thinking skills with computer programming.Bright Hub. Retrieved from http://www.brighthub.com/computing/windows-platform/articles/6469.aspx Weed, J. (2012, February 10). Lots of options for getting students into computer programming.The Seattle times. Retrieved from http://seattletimes.com/html/businesstechnology/2017479540_ptteentween11.html Xanatomy.(n.d.).Computer ethics. Retrieved from http://www.cmpe.boun.edu.tr/~say/c150/intro/lit10.html
  • 17. Computer Programming Analysis 17 Annotated Bibliography Career spotlight: computer programmer. (2007). Monster: Inside Tech. Retrieved from http://insidetech.monster.com/careers/articles/77-career-spotlight-computer-programmer This is an in depth explanation of the skills that are required for computer programmers to possess. Among these skills are critical thinking and problem solving. The relevance of this article to my topic is the article gives an in depth explanation of what skills the computer programmer is required to possess including ways computer programmers use critical thinking skills. Lefkowitz, G. (2005, November 13). Ethics for programmers: primum non nocere. Retrieved from http://glyf.livejournal.com/46589.html This forum post goes into detail on the importance of ethics and computer programming. As a part of my topic I am going to describe the ethical code that Computer Programmers must go by to be successful and moral. Kalicharan, N. (2008). Developing thinking skills with computer programming.Bright Hub. Retrieved from http://www.brighthub.com/computing/windows-platform/articles/6469.aspx This is an in depth analysis of the importance and benefits of learning computer programming. My topic is on computer programming and critical thinking and one of the benefits of learning computer programming is developing critical thinking skills. Weed, J. (2012, February 10). Lots of options for getting students into computer programming.The Seattle times. Retrieved from http://seattletimes.com/html/businesstechnology/2017479540_ptteentween11.html
  • 18. Computer Programming Analysis 18 This article highlights the importance of a student based computer programming class for grade school and high school students. The purpose of teaching computer programming at the grade school and high school levels is to develop critical thinking skills at a young age. These skills can transfer to all areas of their lives. This is relevant in for my topic because the article speaks about the correlation between computer programming and critical thinking. Xanatomy.(n.d.).Computer ethics. Retrieved from http://www.cmpe.boun.edu.tr/~say/c150/intro/lit10.html This online document lists the ethical code that all computer users should follow. Ethics is an important part when it comes to computer programming. In addition to the importance of critical thinking skills in computer programming I am also going to write about the ethical standard that computer programmers must go by.