Lab 10: Selection Sort in Java — CSCI 134: Introduction to Computer Science CSCI 134: Introduction to Computer Science Calendar Syllabus Office and TA Hours Resources Programmer’s Toolbox Python Quick References Strings and Lists Viewing Feedback on Labs Python Style Guide Set Up Your Computer For CS 134 Set Up Your Mac Set Up Your Windows PC Set Up Your Windows PC (Non-Linux Version) How To Use Jupyter Notebooks Useful Links Think Python Textbook Computer Science Department Williams College Contents Getting Started Completing SelectionSort.java Compiling and Executing your Code Submitting Your Work Grading Guidelines Lab 10: Selection Sort in Java Contents Getting Started Completing SelectionSort.java Compiling and Executing your Code Submitting Your Work Grading Guidelines Lab 10: Selection Sort in Java¶ Objectives 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. Getting Started¶ Clone the lab resources from the gitlab repository, as usual: cd cs134
git clone https://evolene.cs.williams.edu/cs134-labs/22xyz3/lab10.git
where your CS username replaces 22xyz3. If you are working with a partner, replace this with your CS username and your partner’s CS username, sorted, and separated by a - (eg, 22xyz3-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. Completing SelectionSort.java¶ 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. 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. javac SelectionSort.java
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. ls
Finally, when you are ready to execute your code, you can do so by typing java followed by name of file (without the .class extension): java SelectionSort
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 Grading Guidelines¶ 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. © Copyright 2022.