Академический Документы
Профессиональный Документы
Культура Документы
language,
object-oriented
and
generic
programming.
The
Language is also widely used for teaching and research because it is clean
enough for successful teaching of basic concepts.
Learning how to make a computer program is a very hard work. There are
such things that one must work on when starting out with programming like
familiarizing with the syntaxes, solving machine problems, debugging program
error, critical thinking, analysing the program flow and more. Honestly speaking,
programming is inherently difficult to understand especially for novice
programmers. But practicing could improve ones programming skills.
The researchers observed that several First Year students in Bachelor of
Science in Information Technology failed their programming subject at the end of
the semester. So the researchers came up with this study to help and give
possible solution in the difficulties experienced or encountered by Second Year
students of Bachelor of Science in Information Technology in their programming
subjects. In addition, the possible solutions that researchers may give are online
tutorials and organizing group studies to help them improve their programming
skills.
Theoretical Framework
C++ programming language is one of the first and major subjects of an
Information Technology student. And like all other subject, some to most students
experience difficulties in various topics or parts of the subject. Learning is not a
simple thing. In cognitive psychology, learning something new requires a
complex array of mental processes such as attention, language used, memory,
perception, creativity, thinking and problem solving skills. Various students can
differ in terms of how their brain interpret and analyze information. This gives the
idea that different student learn differently or that different topics or subjects
affects how the student perceives the subject. This can also be affected by
various factors like a students environment.
The theory of constructivism states that learners are not passive
recipients of information, but that they actively construct their knowledge in
interaction with the environment and through the reorganization of their mental
structures. When a student fails a quiz on a specific subject, that student will find
the answer to that question easier and will remember it through experience.
There are also cases where the student only experience difficult at the start of
the learning process then finds the subject easier once they understand the
basics. Different students have their own environment and factors that differ from
that of their classmates. Some however, would find the same subject difficult due
to the fact that the subject is too hard or complex as it is.
Hypothesis
The following null and alternative hypothesis was tested in this study:
The students are not experiencing significant difficulties in manipulating
and utilizing variable declaration, initialization of variable, input and output
stream, operators, conditional statements, looping, array, pointers, void function.
The students are not encountering significant difficulties in programming
errors such as mismatched symbols, invalid symbols, missing symbols, and
excessive symbols.
The students are experiencing significant difficulties in manipulating and
utilizing void functions, pointers, file handling, arrays, and conditional statements.
The students are encountering significant difficulties in programming
errors such as mismatched symbols, invalid symbols, missing symbols, and
excessive symbols.
This study will help them to think for some important adjustments to solve
their problem as well as to help them improve their capabilities towards learning
C++ programming language.
Parents
This study will help them to lessen their worries about the academic status
of their children.
Teachers
This study will help them to have an effective strategy on teaching C++
programming language.
Researchers
Through this study, the researchers would be able to find solutions in
handling the difficulties encountered in C++ programming language as perceived
by the students.
Future Researchers
This study will serve as guide for further studies to be conducted in the
future. This study will also provide reference for them to get ideas and sources if
they are going to conduct the same study.
CHAPTER II
REVIEW OF RELATED LITERATURE AND STUDIES
This chapter presents the review of the related literatures and studies
regarding topic about Difficulties encountered in C++programming language as
perceived by sophomore students of Polytechnic University of the Philippines
Santa Rosa Campus. At the outset of this study, the researchers are engaged in
gathering information related to the research studies and literatures that have
bearing and significance to the study.
Foreign Literature
On the difficulty of learning to program, (Tony Jenkins 2002) said that It is
sometimes argued that the students who nd programming dicult are simply
those for whom programming is dicult. He also stated that there is nothing
inherently difficult in the subject; the argument is simply that some students have
no aptitude for programming. The required skills often cited are problem solving
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 questionable. In addition, there is little evidence that either has
any signicant eect. A recent study in Ireland (Pat Byrne and Gerry Lyons,
2001) has once hinted at some connection between programming aptitude and
experience in mathematics and problem solving. Along with it, an experiment at
the University of Leeds (John Davy and Tony Jenkins, 1999) designed to stream
a programming class based on the results of an aptitude test aimed at these two
skills but the nal results of the course showed no signicant correlation between
the calculated aptitude and the nal grade. Other studies (General E. Evans and
Mark G. Simkin, 1989) have shown that no demographic factor is a strong
predictor of success in programming.
Moreover, Dianne Hagan and Selby Markham (2000) said that it certainly
helps to have some experience of programming before starting a programming
course but this is not the same thing as aptitude. There exists programming
aptitude tests (PAT) produced by IBM, but the evidence for their effectiveness is
inconclusive at best (Lawrence J. Mazlack, 1980). If it is not possible to measure
aptitude for programming in some convenient way, and if it is possible that
"aptitude" for programming does not even exist, the focus for the understanding
the difficulty of learning to program must turn in a more cognitive view of the
problem lies in the subject itself (T. Jenkins, 2002).
According to Kathryn D. Sloane and Marcia C. Linn (1988), 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. As
cited by C. Bereiter and E. Ng (1991), a student faced with learning a hierarchy
of skills will generally learn the lower level 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 syntax first and then gradually move
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). Further, (Tony
Jenkins, 2001) stressed that no experienced programmer would work in this way,
and these are bad habits to fall into, but this is an inevitable side effect of the
order in which programming skills are learned. This approach to learning is often
programming course, who can dissect and understand programs, but who are
totally incapable of writing their own program. They have not mastered all the
processes; they can code, but they cannot produce an algorithm.
Local Literature
An article published on WebGeek.ph shows an interview with Tim Joseph
Dumol, chief Hacker of Kalibrr. Tim is an active competitor in programming
contests, such as ACM ICPC Philippine Invitational Programming Contest (1st),
ACM ICPC Jakarta Regionals 2012 (9th) Google Code Jam 2011 (Rank 786 of
Round 2) and Manila Dev Challenge (Best Performance in the preliminaries).
In the interview, he was asked about his view on Philippine tech and its
potential, he said that there might be more talent shortage in the upcoming years,
I don't think software development is visible enough in the public consciousness
to attract top talent towards it. I also think that programming and computer
science education in the Philippines is severely lacking. I've heard of several
schools that teach MS Word, PowerPoint, and Photoshop for their computer
classes, which misleads potential computer scientists as to what computer
science actually is. Hes last statement to the question was I think without
proper training on the foundations of computer science, future programmers will
be ill prepared to face novel problems and to truly excel in their fields.
Along with it, an article was written by fydesign, a web design company
focused on web development of corporate websites, e-commerce and search
engine optimization, about the quality of Filipino programmers that applied for a
job in their company. The articles shows that only 5 out of the 81 applicants have
answered a problem in the interview correctly and none of those 5 were able to
answer it efficiently. The skill evaluation consists of two simple exams: Variable
Swapping to test your resourcefulness and Shuffling to test the applicants coding
efficiency.
Due to the result of the interview, the interviewer or writer of the articles
narrowed the three problems, the first one was the Misconception on Experience.
They say that experience isnt much of a factor since Its with an average of 7
years experience cant answer the two questions. It is stated in the article that if
a person will Give a month to a new graduate with an outstanding knowledge in
programming concepts, problem-solving or logic formulation skills and he can
even exceed your average 7-year experienced programmer. The misconception
on the years of experience is one factor the programmer slows down or even
stops learning.
The second problem was in the low quality of education. A big factor in the
worsening quality of programmers is the institution. IT Schools focus more on
teaching specific programming languages and programming syntax instead of
programming concepts. The author stated the learning the concept is more
important that hands on experience. The last one was the lack of passion, It all
starts within you (programmer). In the first place, why take the Computer Science
Course if all they want is design, photography, nursing, agriculture, housewife,
etc. They will never succeed, and they will never look for opportunities to
improve. This is normally the behaviour if what they do is not something that you
really love.
Foreign Studies
The study of Matthew Butler and Michael Morgan (2007) introduces the
Learning challenges faced by novice programming students studying high level
and low feedback concepts. This study is conducted at Monash University in
Singapore where Butler and Morgan are both Faculty of Information Technology
in the said University. The researchers had shown the approximate arrangement
of the curriculum and list of the notional level of conceptual difficulty of the
subject matter for the basis of their study. The researchers have a total of 167
respondents for their study.
Matthew Butler and Michael Morgan conclude the following statements:
An analysis of the survey data has provided a large number of insights into study
habits and challenges faced by novice students. It was clear that elements of
program design proved to be among the most challenging aspects of introductory
programming curriculum. Indeed the elements of the curriculum of a highly
conceptual nature proved to be acknowledged as the most challenging, both
from an understanding and implementation perspective.
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 experience this shift was syntax. This is an
aspect of programming curriculum that provides a very high level of feedback to
the students, possibly a reason why students feel a little more comfortable in
working with programming syntax 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 involving further surveys of students will focus on areas of the
curriculum that contain concepts that have a high level of conceptual difficulty
with the aim of clarifying exactly why students find these elements conceptually
difficult. Students have commented on general topic areas only at this stage,
therefore further breakdown of curriculum topics, particularly those relating to
object oriented concept and design must be done to further investigate these
problems.
Moreover, the data provides 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. As feedback is inherently limited by programming environments and
the like and the greatest opportunity for feedback comes from in-class
assistance, consideration should be given to teaching methods that can provide
feedback opportunities to the student both in and outside the classroom. A
teaching method that can scaffold the student learning and guide them through a
process such as program design may be invaluable to reducing the perceived
difficulty of high-level concepts in introductory programming units.
CHAPTER III
RESEARCH METHODOLOGY
This chapter presents the various components of research methodology
as research design, the population and sampling technique, the description of
participants, the survey instruments use in this study, the collection and
procedure in gathering of data as well as the statistical treatment of the data.
Research Design
The research design being used in this study is descriptive research
method. Descriptive research deals with the description, recording, analysis, and
interpretation of the phenomena that already exist. The researchers used this
method because it is the most appropriate research method wherein, the
numerical data is based on the respondents responses for the items on the
difficulties encountered in C++ programming language.
Population and Sampling Technique
This study involves two sections of second year students taking up
Bachelor of Science in Information Technology in the Polytechnic University of
the Philippines, Santa Rosa Campus. In particular, the subjects of the study are
the students in the following sections of the First Semester, S.Y. 2015-2016: BSIT
2-1 and BSIT 2-2.
Since it is the purpose of the researchers to study the difficulties
encountered in C++ Programming Language of the students, it is only
appropriated that the researchers employ the use of Total Sampling 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. As the term implies, all samples are included
The Last part of the researchers questionnaire consists of items which will
pertain to the common error in C++ programming language that the respondents
experiencing difficulties. For this part of questionnaire, the respondents of the
study will also rate each item on the difficulties encountered in C++ programming
language in a scale system.