Resources
1 1. Reference Material
1.1 Review material from Earlier Courses
- Unix & Linux (CS252)
- Java for Programmers (CS261) A review of the bascis of the Jav programming language.
1.2 The Java Language
- The Java API (basic language) Most of what you need for this class will be in the packages
java.lang
,java.util
, andjava.nio.file
. - Oracle’s Java Tutorials
- W3 School’s Java Tutorials
1.3 Debugging
-
Deskchecking and Debugging Output (CS250/333)
-
Debugging basics (CS252)
-
Debugging (CS250/333)
-
Debugging in IDEs (CS252)
-
Debugging – Using Hypotheses to Track Down the Culprit (CS250/333)
1.4 Complexity
1.5 Algorithm Animations
A number of the more important or interesting algorithms covered in this course are available as animations that you can run to see how the data is being manipulated.
2 2. Tutoring
-
Tutoring is available from the College of Science’s Science Tutoring Center.
-
The Computer Science branch is in Dragas 1115. See here for hours.
-
-
ODU also sponsors tutoring via Tutor.com. The relevant link appears in Canvas.
3 3. Software Downloads
3.1 Compilers & IDEs
A compiler translates your programming language source code into an executable. A compiler is not a program that allows you to create, edit, run, test, & debug your code. Code::Blocks
, Eclipse
, XCode
, etc. are not compilers – they are IDEs (see below).
An IDE is a program that “surrounds” a compiler and provides support for a variety of programming activities, including writing code, compiling it, correcting errors, running and testing the resulting program, and debugging the program.
You can find my recommendations for compilers and IDEs to install on your own PC here.
3.2 Libraries
These libraries are not part of the Java API but will be used in many assignments. You will not need to take any special steps to install these. The assignment build files will automatically import them when needed.
-
Guava is a broad-ranging collection of libraries for general-purpose use. We will use it late in the semester when we look at graphs.
-
JUnit is the most widely used unit testing framework in the world.
3.3 Build manager
All programming labs and assignments in this course will use the Gradle build manager.
Gradle is packaged into the assignments and requires no special installation.