Your browser has JavaScript turned off. This page is best viewed with Javascript enabled. Certain functions on this site will not work, and some style sheets will not load. Check your browser preferences to enable JavaScript.

Teach Yourself Java

Results from CPS1 Java Questionnaire - 10/9/2002


Total number of questionnaires: 55

Question 1: How familiar were you with computer programming before this class?
     1 = not at all, 5 = very familiar

     Average: 1.327
         Total 1s: 43
         Total 2s: 7
         Total 3s: 4
         Total 4s: 1
         Total 5s: 0

Question 2: What has helped you the most so far?
     Rate 1-5 with 5 being most helpful

     Results in order from best to worst:
         1. Labs ... avg score = 3.82
         2. Lectures ... avg score = 3.1875
         3. Book Readings ... avg score = 2.5
         4. Homework ... avg score = 2.41
         5. Other ... Friends, "self-studying", TA's, Blackboard discussion groups, Watching others

Question 3: What would you like to learn how to do with applets?

  • don't know what they are capable of
  • make sophisticated websites/homepage
    (confused about capabilities of an applet - unnecessary for most of the uses they say they would like to implement such as moving icons, music, etc...)
  • simple games
  • make online quizzes/surveys
  • "put applets on my web page but I'm still not quite sure how to do that"
  • gather info from users
  • discussion board
  • hitcounters
  • simple graphics
  • web animations
  • manipulate them to benefit a fantasy football team

Question 4: What concept or aspect of programming has given you the most trouble?

  • Syntax
  • Debugging
    - figuring out compiler errors
    - using a datatype in an inappropriate way
  • Technical terminology
  • How to program
  • Strings
  • Not understanding what functions do
  • "Remembering all the different things to do to an object to make it work"
  • Java language
  • Infinite loops
  • X-term/F-S Secure
  • Parsing
  • Pseudo-code
  • Initialization and delaration of variables

Question 5: Is there anything you wish you had known before your first Java program?

  • Basic Java Commands/list of all possible commands
  • HTML
  • Exactly what each line of code meant & did
  • More familiar with Java lingo
  • Other forms of programming (i.e. other languages)
  • More explanations of what every command means

Question 6: Do you have any further suggestions that could be helpful for an Introduction to Java tutorial that is geared toward college students with little to no previous computer programming experience?

  • "Be very, very general and basic .... pretend we're IDIOTS!"
  • "Explain point of initiating/delaring/etc. better so that in writing programs I'm not just copying what previous programs did"
  • Better explanations than book
  • Give broad overview of Java before jumping into specifics
  • Focus on basics
    - what is a method? -how/why do you initialize?
  • More interpretation of pieces of code
  • "Repeat simple Java programs over and over"
  • "Walk through each part STEP by STEP"
  • "Go really slowly and make sure everything is understood before going on to the next step"
  • More hands-on experience - "let the students see the results of the work or programming they do"
  • "Book doesn't read easily...should be more straightforward"
  • "Start with BASIC concepts so they can understand why what they do actually does what it does"
  • Focus on making web-pages




Conclusions

Students with little computer programming experience are mainly interested in learning Java to make/enhance their websites. In general, they respond best to hands-on experience, followed by lectures and book readings. The most common problems for these beginning programmers is understanding Java syntax, understanding Java terminology, and debugging. Many students complain that book/lecture explanations are inadequate. These students feel that there is not enough time spent on the basics, they don't like being thrown into complex programs before they completely understand the basic ones. A main focus should be on moving slowly and clearly explaining each small step in detail.

These findings have several implications for us:
  1. Focus on the basics
  2. EXPLAIN thoroughly and MOVE SLOWLY
  3. Explain Java/technical terminology
  4. Teach basic HTML - how to make a webpage and how to add an applet to that page
  5. Show line-by-line explanations of code
  6. List and explain basic/common Java commands
  7. Provide debugging assistance - list common problems and give solutions
  8. Allow for hands-on learning - let students see results of their programs immediately


.