0% found this document useful (0 votes)
5 views6 pages

Unit3 - Research Paper

This paper presents a novice framework for learning Java in higher education, designed to improve the learning outcomes of undergraduate students by utilizing cognitive theories. The framework emphasizes starting with familiar real-life objects and gradually introducing Java concepts, which was tested in a case study showing that students using the framework performed better than those taught with traditional methods. The results indicate that the new framework effectively enhances understanding of object-oriented programming among students in a Java introductory course.

Uploaded by

kirtisatpute
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views6 pages

Unit3 - Research Paper

This paper presents a novice framework for learning Java in higher education, designed to improve the learning outcomes of undergraduate students by utilizing cognitive theories. The framework emphasizes starting with familiar real-life objects and gradually introducing Java concepts, which was tested in a case study showing that students using the framework performed better than those taught with traditional methods. The results indicate that the new framework effectively enhances understanding of object-oriented programming among students in a Java introductory course.

Uploaded by

kirtisatpute
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/356476028

A Novice Framework for Learning Java in Higher Education

Conference Paper · July 2021


DOI: 10.1109/ICNISC54316.2021.00144

CITATIONS READS
0 11

5 authors, including:

Yongbin Zhang
Beijing Institute Of Graphic Communication
6 PUBLICATIONS 12 CITATIONS

SEE PROFILE

All content following this page was uploaded by Yongbin Zhang on 03 April 2022.

The user has requested enhancement of the downloaded file.


2021 7th Annual International Conference on Network and Information Systems for Computers (ICNISC)

A Novice Framework for Learning Java in Higher Education


2021 7th Annual International Conference on Network and Information Systems for Computers (ICNISC) | 978-1-6654-0232-3/21/$31.00 ©2021 IEEE | DOI: 10.1109/ICNISC54316.2021.00144

Yongbin Zhang, Ronghua Liang, Yuansheng Qi, Hejie Chen and Bingran Li
Beijing Institute of Graphic Communication, Beijing 102600, China
{zhangyongbin, liangronghua,yuansheng-qi, chenhejie}@bigc.edu.cn; 1830697975@qq.com

Abstract—Learmming programming in object-oriented way is common and Java programming language has been a popular
object-oriented programming language for computer science (CS) related majors in higher education. However, learning
object-oriented programming languages, such as java, is a challenge even for CS students. This paper presents a novice framework
for learning java based on learning theories to avoid some pitfalls in java learning process and to improve undergraduate students’
learning output of java language. With this framework, students will start with java package to organize their files, which is natural
way for students to organize files on computer in daily life. Then new classes would be designed by students according to real life
objects that students are familiar with. After that, objects will be created from a class in different packages. In this way, the
framework helps students build their knowledge and skills step by step based on what they know. A case study was provided in this
paper to demonstrate the application of this learning framework in a java course. Results showed that students in experimental
group achieved better performance with new learning framework than students in control group did.

Keywords-Java programming; learning outcomes; higher education; learning theory, Eclipse

I. INTRODUCTION
Software development skill is an important component of all computing disciplines[1], and is becoming a demanding
requirement for both computer majors and non-computer majors with the widely use of artificial intelligence techniques in
everyday life and different industries, such as social network, education and manufacturing [2].
However, learning to program is not an easy thing for beginners and object-oriented programming languages, such as java,
can be even tougher. Studies show that many students do not know how to program when finishing their introductory
programming course. And for undergraduate students majoring in computer science, programming languages taught at
university are obstacles which account for students’ disengagement with the subjects [3].
In this paper, we present a framework based on cognitive theory for teaching and learning java in higher education to
improve students’ learning outcome. We also demonstrate how to apply this framework in javaintroductory course for junior
students majoring in mechanical engineering in Beijing institute of Graphic Communication, a university located in Beijing.
Students were divided into two sections, one section with traditional methods and the other with this new framework. With the
same java programming concepts and skills covered for both sections, students’ learning outcomes were evaluated and
analyzed between two sections with the same test. The results show that with presented new framework, students achieve better
learning outcome than students with traditional methods.

II. LITERATURE REVIEW


