Online Texts and References
You may want to peruse online textbooks to get a different perspective from the course text. Here are a set of good, free resources. (If you find a book useful, please consider donating to the author or buying a paper copy.)
- How to Think Like a Computer Scientist (Java edition)
- Introduction to Programming Using Java
- Java Language Reference
- Thinking in Java
Practice Problems
None of these sites are required work. They are provided in case you would like extra practice working with Java or to get your programming skills back up to speed after a well-deserved summer break.
- Codelab: The site we used for Python practice in CSC108 also offers Java problems. The site is not free, but more problems are offered here than on the free sites. You can sign on as an individual student and browse through problem categories to find the practice problems you need.
- CodingBat: A page with a selection of Java and Python problems. Each exercise can be solved in both languages, so you can compare differences.
- PracticeIt: This site offers a range of problems -- from code tracing to multiple choice to the standard programming problem. You may find this site useful as a step between reading the textbook or attending lectures and starting to code.
- Problets: Prof Amruth Kumar has kindly set up a selection of "Problets" for our class. The exercises cover Java expressions, selection, loops, functions, and arrays -- the topics we believe are most relevant to the first assignment.
Course Software: Java, NetBeans, and Subversion
We use Java 6 in the labs. Java 5 is perfectly fine, too. Since we're using NetBeans as our IDE, we recommend that you get the JDK (Java Development Kit) and NetBeans as a package. If you're using a Mac, you'll need to get NetBeans from a different site.
There is extensive Java documentation; you can use it online or click the first link to download the documentation to your own computer. (Due to size constraints, please do not download it to your campus account; use the online version instead.) Here's a link to the docstring equivalents: Java Platform documentation.
You'll be submitting your assignments using Subversion. NetBeans comes with Subversion, but you may want to install it separately.
Regular expressions
Here are some regular expression resources that you may find helpful.
- Java regex tutorial
- Regex Tutorial, Examples and Reference
- Regular Expression Library
- RegexBuddy - Your Regex Coach and Assistant
User interface design
Checkstyle
Checkstyle checks your code for Java style guideline violations. There are several NetBeans plugins; here is one:
Code Reviews
Here are some code review sites: