Asee peer logo

Concepts Vs. Programming Skills In Java Learning

Download Paper |


2003 Annual Conference


Nashville, Tennessee

Publication Date

June 22, 2003

Start Date

June 22, 2003

End Date

June 25, 2003



Conference Session

Computers in Education Poster Session

Page Count


Page Numbers

8.316.1 - 8.316.10



Permanent URL

Download Count


Request a correction

Paper Authors

author page

Steven Foster

author page

Hoai Le

author page

Li Chen

Download Paper |

NOTE: The first page of text has been automatically extracted and included below in lieu of an abstract

Concepts Vs. Programming Skills in Java Learning Li Chen Steven Foster Hoai Le Department of Electrical Engineering and Computer Sciences University of the District of Columbia 4200 Connecticut Avenue, N.W. Washington, D.C. 20008


This paper focuses on what aspects of Java we should teach in the following computer language classes: Computer Science I (CSI), Computer Science II (CS II), Advanced Programming in Java, and Object-Oriented Design in Java with UML. Based on ABET/CAC Computing Curricula 2001, for CSI and CSII we suggest that instructors cover a minimum amount of the material that concerns Object-Oriented Programming (OOP) and focuses on honing the beginning student on programming skills. We can put the intensive training of OOP in Advanced Programming in Java, and Object-Oriented Design in Java with UML.

1. Introduction Unlike the procedural/traditional programming courses such as Pascal, C, Fortran and Cobol, learning Java has two major obstacles: understanding concepts and developing programming skills. It does not mean that procedural/traditional programming languages do not have such concepts vs. programming issues. What we want to address here is that Java has more problems than C/C++ [2].

What makes Java different is that you cannot teach Java without introducing complicated concepts (i.e. OOP) because Java contains almost all of the major components of object- oriented programming in its code structure [3]. It is impossible to ignore OOP even for the simplest code example. In general, Java is an easier computer language than C/C++, but it is hard to understand at the first stage.

Traditionally, during the first two-three semesters a computer science student does not need to know much about object-oriented programming [4]. However, if they do not have a relative understanding of OOP, they will not be able to understand the structure of the Java programming language. On the contrary, too much conceptual teaching will discourage students' programming skill development [1].

There are two ways to solve such a contradictory matter: first we can give up Java as the first computer language, second we need to study how to teach Java gradually in both concepts and skills.


Foster, S., & Le, H., & Chen, L. (2003, June), Concepts Vs. Programming Skills In Java Learning Paper presented at 2003 Annual Conference, Nashville, Tennessee. 10.18260/1-2--11724

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2003 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015