Over the course of the winter break, I attended yet another
programming camp at UTD, this time for Java, a much more advanced computer
language than that I learned at the previous camp for Alice. I had only had this
brief experience with computer programming, so I planned to learn as much as
possible.
However, at the start of the first day, things had already started to
roughen up. I had slept in, got to UTD a full 5 minutes late, and had problems
downloading software. My computer blue-screened as a result of low power, due
to the fact that none of the chargers on my row were functioning. Despite this,
I quickly started to get a hang of things.
The instructor didn’t teach much
syntax, and the basic theory was the same as that of Alice. Taking knowledge I
had already acquired, such as functions like loops, Boolean, and recursion, I
was able to solve many of the problems he set up. I got along well with the
instructors, and they even borrowed some Rubik’s cubes from me. Even with
limited computer programming experience, I established myself as “ok”. In fact,
most if not all of the rest of the class had also had little or no experience.
The few 1 or 2 select students who had previously worked with Java finished all
their work quickly, moving on to other, more challenging problems. The next
day, I was able to join them and struck up relationships with them. Once again,
the Rubik’s cube provided a link to which we could relate to.
Over the 3 day
camp, I learned many things about Java. But this was only the tip of the
iceberg, and I had barely scratched the surface. The instructor passed me, and
said that if I was interested, I could move on to more advanced Java
programming. It definitely was much more exciting than Alice, and I plan to
continue to code, at and away from home.
An example of a code I wrote to find prime numbers:
System.out.println(2.0);
//
This prints out 2, the only even prime
double
a=0;
int
divis=0;
//
defines 2 variables
for (a=3; a<=100; a++,a++) {
//for
odd numbers from 3-100
int b = (int)
Math.sqrt(a);
//all
where b is the sqrt of a, rounded down
//(only need to check that many)
int counter=0;
for(divis=b; divis>=3; divis--)
{
/all
divides number and counts factors
if(a%divis==0){
counter
= counter + 1;}}
if (counter == 0)
/all
if there are no factors in between the sqrt and 1, then it is prime, print it
System.out.println(a);}
Notes by Allan:
1) We were pleasantly surprised by Nicholas' interests in Java. The reason we sent him to the camp was just to let him have something to do outside home during the winter break
2) For the programming part, I emphasized to Nicholas to do the debugging the right way. We will try to sustain his interests in Java via some manageable and interesting programming exercises between now and next camp.
3) This was Nicholas' orignal journal from last week