In CS I have been taught other programming languages than java. Now in final year project they are demanding project in java. So is there an easy technique to learn java fast?
-
1$\begingroup$ Could you say more about the levels of the students and their backgrounds? What have they already studied, and what sort of projects can they make.in those languages? $\endgroup$– Ben I. ♦Commented Apr 6, 2019 at 11:54
-
1$\begingroup$ What is your role? Who is the “they” demanding a project in Java? $\endgroup$– James McLeodCommented Apr 7, 2019 at 9:37
-
$\begingroup$ i am student of CS. And university demands project. $\endgroup$– hina munirCommented Apr 8, 2019 at 2:46
-
$\begingroup$ Which other languages did you study in your undergraduate program? $\endgroup$– EyongCommented Apr 8, 2019 at 6:46
-
$\begingroup$ @hinamunir if you have experience with other OOP language(s), Java should be relatively easy to learn. You can adopt Java by creating an Android application. TutorialsPoint has a tutorial and there are others available. However, this stack exchange isn't generically about computer science or programming, it is for CS educators -- we are people who teach computer science (at various educational levels) and discuss techniques for teaching. It seems like your question is probably more appropriate in a forum for Java or software development in general. $\endgroup$– Kevin BuffardiCommented Apr 8, 2019 at 20:30
1 Answer
There is a Pedagogical Pattern called Fixer Upper that can be used for this purpose.
Prepare a fairly large Java program that includes the features you want them to use. In this case it would probably be best if they know how to write that program in their "native" programming language: a familiar seeming project.
Then insert several errors into the program of various kinds. Some of them just simple syntax errors but some of them more complex, even some that break the program so that it doesn't quite solve the problem correctly.
Give them an assignment to fix the program.
If you combine this with unit testing, which they may already know, it will give them some additional practice and skill. If you want them to do the fix-up especially fast, make it a pair-programming exercise.
I normally use this sort of thing as a quick start for a new programming language or even for complete novice programmers.
Make sure that the overall structure of your program is very good. If it isn't, then they will learn the wrong lessons. Start with a structure that you want them to emulate.
A variation on this is to take such a program and go through it in lab rather than making it homework.
Note that reading a large program is insufficiently "active" to achieve the desired outcomes. Having to repair it will engage the students more deeply into both the problem and the language.
My ideal program for this would be several pages long and would include several classes. It would use a variety of design techniques, including a few design patterns. It would favor composition over inheritance as the mechanism for variability. It would define structure with interfaces.
A major variation of this is that the fixer-upper program could, itself, form the core of the project the students will do. Now the students are truly engaged from the start.