CS-140 Fall 2017 Final Lab Test

Today, we are doing a lab test. Today's work will be evaluated by the Professor, and you will get feedback telling you your grade out of 30 points. The grade in myCourses center for the lab test will not count toward your final grade, but it will be included in your Final Exam grade.

Ground Rules

In lab tests, the rules are slightly different than normal labs, as follows:

To Do

All of the code for today's lab should be in package labT2.

Today's final lab test is very open ended. I would like to write some Java code that illustrate some of the concepts we have learned about this semester. The classes you write do not need to do anything special, as long as they demonstrate the concepts. For instance, in practice test 2, the Professor provided code with a Base class, a BaseChild class, and a BaseGrandChild class that demonstrated private methods, but did not do anything real.

The only restriction on the code is that you are not allowed to copy code from previous labs, lectures, published examples, homework, tests, or from the internet. You may use the concepts from other work, but the code itself must be code that you write in today's lab.

I would also like you to add a comment that identifies the specific part of the code that implements a specific concept. The text of the comment can just be the name of the concept. For instance, in the practice test 2 example, I might have included...

package test2;
public class BaseChild extends Base {
	public void m1() { System.out.println("BaseChild.m1"); }
	private void m2() { System.out.println("BaseChild.m2"); } // private method not inherited

Please implement TWO of the concepts taken from the list of concepts provided at your lab session by your TA. (Each lab session will have a different list of concepts to choose from, but the lists will be of equivalent complexity.) You may decided to implement both concepts in a single class, or you may implement each concept in its own class. You may also need supporting classes to implement the concept.

Extra Credit

If you implement JUNIT test cases for all of the methods in your code, I will provide up to 5 points extra credit that can be used to offset any deductions on the final exam.

Creating a zip file for submission

Create a zip file called labT2_<userid>.zip where <userid> is your bmail user id from your labT2 package. You may either using the zip command

  > zip -r labT2_<userid>.zip labT2

Or use the Eclipse export wizard. Please double check and make sure you .java files are in the zipped submission file! Now, go to MyCourses using your web browser, open the CS-140-B1 course, click on "Content"; then "Lab assignments" and then "Lab Test 2 Submission" and upload your zip file.


This lab test is worth 30 points. The following are reasons for deductions: