Test of Java as a Human Language
Dr. Sócrates Torres Ovalle
ABSTRACT Many computer sciences professors agree: an important number of computer sciences alumni do not know how to program a computer. In this paper we propose a new Test of Java as a Human Language, the goal is twofold: a) to design an efficient test of Java; b) to recommend a set of activities based on the proposed test. Ourintention is to improve the amount of good programmers graduated from a computer sciences program. The idea is borrowed from the Test of English as a Foreign Language (TOEFL) and extended to the fact that a computer programming language, in the classroom, is a kind of “human language”.
Key words: Computer Languages, New Educational Paradigms
A REAL PROBLEM Even tough the course book were “How toprogram in Java” [Deitel and Deitel, 2010], many of our graduated students would not know how to program in Java (neither in C!). Some professors and alumni say “it is a student kind-of-aptitude problem”, the fact is that this alumni are currently inscribed in a computer-sciences-related program and they not only won’t quit but also will graduate in the few coming years. We must find the way thisdisciples become programmers. I do not like programming is what many students declare, but how a person could say it if they haven’t tasted the glorious experience of finishing (at three in the morning) a computer programming project? They are confused; “I do not like it” and “I do not know it” are not alike. In our Universities we must find the way of how to teach in order to they know how toprogram a computer. We assure: if a student would know how to program he would taste this important task of programming a computer, in fact, a job opportunity task. You are welcome to the wonderful programming a computer world! Our proposal: ! To find out the way we are teaching computer languages. ! To appoint the different test techniques we are using in the classroom.
! To design a new Test ofJava: test used in the class, by a human teaching a human how to program. ! To recommend a set of activities that is driven by the proposed test. TEACHING TECHNIQUE The normal approach, we are using in the university to teach programming, is directed by three steps: 1. Teaching how the correct syntax is (e.g. syntax of a “for” loop). 2. Exemplifying via a short computer program. 3. Asking to writea program which solves some kind of technical problem. Object Oriented Programming paradigm (POO) which stands for the design of classes of objects [Stroustrup, 1991] (e.g. C++, Java, C#...) is different from Structured Programming (SP) which tries about splitting a problem into sub problems named functions or procedures [Kerninghan and Ritchie, 1988] (C, Pascal, Fox Pro…). Both approaches aretaught the way described in the lines above. As a matter of fact, students must know that every paradigm is constituted by a family of programming languages, is in this sense that knowing C++ and Java is not a plus. There exist other approaches to program a computer: Logic Programming (Prolog), which describing facts and rules, constructs a logic knowledge base [Merrit, 2004]; Visual Programming,which produces object instances by drawing, see [Tsay, 2003] for more details; among other paradigms. So, learning one language per paradigm is enough to confront the real world. This is another job opportunity task!
1. Teaching how the correct syntax is As we mentioned before, many courses and books begin the teaching process exposing the syntax of every component inscribed in the computerprogramming language that is taught. Using POO, in [Schildt1, 2005] is exposed the general form of a class definition as: class classname { type instance-variable1; type instance-variable2; //… type instance-variableN; type methodname1(parameter-list){ //body of method
} type methodname2(parameter-list){ //body of method } //… type methodnameN(parameter-list){ //body of method } } If using...
Regístrate para leer el documento completo.