SE1020: Software Development II - Outcomes

On successful completion of this course, the student will:

UML

  1. read and understand UML class and sequence diagrams
  2. implement source that meets the design specified in a UML class and sequence diagram
  3. create UML class and sequence diagrams in Enterprise Architect

GUI Components

  1. state what GUI stands for
  2. use the following static methods from the JOptionPane class: showMessageDialog(), showInputDialog(), showConfirmDialog() and showOptionDialog()
  3. use Sun's Java documentation to clearly explain in their own words the role of various parameters for each of the methods above
  4. describe the differences between the AWT and Swing packages
  5. list at least three types of objects that can be contained in a JFrame object
  6. identify two ways to position GUI components on the content pane of a JFrame object
  7. modify the content pane of a JFrame object
  8. differentiate between layout managers such as: FlowLayout, BorderLayout and GridLayout
  9. use the layout managers listed above to arrange components on a content pane

Event-Driven Programming

  1. explain the roles of event sources and event listeners in event-driven programming
  2. define a GUI class that is derived from JFrame and implements the ActionListener interface
  3. list the two types of objects required for event driven programming in Java
  4. explain the role of “event source” objects and give examples of two classes whose instances are “event source” objects
  5. explain the role of “event listener” objects and give examples of two classes whose instances are “event listener” objects
  6. design and implement event handling methods to handle multiple Action Events
  7. design and implement a graphical user interface (GUI) application programs using the JButton, JLabel, JTextField and JTextArea classes of the Java Swing package
  8. implement code to handle an action event from the JButton or JTextField Java Swing classes
  9. explain the purpose of the argument passed to the actionPerformed() method
  10. design and implement an ActionListener class
  11. determine an event source from within an actionPerformed() method
  12. determine the specific object that initiated an Action Event
  13. describe at least two different ways of structuring ActionListener classes and discuss advantages and disadvantages of each
  14. describe the differences between an inner class and a regular (non-inner) class
  15. make use of inner classes to implement ActionListeners

Exception Handling

  1. explain how exception handling increases the robustness of software
  2. define exception; explain the concepts of “catch” and “throw” as they relate to exceptions
  3. explain why Error exceptions should not be caught in application code
  4. for a given program and input condition, determine the control flow of a try-catch block, with and without the finally clause
  5. implement a method that catches an exception thrown by a class in the Java Standard Library
  6. implement a method that uses a try-catch block and a repetition statement (i.e., loop) to validate user input
  7. distinguish between checked and unchecked exceptions
  8. explain the concept of exception propagation; explain the outcome if an exception is thrown and not caught by the program
  9. explain the consequences of not handling a checked exception within a method where the checked exception occurs
  10. implement a method that creates an instance of a specified type of exception and throws it

File Input and Output (I/O)

  1. create a Java File object and associate it with a file on disk
  2. determine if a File object exists
  3. determine if a File object is a file or a directory
  4. associate a low-level input (i.e., FileInputStream) or output (i.e., FileOutputStream) stream with a File object
  5. describe how low-level file I/O works (i.e., reading or writing of byte data, importance of the sequence of data)
  6. describe how high-level (DataOutputStream and DataInputStream) file I/O works (i.e., methods for reading and writing of primitive data types, association with low-level stream, the importance of the sequence of data)
  7. explain why it is important to close a stream when file operations are complete
  8. explain what the PrintWriter class is used for
  9. read text data from a file using Scanner objects
  10. explain the difference between binary and text files
  11. describe how object I/O (ObjectOutputStream and ObjectInputStream) works (i.e., methods for reading and writing of objects, association with low-level stream, the importance of the sequence of objects and type casting)

ArrayLists

  1. use the Java Collection Framework to create an instance of an ArrayList
  2. describe the advantages of an ArrayList over an Array
  3. Populate an ArrayList<E> with objects of a specific type E
  4. iterate through an ArrayList examining each object in the list
  5. serialize an ArrayList using ObjectOutputStream

Inheritance and Polymorphism

  1. explain what it means for a class to implement an interface
  2. use inheritance in creating classes
  3. use the “protected” modifier in defining an inheritance hierarchy
  4. explain why a class with a superclass other than object should make an explicit call to a constructor of the superclass
  5. describe when to use an abstract class
  6. explain the concept of the Java interface
  7. create an abstract method; describe the purpose of abstract methods
  8. explain the concept of polymorphism
  9. read code that uses inheritance and polymorphism and determine its output on execution
  10. describe the differences between an abstract class and an interface
se1020labs/outcomes.txt · Last modified: 2009/06/03 11:22 (external edit)
 

This website is not owned or managed by the Milwaukee School of Engineering.

© 2003-2010 Dr. Christopher C. Taylor, et. al. • Office: L-343 • Phone: 277-7339 • npǝ˙ǝosɯ@ɹolʎɐʇ • -> RSS <-