Vous êtes sur la page 1sur 17

Logical Thinking as the Most Effective Way to Solve Programming Problems among the

Selected Sophomore Students of the College of Computer Studies in Silliman University,


S.Y 2015-2016.

Jonel Jay Dahili


BS Computer Science-III

Noeh Myll Baladjay


BS Computer Science-III

Ace Ebrole
BS Information System-III

Prof. Joan Generoso

BC 25 D
TOPIC OUTLINE

Logical Thinking as the Most Effective Way to Solve Programming Problems among the
Selected Sophomore Students of the College of Computer Studies in Silliman University, S.Y
2015-2016.

Thesis: While there are many ways to solve programming problems like copying written codes
from the internet or using step by step process, logical thinking is the most effective way in
solving programming problems.

I.

Introduction
1.1)Background
Programming is a way how programmers communicate with computers. There are
many ways in solving programming problems. We will be focusing on how the
students use their logical thinking to solve programming problems.
1.2)Thesis
While there are many ways to solve programming problems like copying written
codes form the internet or using step by step process, logical thinking is the most
effective way in solving programming problems.

II.

Body
2.1) Involves moving from one related statements to another.
A. Antecedents
B. Consequents
2.2) Involves problem analysis.
A. Defining the problem.
B. Analyzing the problem.
C. Developing the possibilities
D. Selecting the best solution

2.3) Involves a natural skill to a programmer.


III.

Conclusion

Sentence Outline
Logical Thinking as the Most Effective way in Solving Programming Problems among the
Selected Sophomore Students of the College of Computer Studies in Silliman University,
S.Y 2012-2016
Thesis: While there are many ways to solve programming problems like copying written codes
from the internet or using step by step process, logical thinking is the most effective way
in solving programming problems.
Introduction: Programming is the way how programmers communicate and make softwares to
improve our computers. Since our computer can only understand binary language by
means of 1s and 0s which is interpreted by logical gates as on and off signals
programming enables us to create and modify new softwares. Without programs our
computers are bulk machines since softwares are needed as much as the hardware
components of the computer. A lot of us are having difficulties at our first time
encounters but with constant practice we can be good at it, which would be the same with
programming you will have difficulties at grabbing the concept on how it works but later
you will find it easy. There are many skills that we can develop but programming is one
of those skills that is quite unique because not all people are interested in it or not all
people know technical computer related stuff. First time programmers may have
problems when they try to program because of how complicated it is in dealing with
codes and programming problems. New programmers might copy written codes from the
internet or use step by step process, using logical thinking is the most effective way to
solve programming problems.

Mode of presentation: This paper presents the discussion on why logical thinking is the most
effective way in solving programming problems. It also discuss how logic correlates with
programming and how it greatly affect in solving programming problems.

2.1) Logical thinking involves moving from one related statements to another.
A. Antecedent is a statement that existed before or logically precedes
another statement.
B. Consequent is statement that that follows another statement.
2.2) Logical thinking involves problem analysis.
A. Programmer needs to define the problem.
B. Programmer needs to analyze the problem.
C. Programmer needs to develop possibilities after analyzing the problem.
D. Programmer needs to select the best solution from different possibilities.
2.3) Logical thinking involves a natural skill to a programmer.
III. Conclusion: The above discussion shows that logical thinking is very useful in programming
and thus, logical thinking as the most effective way to solve programming problems among the
selected sophomore students of the College of Computer Studies in Silliman University, S.Y
2015-2016.

Logical Thinking as the Most Effective way in Solving Programming Problems among the
Selected Sophomore Students of the College of Computer Studies in Silliman University,
S.Y 2015-2016

Programming is the way how programmers communicate and make softwares to


improve our computers. Since our computer can only understand binary language by means of
1s and 0s which is interpreted by logical gates as on and off signals, programming enables us to
create and modify new softwares. Without programs our computers are bulk machines since
softwares are needed as much as the hardware components of the computer.
With many possibilities and convenience the technology has brought to us, it is not a
common issue for a person having difficulties using computer for the first time, although with
constant practice we learn and even master the use of computer over a period of time. There are
many skills that we can develop, but programming is one of those skills that are quite unique
because not all people are interested in it or not all people know technical computer related stuff.
In programming it is obvious that we cannot be good at something at first try and we also need to
consider that a person will only be good in this area if he/she is interested in doing so. New
programmers might think it is hard to code but sometimes you just need to think outside of the
box in order to solve programming problems.
According to Anton Spraul (2012): Solving programming problems is a hard skill to learn it
always takes time and practice, it needs to be sharpened by regularly practicing the skill. One of
the factors is because constant learning and analyzing program codes are different from learning

