Category Archives: misc

More on-line storage options

A student reported this week that his “back-up” drive had died causing significant data loss. My first thought was that it was not a “back-up”, rather a “main drive”. Either way it is unfortunate, but something we will all have to deal with at some point. It may be time to consider backing up your data on-line. I still use Box.net which offers 1 GB of free on-line storage (see earlier post).

Jungle Disk http://www.jungledisk.com/ from Amazon. Current prices are .15 per GB per month, .10 per GB to upload, .17 per GB to download. A one time fee of$20 applies for the software. All data is encrypted which should address some security concerns.

Oosah http://www.oosah.com/ promises 1TB (yes 1TB) of free online storage.

I have not tried either service.

-Prof. Lehman

On-Line File Storage

If you have access to the Internet on-line file storage may be an easier solution than carrying an USB drive. Companies like http://www.box.net offer 1GB of free on-line storage space for files. You can pay a monthly fee for more storage. You can make your files available to other users. On the positive side you have access to your files wherever you have an Internet connection. On the down side there are always security/privacy risks when you store your files on-line.

Learning Java …

How do you learn something new? … especially something that seems rather confusing and complicated? Learning how to learn is essential when working with computers and technology. Rarely is there a book, web site, course, or person that can explain everything that you want to know. Really learning something takes a lot of effort on your part, reading books, asking questions, and trying it. You almost always have to learn more than you may have wanted to.

I am currently teaching an introductory programming course that uses the Java programming language. So how can a student begin to learn Java (or any new concept)?

A good first step is to read a book. You may need to read a chapter two (or even three) times until you begin to comprehend the material. In reading the text you need to try the examples. Most authors will provide the source code to their textbooks so that you do not need Once the example is working (it may take a while just to “run” the example) you should modify the examples to verify your understanding of the material.

There are hundreds of Java books in print today. Finding a second book (or third or fourth) is also helpful. Take “field trip” to your local bookstore and browse the selection of books on Java. You should quickly find that some books “speak your language” better than others. You may also find on-line textbooks helpful such as Bruce Eckels “Thinking in Java, 3rd Edition” or David Eck’s “Introduction to Programming Using Java”. The bottom line is “Don’t be afraid to look at more that one book”. Most libraries also have Java books. When I am learning a new programming language I try to read as many books as possible on the subject.

Taking a course can help to structure your learning. In addition to reading the recommended text, make sure that you try the examples given during class. Instructor’s will generally cover examples that they think will help you learn the material. These examples may not be part of the textbook. Make sure that you take notes during class and ask questions. Don’t be afraid to ask questions when you do not fully understand something.

When writing programs work incrementally. Start with a program shell, in other words the bare minimum amount of code needed for the program to compile and run. Then begin adding features to your program. Compile and test your program as you go. I often see students type their entire programs and then try to compile and debug their code. This rarely works well or takes an incredibly long amount of time. If you find that your program will not compile, start commenting out code until it will compile.

Add comments to your program as you type your code. Rarely will you want to go back and add them. Labeling bracket can be useful to new programmers to prevent errors. Format your source code with proper line spacing and indentation. Many IDE’s (such as eclipse) will have this feature built-in.

Make sure you understand what you trying to accomplish. Many programs can be understood in terms of Input, Processing, and Output. Input happens first, then Processing, and finally Output. Know what you are trying to accomplish. A little bit of planning will go a long way. The worst possible way to complete a programming assignment is to “start typing”. Spend some time understanding the problem and designing your solution. Define the steps you will use to solve the problem. Define the variables and structures you will need.

The more books you read and examples you work with the better your understanding will be. It takes time. Tiger Woods has spent hours and hours on the golf course perfecting his game. He didn’t just sink one put and say “I got it”. He keeps practicing …

Learning how to program can be very frustrating at times. I remember spending an hour and a half on a True BASIC program where I had used the word “imput” rather than “input”. The more you program, the better you will get at finding errors. Think like a detective. Try to narrow down where the error might be. Verify the value of variables as you go with print statements or by using a debugger. Marathon programming sessions are usually not as productive as working a little bit at a time.

Always something new to learn (Welcome)

One of the things I enjoy (usually) about teaching computer science is that their is always something new to learn. Things never stay the same.

I have been using the Internet since the fall of 1991 when I learned how to ftp, telnet, and e-mail (I only knew two people at the time with e-mail outside of the university). Gopher appeared soon after and then the world wide web. Archie & Veronica searches gave way to yahoo, Altavista, and then Google.

The first computer we owned at home was a Radio Shack Color Computer II (about 1984) with 16K of memory (yes that is K, not MB, not GB). It used the TV as a monitor and cassette tapes for storage. I used to type-in programs that came in a monthly magazine. I remember thinking “if I just had 32K I could run anything!”.

Blogs have been around for quite a while it was time for me to give it a try.

-Prof. Lehman