ECE 538 Assignment 9

Your submission should follow our general guidelines. Please follow object-oriented principles. Include an executable jar file for each program.

  1. Generate a final version of your circuit layout/analysis program as extended from earlier assignments. Your program should allow the user to generate a complete circuit diagram starting from choosing a New circuit (in File menu). You should then be able to solve for the unknown mesh voltages and currents. You should also be able to save a netlist file and open it later to make changes in the circuit. This version should also implement a JPopupMenu with a menu item to rotate the selected circuit component or edit the component (using a dialog box).

    The LTSpice version of the circuit below (and results) can be downloaded from Note that our netlists include location information, wires, and have a different syntax.

    R1 2 1 100
    R2 3 2 300
    R3 0 4 500
    R4 0 5 200
    VA 3 5 6
    I1 2 4 0.005
    R5 1 0 400

  2. Write a Java program to generate a SVG file for a circuit drawing. You may adapt and earlier circuit drawing program.

  3. Improve your robot controller from asgn08 (if necessary) and incorporate it into game1. The goal of the game is to steer the robot to the yellow X as quickly as possible.

  4. Write a Java program to perform Dilation and Erosion on a binary image. See morph1 for MATLAB examples and download, which contains the MATLAB code and the test image shown below.

  5. Write a Java program to read an html file from the web and list the images and hyperlinks found in the program.

    Extend the previous program to read and save the image files found on an html file from the web. See code

  6. Modify the TicTacToeServer class to test for a win, loss or draw after each move. Send a message to each client that indicates the result of the game when the game is over. Modify the TicTacToeClient class to display a button that when clicked allows the client to play another game. The button should be enabled only when a game completes. Both class TicTacToeClient and class TicTacToeServer must be modified to reset the board and all state information. Also, the other TicTacToeClient should be notified that a new game is about to begin so that its board and state can be reset. Download code from

    See Dietel and Dietel, Java, How to Program, 9th Edition
    Prentice-Hall, 2012. ISBN 0-13-257556-3. Chapter 27, Networking.

  7. Add a few new Knock, Knock jokes to the KnockKnockServer. Your jokes should come up first. See KnockKnock code to download source.

Maintained by John Loomis, last updated 24 April 2017