because each of them uses different sets of mental muscles. The left brain is mostly in charge in
reading and analyzing codes in a program, learning programming syntax and memorizing the
elements of an application programming interface. While the right side of the brain is responsible
for creativity like coding your program from scratch or using the tools that you have previously
learned.
There are plenty of skills that a person can develop to become a well-rounded person like
playing an instruments, writing, speaking and etc. However in programming it is somehow
unique because its a practical tool that can be used in everyday learning, it provides plenty but
not pointless knowledge in our brain. In computer programming, when a programmer codes
certain software, he/she can expect the results of his software because his mind logically deduced
some results from he/she coded
According to Ibrahim, Ismail and Raza (2015) study, they stated the following:
High algorithmic and logical reasoning skills are likely to be the most important skills
required in learning programming. These skills determine the students capabilities in
providing solutions through the problem-solving strategies and techniques.
Students in computer studies department need to pass first their Philosophy 31
(Introduction to Logic) to begin their programming courses. Organizing and writing of programs
is about how to express knowledge in a precise way that both you and the computer can read. It
is important that other programmer should be able to read your programs, including the creator
of the program itself. If you write programs and revisit them later and you can't read them then
you wrote the program wrongly in the first place.

In College of Computer Studies in Silliman University, around 85% has a grade of a passing
grade in Philosophy 31 and 92.11% of this thinks that Philosophy 31 (Introduction to Logic) is
necessarily a pre-requisite to programming. This means that Philosophy 31 helps them to code
programs. Logical thinking is one of the very basic skills for a programmer and a student must
pass this course before going to programming. As stated in Turners (2016) website: The
philosophy of computer science is only concerned in the scope of philosophical issues that
occurs within the academic discipline. It intends to pinpoint that computer science is a part of the
philosophy of mathematics and technology a part of philosophy of technology. The nature of
computer science is abstract and is coupled with technological ambitions it proves that
conceptual questions that are in the philosophies of math and technology have computational
analogues. The subject talks mainly about philosophies of mind, language and science. It is going
to concentrate on a group of topics, these include specification, implementation, semantics,
programming, abstraction and computation.
Thus, among the ways stated above, logical thinking is the most effective way in
solving programming problems among selected sophomore students of the College of
Computer Studies in Silliman University in SY 2015-2016.
This paper presents the discussion on why logical thinking is the most effective way in
solving programming problems. The first part discusses how logic correlates with programming
and how it greatly affects in solving programming problems. Second part talks about logical
thinking involves problem analysis. The third part is reasons that logical thinking is a natural
skill to a programmer.
Logical thinking involves moving from one related statements to another.

These related

statements are called conditional statements. In logic, a conditional is a compound statement

formed by combining two sentences or facts (antecedents and consequents) using the words "if ...
then." Conditional statements are a bit complicated. They often have the form "If hypothesis,
then conclusion." For example, "If Pirates of the Caribbean is closed, then we should try the
Haunted Mansion," These statements play a large role in mathematics as well, and it is important
to recognize their precise meaning. The statement: "If a number ends in 0, then it is divisible by
2." This says nothing about numbers that do not end in 0; they may be divisible by 2 (for
example, 4) or they might not be (like 5). Mathematicians often use symbols and tables to
represent concepts in logic. The use of these variables, symbols and tables creates a shorthand
method for discussing logical sentences. Cogan (1998) stated in his book that in solving
programming problems logic is widely used like symbolic logic wherein it uses conditional
statements an example of this is If P, then Q. A conditional statement can also be considered as
a compound statement. A conditional statement is standardly started with an If. An antecedent
is symbolized as P and it covers from the end of If up to then. And a consequent is The part
after a then clause and it is often represented by Q. The author explains on how conditional
statements are used and how important they could be in our daily lives Conditional statements
are extremely important in many sorts of reasoning. They are also important in contracts and
promises . A statement should always be reviewed and it must be understood because you may
misinterpret what the conditional statement says or implicates.
In programming, conditional statements is one of the most basic features of computer
language. The computer performs different computations depending on what the programmers
condition in the program. This statements are important because when a program demanded the
conditions, there will only be two answers, yes or no. Conditional statements are the statements
that change the path of logic in a program. Without that a program couldn't make decisions and