Java is a class-based, object-oriented programming language which is well known as write one, run anywhere. With the
characteristics of simplicity, object-orientation, robustness and high performance, Java has grown in popularity with the
increasing demand for platform independent software. People equipped with strong OOP skills with java are highly demand in
industry [4] and Java programming is a compulsory programming course for computer majors in universities [5]. In addition to
computer majors, many universities have provided Java programming language as alternative courses for non-computer science
majors.
However, learning programming is a difficult cognitive skill for many students and could be a challenging for beginners at
all ages[6]. When learning Java, students should understand object-oriented concepts, such as class and objects, inheritance and
interfaces, which are used for high level abstraction and grasp skills for designing classes. Students also need to learn structured
programming concepts and skills so that they can write code within java methods. Studies show that Java programming
language courses have been a challenge to both educators and students[5].
It is appropriate to teach students to code for solving a specific problem in beginning programming classes because students
need to learn syntactic rules of a new programming language. A framework consisted of various sale activities has been
designed to help instructors teach and to facilitate students learning object-oriented software development[1]. Another
framework was presented to help to learn algorithms, which is in advanced Java courses, for students who understand
object-oriented programming and have Java programming skills provided in fundamental courses[7].
A Visual tool was developed to help students understand Java virtual machine by showing the internal state of the JVM
during the execution of a Java program in java advanced courses[8].Students’ programming patterns were analyzed with logger
data to help educators to understand students’ behavior [9].Also one kind of software was developed to improve undergraduate
students Java programming learning outcome by providing instant feedback on students’ understanding[10].

978-1-6654-0232-3/21/$3 1.00 ©2021 IEEE 777


DOT 10.1 109/ICNISC543 16.2021.00144

Authorized licensed use limited to: Shanghai Jiaotong University. Downloaded on March 26,2022 at 08:29:03 UTC from IEEE Xplore. Restrictions apply.
But studies have shown that undergraduate Students in universities did not live up to educators’ expectation in
programming course, which is not related with what programming languages are taught but how the course is taught matters[3].
Although there are number of guidelines for learning java with designated development environment[11-13], aligning
programming languages and environments [14], facilitating students to understand higher level of abstraction about
programming theory[7],or designed frameworks for specified java topics[1, 8], there is a need for a concrete framework of
teaching and learning java introductory course to help instructors teaching and students learning key concepts of object
orientation programming.

III. COGNITIVE FRAMEWORK FOR LEARNING JAVA

A. Cognitive Theory
A theory provides a general explanation for observations and predicts behavior. As one of the most well-known learning
theories, behavioral learning theory, derived from the stimulus and response theory of Skinner, states the learner is conditioned
to respond based on stimuli in the environment in which the individual is[15]. Whilecognitive theorists focus on more complex
cognitive processes besides overt observable behavior and view learning as involving the acquisition or reorganization of the
cognitive structures through which human’s process and store information like the way computer processing information. The
mind was viewed as information processor with short-term, working and long-term memory.
It should be noticed that different learning theories could be used for instructional design in even the same course.
B. Teaching and Learning Framework for Java
In this paper, findings from learning theories and learning principles are adopted to design our teaching and learning
framework for java introductory course. In each stage, what is learned by students is based on the knowledge that students bring
into class. We suggest industry standard tools should be adopted as java developing environments.
The other main idea of this framework is that students create their own classes first from scratch based on real-life objects
with which they are familiar instead of using class libraries because real-life objects are helpful for students to understand
objects and classes.
The framework teaching and learning java is composed of following stages:
Stage 1: Teaching and learning starts withjava package concept, students create at least two java packages.
Package has been introduced in Java for two purposes: organizing java program files and participating access control. There
are two reasons to teach and learn package first in java introductory programming. One is based on the fact that most of
undergraduate students in universities are familiar with file management by creating different directories on operating system.
Therefore they can use their prior knowledge about directory to create package and manage java program files. The other reason
is that learning java package first will help students understand how to import classes in java libraries, such as keyboard input,
in their own program.
Stage 2. Teaching and learning encapsulation, class, instance variable and method in java, students create their first public
class and add a simple method in the class;
Starting with real-life objects, studentsdesign one class using their own language and transfer the class into one in java
language with teacher’s help. Thus, students could understand the relationship between a class and its objects: objects are the
instances ofa class.
Stage 3. Teaching and learning how to create object from the class in a different package and how to invoke the method of
the created object.
The concept and function of constructor method is presented here for students to understand the process from a class to
objects, so that students provide constructor method for the first class and call the constructor to create an object.
Although textbooks usually create objects using default constructor without explicit explanation, we have found that
students have mental difficulty to understand the process from a class to an object. Therefore this framework fills the gap by
introducing java constructor methodjust before students create an object of their designed class.
Stage 4. Teaching and learning focus on primitive types, operators, control statements. Students add new methods in their
first class and write code in methods and invoke the methods;
By now, students should be familiar with the concepts of package, class, object and methods. Therefore they could go
further and learnhow to write statements in existing methods or in new methods. Then these statements could be tested by
invoking the object’s method.
Stage 5. Teaching and learning turn to advance concepts such as reference types and array.
Now, it is time to introduce the reference type besides the primitive data type. Students will design a new class and add the
first created class as a member of the new class. Here, students construct their cognition based on their own prior knowledge.
For example, a teacher may work as a mentor ofstudents. Therefore, students define a class named Mentor with Student as a
member.
Stage 6. Teaching and learning lead topolymorphism and inheritance concepts. Polymorphism is one of key features in
object-oriented software design theory.Based on what students already know about java programming and the classes created
by students, this framework guides students to learn conceptsof inheritance and polymorphism more easily.

