Upload
eyyarr-ghelo
View
219
Download
0
Embed Size (px)
Citation preview
7/24/2019 Chapter 1 Wance
1/22
CHAPTER I
THE PROBLEM AND ITS BACKGROUND
Introduction
Programming is a fundamental part of Information and Communication
Technology (ICT) Curriculum, though it is often problematic for students. It is
well-known that many student eperience difficulties in learning and practicing
programming. To become a good programmer, a student must ac!uire a series of
abilities that go well beyond knowing the synta of some programming
languages.
"earning Programming re!uires full effort and special approach in the way
it is learned and taught. Thus, this study focuses on the difficulties encountered in
C## programming language as percei$ed by sophomore students of %achelor of
&cience in Information Technology in Polytechnic 'ni$ersity of the Philippines
&anta osa Campus. This study will also help the teachers and students address
the problem in its early stage to a$oid other problems in the future.
Background of t! Stud"
The C## programming language was originally de$eloped by T*T %ell
"abs in +urray ill, ew ersey, starting in /010 by %2arne &troutstrup, as an
enhancement of the C "anguage. It is regarded as a middle-le$el language, as it
comprises a combination of both high-le$el and low-le$el language features. C##
7/24/2019 Chapter 1 Wance
2/22
is a statically typed, compiled, general-purpose, case-sensiti$e, free-form
programming language, ob2ect-oriented and generic programming. The
"anguage is also widely used for teaching and research because it is clean
enough for successful teaching of basic concepts.
"earning how to make a computer program is a $ery hard work. There are
such things that one must work on when starting out with programming like
familiari3ing with the syntaes, sol$ing machine problems, debugging program
error, critical thinking, analysing the program flow and more. onestly speaking,
programming is inherently difficult to understand especially for no$ice
programmers. %ut practicing could impro$e one4s programming skills.
The researchers obser$ed that se$eral 5irst 6ear students in %achelor of
&cience in Information Technology failed their programming sub2ect at the end of
the semester. &o the researchers came up with this study to help and gi$e
possible solution in the difficulties eperienced or encountered by &econd 6ear
students of %achelor of &cience in Information Technology in their programming
sub2ects. In addition, the possible solutions that researchers may gi$e are online
tutorials and organi3ing group studies to help them impro$e their programming
skills.
7/24/2019 Chapter 1 Wance
3/22
T!or!tica# $ra%!&ork
C## programming language is one of the first and ma2or sub2ects of an
Information Technology student. nd like all other sub2ect, some to most students
eperience difficulties in $arious topics or parts of the sub2ect. "earning is not a
simple thing. In cogniti$e psychology, learning something new re!uires a
comple array of mental processes such as attention, language used, memory,
perception, creati$ity, thinking and problem sol$ing skills. 7arious students can
differ in terms of how their brain interpret and analy3e information. This gi$es the
idea that different student learn differently or that different topics or sub2ects
affects how the student percei$es the sub2ect. This can also be affected by
$arious factors like a student4s en$ironment.
The theory of constructi$ism states that learners are not passi$e
recipients of information, but that they acti$ely construct their knowledge in
interaction with the en$ironment and through the reorgani3ation of their mental
structures. 8hen a student fails a !ui3 on a specific sub2ect, that student will find
the answer to that !uestion easier and will remember it through eperience.
There are also cases where the student only eperience difficult at the start of
the learning process then finds the sub2ect easier once they understand the
basics. 9ifferent students ha$e their own en$ironment and factors that differ from
that of their classmates. &ome howe$er, would find the same sub2ect difficult due
to the fact that the sub2ect is too hard or comple as it is.
7/24/2019 Chapter 1 Wance
4/22
Stat!%!nt of t! Pro'#!%
This study aims to determine the difficulties encountered in C##
programming language as percei$ed by sophomore students of %achelor of
&cience in Information Technology in Polytechnic 'ni$ersity of the Philippines
&anta osa Campus, 5irst &emester, cademic 6ear :;/
/. 8hat is the profile of the respondents in terms of>/./ &ection?/.: @ender?
:. 8hat part of the C## programming language does the respondents
eperiencing difficulties in terms of>:./ 7ariable 9eclarations?:.: Initiali3ation of 7ariables?:.A Input and Butput &tream?:. Bperators?:.< Conditional &tatements?:.= "ooping?:.1 rray?:.D Pointers?:.0 7oid 5unction? and:./; 5ile andling.
A. 8hat are the common errors in C## programming language does the
respondents encountering difficulties in terms of>A./ In$alid symbols or keywords?A.: +ismatched symbols?A.A +issing symbols? andA. Ecessi$e symbols.
7/24/2019 Chapter 1 Wance
5/22
H"(ot!)i)
The following null and alternati$e hypothesis was tested in this study>
The students are not eperiencing significant difficulties in manipulating
and utili3ing $ariable declaration, initiali3ation of $ariable, input and output
stream, operators, conditional statements, looping, array, pointers, $oid function.
The students are not encountering significant difficulties in programming
errors such as mismatched symbols, in$alid symbols, missing symbols, and
ecessi$e symbols.
The students are eperiencing significant difficulties in manipulating and
utili3ing $oid functions, pointers, file handling, arrays, and conditional statements.
The students are encountering significant difficulties in programming
errors such as mismatched symbols, in$alid symbols, missing symbols, and
ecessi$e symbols.
Significanc! of t! Stud"
This study is significant to students, parents, teachers, researchers, and
future researchers.
Stud!nt)
7/24/2019 Chapter 1 Wance
6/22
This study will help them to think for some important ad2ustments to sol$e
their problem as well as to help them impro$e their capabilities towards learning
C## programming language.
Par!nt)
This study will help them to lessen their worries about the academic status
of their children.
T!ac!r)
This study will help them to ha$e an effecti$e strategy on teaching C##
programming language.
R!)!arc!r)
Through this study, the researchers would be able to find solutions in
handling the difficulties encountered in C## programming language as percei$ed
by the students.
$utur! R!)!arc!r)
This study will ser$e as guide for further studies to be conducted in the
future. This study will also pro$ide reference for them to get ideas and sources if
they are going to conduct the same study.
Sco(! and Li%itation
7/24/2019 Chapter 1 Wance
7/22
This study focused mainly on determining the difficulties encountered in
C## programming language of sophomore students of %achelor of &cience in
Information Technology in Polytechnic 'ni$ersity of the Philippines.
The scope of this study is the sophomore students of %achelor of &cience
in Information Technology in Polytechnic 'ni$ersity of the Philippines in an etent
that they encounter difficulties in programming. The %achelor of &cience in
Information Technology :-/ consists of forty-se$en (1) students on the other
hand, the %achelor of &cience in Information Technology :-: which consists of
forty nine (0) students. ll in all, there were ninety si (0=) students in$ol$e in
this study.
CHAPTER II
RE*IE+ O$ RELATED LITERATURE AND STUDIES
This chapter presents the re$iew of the related literatures and studies
regarding topic about 9ifficulties encountered in C##programming language as
percei$ed by sophomore students of Polytechnic 'ni$ersity of the Philippines
7/24/2019 Chapter 1 Wance
8/22
&anta osa Campus. t the outset of this study, the researchers are engaged in
gathering information related to the research studies and literatures that ha$e
bearing and significance to the study.
$or!ign Lit!ratur!
Bn the difficulty of learning to program, (Tony enkins :;;:) said that FIt is
sometimes argued that the students who Gnd programming difficult are simply
those for whom programming is difficultH. e also stated that there is nothing
inherently difficult in the sub2ect? the argument is simply that some students ha$e
no aptitude for programming. The re!uired skills often cited are problem sol$ing
ability and mathematical ability.
It is the foregoing connection that he also stressed that the link between
mathematical ability and programming is widely accepted, although its empirical
demonstration is !uestionable. In addition, there is little e$idence that either has
any signiGcant effect. recent study in Ireland (Pat %yrne and @erry "yons,
:;;/) has once hinted at some connection between programming aptitude and
eperience in mathematics and problem sol$ing. long with it, an eperiment at
the 'ni$ersity of "eeds (ohn 9a$y and Tony enkins, /000) designed to stream
a programming class based on the results of an aptitude test aimed at these two
skills but the Gnal results of the course showed no signiGcant correlation between
the calculated aptitude and the Gnal grade. Bther studies (@eneral E. E$ans and
+ark @. &imkin, /0D0) ha$e shown that no demographic factor is a strong
predictor of success in programming.
7/24/2019 Chapter 1 Wance
9/22
+oreo$er, 9ianne agan and &elby +arkham (:;;;) said that it certainly
helps to ha$e some eperience of programming before starting a programming
course but this is not the same thing as aptitude. There eists programming
aptitude tests (PT) produced by I%+, but the e$idence for their effecti$eness is
inconclusi$e at best ("awrence . +a3lack, /0D;). If it is not possible to measure
aptitude for programming in some con$enient way, and if it is possible that
aptitude for programming does not e$en eist, the focus for the understanding
the difficulty of learning to program must turn in a more cogniti$e $iew of the
problem lies in the sub2ect itself (T. enkins, :;;:).
ccording to Jathryn 9. &loane and +arcia C. "inn (/0DD), programming,
then, is not a single skill. It is also not a simple set of skills? the skills form a
hierarchy, and a programmer will be using many of them at any point in time. s
cited by C. %ereiter and E. g (/00/), a student faced with learning a hierarchy
of skills will generally learn the lower le$el skills first, and will then progress
upwards. In the case of coding (one small part of the skill of programming) this
implies that students will learn the basics of synta first and then gradually mo$e
on to semantics, structure, and finally style. Teachers will be all too familiar with
the student who produces programs with no indentation, intending to indent it all
later, or without any comments, content to add these later (and only then
because there are marks for the comments in the assessment). 5urther, (Tony
enkins, :;;/) stressed that no eperienced programmer would work in this way,
and these are bad habits to fall into, but this is an ine$itable side effect of the
order in which programming skills are learned. This approach to learning is often
7/24/2019 Chapter 1 Wance
10/22
reinforced by lectures that concentrate on the details of synta, and by tetbooks
that adopt much the same approach. This leads to the student who hopes to
gain an understanding of programming and plans to achie$e this by reading a
tetbook. Programming is learned by programming, not from books.
In sustenance to the foregoing, (+cJeithen Jatherine et.al, /0D/) alleged
that programming is not only more than a single skill? it also in$ol$es more than
one distinct process. t the simplest le$el the specification must be translated
into an algorithm, which is then translated into program code. In eperienced
programmers it is also possible to identify an intermediate process whereby the
algorithm is mapped to something resembling a recipe for the programme,
based on pre$ious eperience
+eanwhile, Tony enkins (:;;/) cited that the most difficult part of multiple
process of Programming is first, translating the specification into the algorithm.
This is also the most important, as it is crucial that a correct and efficient
algorithm is used as the basis of any coding. @i$en a correct algorithm the other
processes are essentially mechanical. Therefore, a student must master three
distinct processes. e also mentioned that teaching and learning, howe$er, can
concentrate on the low le$el issues of synta at the epense of the higher le$el,
more comple, and process of designing an algorithm. 8orse, any consideration
of algorithm design and efficiency can be relegated to another, apparently
unrelated, part of the course. In any case there is surely little point in lecturing
students on synta when they ha$e no idea of where and how to apply it.
Teachers will be familiar with students who can follow the lectures in the
7/24/2019 Chapter 1 Wance
11/22
programming course, who can dissect and understand programs, but who are
totally incapable of writing their own program. They ha$e not mastered all the
processes? they can code, but they cannot produce an algorithm.
Loca# Lit!ratur!
n article published on [email protected] shows an inter$iew with Tim oseph
9umol, chief acker of Jalibrr. Tim is an acti$e competitor in programming
contests, such as C+ ICPC Philippine In$itational Programming Contest (/st),
C+ ICPC akarta egionals :;/: (0th) @oogle Code am :;// (ank 1D= of
ound :) and +anila 9e$ Challenge (%est Performance in the preliminaries).
In the inter$iew, he was asked about his $iew on Philippine tech and its
potential, he said that there might be more talent shortage in the upcoming years,
FI donKt think software de$elopment is $isible enough in the public consciousness
to attract top talent towards it. I also think that programming and computer
science education in the Philippines is se$erely lacking. IK$e heard of se$eral
schools that teach +& 8ord, PowerPoint, and Photoshop for their computer
classes, which misleads potential computer scientists as to what computer
science actually is.H e4s last statement to the !uestion was FI think without
proper training on the foundations of computer science, future programmers will
be ill prepared to face no$el problems and to truly ecel in their fieldsH.
long with it, an article was written by fydesign, a web design company
focused on web de$elopment of corporate websites, e-commerce and search
engine optimi3ation, about the !uality of 5ilipino programmers that applied for a
7/24/2019 Chapter 1 Wance
12/22
2ob in their company. The articles shows that only < out of the D/ applicants ha$e
answered a problem in the inter$iew correctly and none of those < were able to
answer it efficiently. The skill e$aluation consists of two simple eams> 7ariable
&wapping to test your resourcefulness and &huffling to test the applicant4s coding
efficiency.
9ue to the result of the inter$iew, the inter$iewer or writer of the articles
narrowed the three problems, the first one was the +isconception on Eperience.
They say that eperience isn4t much of a factor since It4s with an a$erage of 1
years4 eperience can4t answer the two !uestions. It is stated in the article that if
a person will F@i$e a month to a new graduate with an outstanding knowledge in
programming concepts, problem-sol$ing or logic formulation skills and he can
e$en eceed your a$erage 1-year eperienced programmer.H The misconception
on the years of eperience is one factor the programmer slows down or e$en
stops learning.
The second problem was in the low !uality of education. big factor in the
worsening !uality of programmers is the institution. IT &chools focus more on
teaching specific programming languages and programming synta instead of
programming concepts. The author stated the learning the concept is more
important that hand4s on eperience. The last one was the lack of passion, FIt all
starts within you (programmer). In the first place, why take the Computer &cience
Course if all they want is design, photography, nursing, agriculture, housewife,
etc. They will ne$er succeed, and they will ne$er look for opportunities to
7/24/2019 Chapter 1 Wance
13/22
impro$e. This is normally the beha$iour if what they do is not something that you
really lo$e.H
$or!ign Studi!)
The study of +atthew %utler and +ichael +organ (:;;1) introduces the
F"earning challenges faced by no$ice programming students studying high le$el
and low feedback conceptsH. This study is conducted at +onash 'ni$ersity in
&ingapore where %utler and +organ are both 5aculty of Information Technology
in the said 'ni$ersity. The researchers had shown the approimate arrangement
of the curriculum and list of the notional le$el of conceptual difficulty of the
sub2ect matter for the basis of their study. The researchers ha$e a total of /=1
respondents for their study.
+atthew %utler and +ichael +organ conclude the following statements>
n analysis of the sur$ey data has pro$ided a large number of insights into study
habits and challenges faced by no$ice students. It was clear that elements of
program design pro$ed to be among the most challenging aspects of introductory
programming curriculum. Indeed the elements of the curriculum of a highly
conceptual nature pro$ed to be acknowledged as the most challenging, both
from an understanding and implementation perspecti$e.
They further stated that a shift in acknowledged difficulty from
understanding to implementation could also be seen in almost all parts of the
curriculum. The only element not to eperience this shift was synta. This is an
aspect of programming curriculum that pro$ides a $ery high le$el of feedback to
7/24/2019 Chapter 1 Wance
14/22
the students, possibly a reason why students feel a little more comfortable in
working with programming synta than their conceptual understanding of it.
In addition, the results presented are only a small part of more a thorough
analysis of the data that is in progress. The most important direction for future
research in$ol$ing further sur$eys of students will focus on areas of the
curriculum that contain concepts that ha$e a high le$el of conceptual difficulty
with the aim of clarifying eactly why students find these elements conceptually
difficult. &tudents ha$e commented on general topic areas only at this stage,
therefore further breakdown of curriculum topics, particularly those relating to
ob2ect oriented concept and design must be done to further in$estigate these
problems.
+oreo$er, the data pro$ides an insight into student problems with the
introductory programming curriculum. It is clear that issues relating to high
concept areas and the limited feedback opportunities that they afford must be
addressed. s feedback is inherently limited by programming en$ironments and
the like and the greatest opportunity for feedback comes from in-class
assistance, consideration should be gi$en to teaching methods that can pro$ide
feedback opportunities to the student both in and outside the classroom.
teaching method that can scaffold the student learning and guide them through a
process such as program design may be in$aluable to reducing the percei$ed
difficulty of high-le$el concepts in introductory programming units.
7/24/2019 Chapter 1 Wance
15/22
In the $iew of the foregoing, a &tudy from the 9epartment of pplied
Computing, 'ni$ersity of 9undee, 9undee, 99/ titled F9ifficulties in
"earning and Teaching ProgrammingL7iews of &tudents and TutorsH by Iain
+ilne and @lenn owe (:;;:) from etherlands.
The respondents of the said study are the "earning and Teaching &upport
etwork ("T&) and the students of 9undee. The researchers conducted this
study to know the perspecti$e of teaching staffs ("T&) and learners (students of
9undee). The researchers conclude that the purpose of their study was to rank
programming concepts in order of difficulty, both from the students4 points of
$iew, and those of their lecturers.
The researchers belie$e that the results show that the most difficult topics
are so ranked because of the lack of understanding by the students of what
happens in memory as their programs eecute. Therefore, the students will
struggle in their understanding until they gain a clear mental model of how their
program is Mworking4Lthat is, how it is stored in memory, and how the ob2ects in
memory relate to one another. This pro$ides us with the moti$ation to design a
program $isuali3ation tool whose primary goal is to aid and enhance the
programmer4s understanding of what is happening in memory as their program
eecutes.
+eanwhile, the study of +ahmoud +. +hashi and li +. lakeel from the
Jingdom of &audi rabia and also a part of 9epartment of Computer &cience
5aculty of Computers and Information Technology at 'ni$ersity of Tabuk, Tabuk
7/24/2019 Chapter 1 Wance
16/22
conducted a study about F9ifficulties 5acing &tudents in "earning Computer
Programming &kills at Tabuk 'ni$ersityH. Presented below are the results of this
study4s sur$ey.
The researchers conclude that learning to program is a comple task.
This paper has presented results from a case study and a !uestionnaire whose
purpose was to make sure that our students face difficulties in programming and
to rank programming issues in order of difficulties from students4 points of $iew.
The students face real difficulties in programming. The students lack the ability
to problem sol$ing and design at its different stages, and general programming
topics. +ost of the students lack skills e$en to analy3e a short piece of code. In
addition, students are not hard working and they lack understanding. Poorly
designed course, students4 weakness in English language, lack of practice and
eercises feedback, and lecturers insufficient skills in organi3ing the material and
lack of support by the uni$ersity (large number of students in labs, and a$ailability
of assistant lecturers), were seen as possible factors related to the difficulties.
5inally, one of the difficulties was the students4 le$el of maturity. This category
included students4 conduct> need for hard work, class and lab attendance, sol$ing
home works and eercises, getting feedback from the lecturers, and in$ol$ement
in class interacti$e $isuali3ations.
Loca# Studi!)
s cited by %ringula et al. (:;/:), programming is the core skills for
Information Technology students or from its simplest definition is an act of
7/24/2019 Chapter 1 Wance
17/22
creating a program. owe$er, learning to program is difficult, it re!uires
eceptional perfection, strong foundation about knowledge on computers and
programming languages, programming tools and resources and formal methods.
+ore specifically, programming is an act of putting programming codes together
of a set of instruction that sol$es a specific problem.
Ineperienced programmers, also called no$ice programmers, ha$e
eperienced difficulties in making a program. It is important to study
programming errors because it can lead to a better understanding of problem-
sol$ing strategies. s a result, numerous studies ha$e been conducted to identify
the difficulties eperienced by no$ice programmers and the errors associated
with these difficulties (%ringula et al., (:;/:)).
There are two types of no$ice programmers according to %ringula et al.,
(:;/:), the stoppers and mo$ers. &toppers, from the world itself, stop when they
eperience difficulties and errors in program and mo$ers are those who are trying
to work on gi$ing a solution to the problem and e$entually they are the ones who
will achie$e a working program.
In the study of %ringula et al., (:;/:), the difficulties or errors fre!uently
committed by no$ice programmers are missing semi-colons, unmatched curly
braces, ecessi$e symbols like putting semi-colon after if-condition, inappropriate
naming of method names, illegal start of epressions, incompatible types and
irrele$ant naming of $ariables or constants.
7/24/2019 Chapter 1 Wance
18/22
Bn the other hand, according to Tabanao et al., (:;;D) ineperienced
programmers encounter a $ariety of distributing problems. &he also said that In
ustralia, almost A
7/24/2019 Chapter 1 Wance
19/22
participants, the sur$ey instruments use in this study, the collection and
procedure in gathering of data as well as the statistical treatment of the data.
R!)!arc D!)ign
The research design being used in this study is descripti$e research
method. 9escripti$e research deals with the description, recording, analysis, and
interpretation of the phenomena that already eist. The researchers used this
method because it is the most appropriate research method wherein, the
numerical data is based on the respondents4 responses for the items on the
difficulties encountered in C## programming language.
Po(u#ation and Sa%(#ing T!cni-u!
This study in$ol$es two sections of second year students taking up
%achelor of &cience in Information Technology in the Polytechnic 'ni$ersity of
the Philippines, &anta osa Campus. In particular, the sub2ects of the study are
the students in the following sections of the 5irst &emester, &.6. :;/ %&IT
:-/ and %&IT :-:.
&ince it is the purpose of the researchers to study the difficulties
encountered in C## Programming "anguage of the students, it is only
appropriated that the researchers employ the use of Total &ling in which the
sample would be taken from the population of the said respondents. Total
sampling which otherwise be called total enumeration uses no method of
sampling or selecting respondents. s the term implies, all samples are included
7/24/2019 Chapter 1 Wance
20/22
as respondents. This is a$ailed of in cases where there are only reasonable or
few number of samples.
5or an indi$idual to !ualify as respondent of the researcher4s study, the
indi$idual must possess the following !ualifications> The respondent should be a
&ophomore &tudent of %achelor of &cience in Information Technology? The
respondent should belong to any of the two sections of the said year le$el? The
respondent should be a student of Polytechnic 'ni$ersity of the Philippines &anta
osa Campus? The respondent eperienced the difficulties encountered in C##
programming language.
Bnly those students who ha$e met the abo$e !ualifications would be part
of the study, from which data would be gathered.
D!)cri(tion of (artici(ant)
The second year students of %achelor of &cience in Information
Technology of Polytechnic 'ni$ersity of the Philippines are the participants of this
study. The %achelor of &cience in Information Technology :-/ consists of forty-
se$en (1) students, twenty four (:) men and twenty three (:A) women. Bn the
other hand, the %achelor of &cience in Information Technology :-: which consist
of forty nine (0) students, thirty one (A/) men and eighteen (/D) women. In the
o$erall count, there were ninety si (0=) students in$ol$e in this study.
DataGat!ring Proc!dur!)
7/24/2019 Chapter 1 Wance
21/22
The sur$ey !uestionnaire was conducted and distributed to the selected
respondents of Polytechnic 'ni$ersity of the Philippines, for which the
researchers intended to allot at least one (/) day for the sur$ey !uestionnaire
distribution and retrie$al of the same sur$ey forms from the same respondents.
The sur$ey !uestionnaires were collected and checked if all the items ha$e been
filled out and rated correctly by the respondents in order to minimi3e errors in
data analysis, thereby making the results to be obtained thereon more accurate,
reliable, and $alid. s a way of summari3ing the data collected, the researchers
tallied the data from the !uestionnaires as filled out by the respondents.
R!)!arc In)tru%!ntation
The instrument used for gathering the needed data for this study co$ers
research !uestionnaires with its three parts.
The first part pertains to the personal profile of the respondents as to
name, gender and section.
The second part of the researchers4 !uestionnaire deals with identifying
the specific C## topic that the respondents encountering difficulties in learning
the sub2ect. 5or this part of !uestionnaire the researcher used the likert scale
system because it is the most widely used approach of scaling responses in
sur$ey research. The respondents of the study should rate each item on the
difficulties encountered in C## programming language in the said scale system,
the ratings must ha$e the corresponding descriptions> < which is always? which
is often? A which is sometimes? : which is rarely or seldom? and / which is ne$er.
7/24/2019 Chapter 1 Wance
22/22
The "ast part of the researchers4 !uestionnaire consists of items which will
pertain to the common error in C## programming language that the respondents
eperiencing difficulties. 5or this part of !uestionnaire, the respondents of the
study will also rate each item on the difficulties encountered in C## programming
language in a scale system.