come up with different results. And the other reason that makes the conditional statements
important is because you can loop these statements. It means that you can ask different
conditional statements as many times as you want as long as you needed these questions. In most
of programming languages loops and conditional statements are one of the basic fundamentals
that a programmer must learn before going into modular programming. One of the reason why
loops and conditional statements are being utilized is because it would be ineffective and
inefficient if you would repeat your codes by manually coding them, it would also take time in
developing an application or software. Conditional statements also allows programmers to fully
take control on how a program must flow and how processes are being done, this also allows the
program to be efficient because you can write codes that are more effective and shorter and also
uses less memory space. A lot of third and fourth generation programming languages support
conditional statements. Even though they are all using the same structure but the languages differ
from each other, these concepts are generic in programming languages but they are implemented
in a different syntax.
Conditional statements say nothing about what happens when the antecedent in your
program fails. In other words, a conditional statement says, "Either the antecedent is false, or the
antecedent and consequent are both true." This is the most common pitfall for programmers. If
the antecedent is false, anything can happen and because of this, we say that it's still true. This
means not sometimes, antecedent in the program might be false but the consequent is still true
but the consequent cant be false if the antecedent is true.
We can think of conditional statements as rules. When looking at any other statement, we
can ask whether or not it abides by the rule. If the statement follows the rule, we say it is
consistent. If it doesn't follow the rule, we say it is inconsistent.

Logical thinking involves problem analysis. Philosophy use problem analysis for
winnowing the truth from lies and delusion. Creating a program means that a programmer knows
the true and false, the correct and incorrect outputs of the program or correct and incorrect
answers of the problem. Programmers are using the computer as a problem-solving tool, this
means that programmers must have good analysis of the problem. Programmers use these
analytical tasks to increase the designers understanding of the problem. A programmer must
understand first the problem. We need to understand first the people who find the situation
troubling. In a programmers case, it is the users that who find the situation troubling. We need to
understand them first and understanding them is the first step of problem analysis.
The first step of problem analysis is a programmer needs to find the right problem to
solve first. Every codes of a program start with a problem. The mere collecting of facts,
regardless of how the precise the procedures and techniques that are used, does not solve a
programming problem. A programmer needs to know first what the problem to develop possible
solutions.
The second step is defining the problem. With this, it gives direction to the analysis. It is
directed toward the attainment of specific aims. To understand the problem means it enables the
programmer to direct his efforts insightfully. He avoids running after intriguing but false notions.
If he knows the nature of the problem, he knows what to look for, where to look for it and when
it can be expected to occur. According from the book of Brown and Ghisselle: (pp. 134) with
methods and procedures being revealed, he knows what to do next with his program and how
will it work. Knowledge about the problem aids in controlling the bias. A thorough knowledge of
the problem lessens the opportunity if the biases of the programmer. With these biases, a

program wont work properly. It will give wrong outputs and may cause problems now or in the
future.
Creating possibilities after knowing the problem is the third step of problem analysis.
Creating hypothesis or possibilities about the output of a program can help a programmer on how
to build a good program. It is a conjecture a conjecture or best guess which involves a condition
that has not yet been demonstrated in fact but that merits exploration. It may be framed as a
potential solution to a problem, or as an explanation of some unknown fact. (Brown & Ghiselli,
1995, p.5). One of the important functions of hypothesis is that its served as explanation. The
hypothesis is a possible answer to your question. It doesn't matter if the hypothesis is "correct" or
not, but it is important because it will help the programmer to focus on the
experiment/investigation on the problem. Just programming to see what is the output is likely to
result in a vague and unhelpful. Making a hypothesis first will help the programmer to decide
what to vary and what to keep constant - and what to measure.
The fourth step is collecting facts. This is when you try to create a program from the
programmers hypothesis. Pp. 178. By testing the hypothesis or theorems, we know what works
and what not. To know if the program works, a programmer needs to test it and change some
things if he thinks that there is something wrong with the code. Even big companies apply
problem analysis for this part. Testing errors or so called bugs are important because almost
new programs have these bugs. This testing is needed because a programmer need to evaluate
and detect differences between the given input and expected output. This also is needed to assess
the feature of a program. Testing assesses the quality of the program. Hypothesis testing is a
process that should be done during the development process. In other words testing is a
verification and validation process.

After collecting facts, organizing and analysis of data is the next step. Brown and Ghiselli
(1995) stated that the general purpose of the organization and analysis of data is to derive
meanings by which results of an investigation can be correctly interpreted. The data as collected
in an experiment, survey, interview, or other type of study are often not organized or arranged
with particular reference to the problem at hand. In a programmers case, he should know what
codes will and will not work in his program. He must know what inputs he needed and how his
programs work with this input. With the hypothesis testing, he knows what methods are the best
for his programs. He might create functions for his program or try to analyze other concept from
other programmers. Relating or using classification of facts to the hypothesis needed in this step.
The hypothesis stated or implied certain consequences which presumably would follow from the
conditions of the experiment. Classification arranges the data to determine if the consequences
obtained are the same as those stated or implied at the beginning (Brown & Ghiselli, 1995).
The last step of problem analysis is generalizing from the data gathered. This step is
where the programmer will evaluate and apply the findings obtained from his data. His interest is
in learning what significance these findings have for the hypothesis he was studying. This
process of discovering and stating the implications of the results of his hypothesis leads to
logical facts of his investigations. Brown and Ghiselli (1995) stated that in addition to containing
the solution of the problem for which it was organized, each completed investigation put forward
tentative solutions of related problems and raises additional question that need to be studied. In
programming, there are some issues which come up in generalization. To fix those issues patches
are released. Also to enhance the product some better versions are released. Maintenance is done
to deliver these changes in the customer environment. Maintenance are needed because newly
created programs might have still unknown errors and it wont show up unless something

triggered this error. This prevents the value of the program to degrade. The purpose is to preserve
the value of software over the time.
The job of problem analysis is to provide an objective, standardized approach to
conducting experiments and, in doing so, improves their results. It involves philosophy because
must assume the stability and predictability of the universe. Philosophers must assume the
axiomatic nature of logic which they use without testing. Thats why they create hypothesis and
tries to conduct experiments based on their hypothesis. A part of computer programming is based
on philosophy thats why most of the time problem analysis is needed in programming. This
helps the programmers build a better program.
Logical thinking is a natural skill to a programmer. In philosophy, logical thinking the
ability to think clearly and rationally about what to do or what to believe. It includes the ability
to engage in reflective and independent thinking. Logical thinking is not a matter of
accumulating information. A person with a good memory and who knows a lot of facts is not
necessarily good at critical thinking. A logical thinker is able to deduce consequences from what
he knows, and he knows how to make use of information to solve problems, and to seek relevant
sources of information to inform himself. We take position on a given issue, but if the issue
matters to us, we want to be able to support our position. This is where arguments come in, we
want to support our position. (Moore & Parker, p.5). In programming, you need arguments like
the if-else statements to create programs. These statements are useful because this set the rules of
the program. With these arguments in the program, you need to know what antecedents and
consequents to use. This will guide the programmer on what is the output of his program from
his input. Logical thinking is a basic skill for a programmer to have because of these arguments.

A programmers know what arguments to put will know can make hypothesis for what will be the
outputs of the program. He will know what conditional statements to use.
In present times, our capabilities can massively augmented by machines. While being
able to simply ask the machine for what you need gives you some results, knowing how to
clearly tell it what to do, can give you more personalized results and make any automatable tasks
easier to automate. Programming is really hard for new students because it is very technical and
most of students are unfamiliar with it. Students should learn how logical thinking works and use
this to improve their skills in making programs. In this research paper, it is shown that logical
thinking can help students solve programming language. Thus, logical thinking as the most
effective way to solve programming problems among the selected sophomore students of the
college of computer studies in Silliman University in SY 2015-2016.

References

Cogan, R. (1998). Critical Thinking: Step by Step. Oklahoma: University Press of


America.
Fisher, J. (2008). On The Philosophy of Logic. California: Thompson Wadsworth
Publishing Company.
Goodliffe, P. (2014). A Handbook for People Who Care About Code. In P. Goodliffe,
Becoming a Better Programmer (p. 50). Chicago: O'Reilly Media, Inc.
Harlow, H. (1955). Scientific Method in Psychology. New York, USA: Mc-Graw Hill
Book Company, INC.
Ismail, M. H. (2005). CCSME 2015 Proceedings. Pakistan: Ferozsons Limited
Publications.
Malik, D. (2012). From Problem Analysis to Program Design. In D. Malik, C++
Programming (p. 1024). California: Cengage Learning.
Parker, R. (2004). Critical Thinkig. In B. Moore, Critical Thinking (p. 5). California:
McGraw-Hill Book Co.
Spraul, A. (2012). An Introduction to Creative Problem Solving. In A. Spraul, Think
Like a Programmer (p. 102). Boston: No Starch Press.
Tucker, A. (1996). Fundamentals of Computing I. New York: McGraw-Hill Book Co.
Turner, R. (2006). The Philosophy of Computer Science. Denver: Cengage Learning.

Vashisht, P. (2008). Basics of Computer Science. In P. Vashisht, Basics of Computer


Science (pp. 230-231). New Delhi: ANMOL PUBLICATIONS PVT.LTD.

Vous aimerez peut-être aussi