7718

Authorized licensed use limited to: Shanghai Jiaotong University. Downloaded on March 26,2022 at 08:29:03 UTC from IEEE Xplore. Restrictions apply.
Although there are six stages in our java learning framework, additional java programming contend can be included in the
last stage according to requirements of java courses. When doing so, we should remind ourselves that the knowledge and skills
students bringing into class affect students’ learning outcomes and we should carefully design the course based on what our
students are familiar with.

IV. CASE STUDY


Our java programming course, which is an elective course with 32 hours- 2-hour lectures and 2-hour tutors in each week
lasting for 8 weeks, has been added to curriculum of mechanic engineering, logistics engineering and other non-computer
science majors since 2016 at Beijing institute of graphic communication (BIGC), a university located in Beijing of China. The
learning objectives were to have the students come to understand the key concepts in OOP: class, objects, modularity,
encapsulation, inheritance, interface and polymorphism. Also, we wanted the students to be able to solve a problem by
designing classes and implementing the classes injava. The C programming language is a prerequisite for enrolling in Java
programming course. For mechanic engineering students, the C programming language is a compulsory course which includes
28-hours lecture and 20-hours lab in their first year semester when students enter into BIGC.
In 2019-2020 autumn’ssemester, 38sophomore students, whose major is logistics engineering, were divided into two
categories: one consisted of 19 students as control group, and the other had 19 students as experimental group.
At the beginning of ourjava introductory programming, we analyzed students’ programming performance differences
between the control group and the experimental group with their final grades in C programming course which all students
enrolled in their first university year.
Then two groups was taught and learned the java introductory programming course respectively by designated teacher for
eight weeks with the same schedule except for different classrooms.
A test (Test-1) was distributed for two groups at the end of the fourth week in the course to evaluate students’ understanding
of java programming. Test-1 is shown as following:
1. Class TestOne inherits the class named StudentBase as shown in the following code, please write expected output of
the program.
StudentBase.java is shown as:
packagecn.edu.bigc.base;
public class StudentBase {
protectedint grade;
publicStudentBase(int grade) {
this.grade = grade; }}
TestOne.java is shown as:
packagecn.edu.bigc.base;
public class TestOne extends StudentBase {
publicTestOne(int grade, int gradel, int grade2) {
super(grade);
this.grade = gradel;
this.grade2 = grade2;}
privateTestOne(int gradel, int grade2) £{
super(grade1);
this.grade = gradel;
this.grade2 = grade2;}
privateint grade;
privateint grade2;
public static void main(String[]args) {
StudentBase stul = new StudentBase(10);
TestOne stu2 = new TestOne(20, 10);
Stul = stu2;
System.out.println(stul.grade +'""+ stu2.grade2); }}
At the end of the eighth week another test (Test-2) was given to both groups in order to compare programming skills
between two groups. Test-2 is shown as following:
1. To design a Java program to check whether a number is prime or not. Notice: A prime number is a number which is
divisible by only two numbers: | and itself.

V. RESULTS
By analyzing the final grades of C programming course for the control group and experimental group with SPSS 26, we
found that there was not statistics difference (meancg=83.4, meangg = 83.2, p=0.9537>0.05)between two groups.This means
that it is reasonable to divide the students into control group and experimental group because students in both groups have the
similar performance in programming understanding and skills.

7719

Authorized licensed use limited to: Shanghai Jiaotong University. Downloaded on March 26,2022 at 08:29:03 UTC from IEEE Xplore. Restrictions apply.
The results for Test-1 showed that more students in the experimental group answered the question correctly than students in
the control group did. Ten students in the control group and 16 students in the experimental group answered the question
correctly while 8 students did not in the control group and 2 students did not in the experimental group.Further statistic
analyzing with two-tailed T-test shows that there is a significant difference (P=0.02 1653 < 0.05) between two groups.
For theTest-2, students wrote code, compiled and ran their program individually; two instructors checked students’ code
and validated the running results with random input integer. If the program ran and outputted the correct result, the instructors
would mark the program as ‘correctly run’; otherwise, the program would be marked as ‘not correctly run’;
Although there are three more students’ program marked as ‘correctly run’ in the experimental group than students’
program in the control group, there is no significant statistical difference (P=0.252106>0.05) between the two groups.
However, we noticed that more students in the control group wrote statements in the main method directly instead of invoking
methods of objects.

VI. DISCUSSION
By analyzing students’ final grades in C program course, we drew a conclusion that there is no significant difference in c
programming knowledge and skills between the control group and experimental group in our research. Therefore, it is
reasonable to carry out the experiment with two groups.
After four weeks teaching and learning java introductory programming course, students in the experimental group, in which
the novel framework for java learning was adopted, achieved better results than students in the control group, in which
traditional approach was used. The test result reveals that there is a significant difference (P=0.021653 < 0.05) between two
groups.
Although there is no a significant difference (P=0.252106>0.05)in writing codes and running the program between students
in two group, students in experimental group preferred thinking in object-oriented ways while students in the control group
tended to use procedure programming way. This result is consistent with the finding of other researchers [12, 16]. Our
framework provided a way to avoid the commonly misused main method by requiring that an object should be created and
methods should be invoked in different classes.
The framework presented in this paper, object first approach is adopted as recommended in the article[13]. However,
students defined their own classes first instead of using existing class libraries as suggested by some researchers[17]|because
students learn best when the prior knowledge and preconceptions students bring into the classroom are recognized and
engaged[18]. Our framework starts with what students are familiar with and trying to involve students in their own learning and
helps students to construct their own learning path based on what they already knew.
One feature of this framework is that java package is introduced from the beginning of the course, which has not been found
in other researches as far as we know. This characteristic helps students better understand why and how to use existing class
libraries than other instructional approaches do.
According to the experimental results, we can draw the conclusion that the learning framework we presented in this paper
could be used to help students in improving students’ learning output of java programming language. Equipped with learning
theories, includingcognitive theory[21], instructors can help students to design their own classes and avoid the commonly
misused main method by adopting the learning framework in java programming course.

VII. CONCLUSION
This paper presented a new framework for learning java introductory programming in higher education. The core idea
behind the framework is based on the assumption that students learn best when the prior knowledge and preconceptions
students bring into the classroom are recognized and engaged. This learning framework starts with java package concepts not
only help to guide students organizing their java files but also improve students’ understanding of why and how to importing
existing class libraries.
With the framework, students can avoid the common misuse of java main method by creating object of a class and invoking
methods of the created object in main method.
Our case study shows that students achieved better performance with this novel learning framework than students did with
traditional approaches. However, there is some limitation about this research. One is that the sample size of students is small
and more cases should be studied in the future. The other is that performance evaluation of students’ learning outputs was
designed by only two instructors; more attention should be paid to the design of the assessment.

REFERENCES
[1] Zschaler, S., B. Demuth, and L. Schmitz, Salespoint: A Java framework for teaching object-oriented software development. Science of Computer
Programming, 2014. 79: p. 189-203.
[2] Holm, E.A., et al., Additive manufacturing trends: Artificial intelligence & machine learning. Advanced Materials and Processes, 2020. 178(5): p.
32-33.
[3] McCracken, M., et al. A multi-national, multi-institutional study of assessment of programming skills of first-year CS students. in Working Group
Reports from 6th Annual Conference on Innovation and Technology in Computer Science Education, ITiCSE-WGR 2001, June 25, 2001 - June 27,
2001. 2001. Canterbury, United kingdom: Association for Computing Machinery.

780

Authorized licensed use limited to: Shanghai Jiaotong University. Downloaded on March 26,2022 at 08:29:03 UTC from IEEE Xplore. Restrictions apply.
[4] Zhang, X.H., et al., Assessing Students' Object-Oriented Programming Skills with Java: The "Department-Employee" Project. Journal of Computer
Information Systems, 2020. 60(3): p. 274-286.
[5] Yang, C., Research on java programming course based on cdio and iterative engineering teaching pattern. Recent Advances in Computer Science and
Communications, 2020. 13(3): p. 519-530.
[6] Emurian, H.H., H.K. Holden, and R.A. Abarbanel, Managing programmed instruction and collaborative peer tutoring in the classroom: Applications
in teaching Java™. Computers in Human Behavior, 2008. 24(2): p. 576-614.
[7] Cunningham, H.C., Y. Liu, and C. Zhang, Using classic problems to teach Java framework design. Science of Computer Programming, 2006. 59(1): p.
147-169.
[8] Abenza, P.P.G., A.G. Olivo, and B.L. Latorre, ViswalJVM: A visual tool for teaching Java technology. Ieee Transactions on Education, 2008. 51(1): p.
86-92.
[9] Fenwick Jr, J.B., et al., Another look at the behaviors of novice programmers. SIGCSE Bulletin Inroads, 2009. 41(1): p. 296-300.
[10] Hauswirth, M. and A. Adamoli, Zeaching Java programming with the Informa clicker system. Science of Computer Programming, 2013. 78(5): p.
499-520.
[11] Lewis, J., Myths about object-orientation and its pedagogy. SIGCSE Bull, 2000. 32(1): p. 245-249.
[12] Xing, C.-C. and B. Belkhouche, On Pseudo object-oriented programming considered harmful. Communications of the ACM, 2003. 46(10): p.
115-117.
[13] K6lling, M. and J. Rosenberg, Guidelines for teaching object orientation with Java. SIGCSE Bull., 2001. 33(3): p. 33-36.
[14] Horvath, R. and S. Javorsky, New Teaching Model for Java Programming Subjects. Procedia - Social and Behavioral Sciences, 2014. 116: p.
5188-5193.
[15] Hung, D., Theories of Learning and Computer-Mediated Instructional Technologies. Educational Media International, 2001. 38(4): p. 281-287.
[16] Westfall, R., Hello, World Considered Harmful. Communications of the ACM, 2001. 44(10): p. 129-130.

[17] Machanick, P., Zeaching Java backwards. Computers & Education, 2007. 48(3): p. 396-408.
[18] Criddle, D.K., How Learning Works: Seven Research-Based Principles for Smart Teaching. Journal of Adult Education, 2016. 45(1): p. 19 - 20.
[19] Van Haaster, K. and D. Hagan, Zeaching and Learning with BlueJ: an Evaluation of a Pedagogical Tool. Issues in Informing Science & Information
Technology, 2004. 1: p. 455-470.
[20] K6lling, M., et al., Zhe BlueJ System and its Pedagogy. Computer Science Education, 2003. 13(4): p. 249-268.
[21] Will, P., et al., Cognitive load but not immersion plays a significant role in embodied cognition as seen through the spontaneous act of leaning.
Quarterly Journal of Experimental Psychology, 2020. 73(11): p. 2000-2007.

781

Authorized licensed use limited to: Shanghai Jiaotong University. Downloaded on March 26,2022 at 08:29:03 UTC from IEEE Xplore. Restrictions apply.
View publication stats

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy