Lab 10: Selection Sort in Java
Lab 10: Selection Sort in Java¶
In this lab you will write a simple Java program that implements the selection sort algorithm. The goal is to gain experience with Java syntax and explore the similarities and differences between programming in Python and Java.
Before you start this lab, review the selection sort algorithm from the lecture on sorting.
Clone the lab resources from the gitlab repository, as usual:
cd cs134 git clone https://evolene.cs.williams.edu/cs134-labs/23xyz3/lab10.git
where your CS username replaces
23xyz3. If you are working with a partner, replace this with your CS username and your partner’s CS username, sorted, and separated by a
23xyz3-24abc2). The description of the files provided in the starter is available in
README.md and discussed below.
We have provided you with a Python script
selectionSort.py which contains an implementation of the function
selectionSort along with the
if __name__ == "__main__" suite which calls the sorting algorithm on a randomly generated list. We have also provided you
SelectionSort.java with some skeleton code for getting started. This is the file you will be typing in for this lab.
We encourage you to use the lab computers for this assignment. However, if you would like to complete this lab on your laptop, you will need to install Java. Follow the instructions found here for your computer.
Start by reviewing the Python code provided in
selectionSort.py. You will be translating this code pretty much line-by-line to Java. We have provided comments to help guide you in this process.
Your only task for this week is to complete the implementation of the
selectionSort method in
SelectionSort.java, along with the
main method which creates an random array of numbers, calls the selection sort method, and prints the array before and after sorting. Look for the commented
TODO lines in the code for more guidance. Note that your code should produce output that matches the output produced by the Python script with respect to formatting. Hint: You may find the static method Arrays.toString(array) useful for printing the contents of your array.
Compiling and Executing your Code¶
To test your code, remember that you first need to compile it before you execute it.
If you have syntax errors in your code (missing types, semicolons, parentheses, curly braces, etc), this step will call attention to those errors.
Once the compiler runs smoothly, notice that it creates the
SelectionSort.class file, by typing
ls in your Terminal.
Finally, when you are ready to execute your code, you can do so by typing
java followed by name of file (without the
Submitting Your Work¶
When you’re finished, stage, commit, and push your work to the server as in previous labs.
Do not change the method headers provided in the starter code.
Make sure you implement the
TODOs listed in starter code
See lab Syllabus for an overview of the rubric used in grading. The file
Gradesheet.txt gives you specifics of our expectations for this lab.
Functionality and programming style are important, just as both the content and the writing style are important when writing an essay. Make sure your variables are named well, and your use of comments, white space, and line breaks promote readability. While indentation is not required in Java, it is still considered good style to use it as you did in Python.