COP 3804 Intermediate Java Learning Outcomes: 2. Describe common applications for each data structure in the topic list. 3. Write programs that use each of the following data structures: arrays, records, strings, list structures 4. Choose the appropriate data structure for modeling a given problem. 7. Describe the concept of recursion and give examples of its use. 1. Implement and trace the execution stack of a simple recursive function. 1. Discuss and identify the concepts of encapsulation, abstraction, inheritance, and polymorphism. 2. Design, implement, test, and debug simple programs in an object-oriented programming language. 3. Describe how the class mechanism supports encapsulation and information hiding. 4. Design, implement, and test the implementation of “is-a” relationships among objects using a class hierarchy and inheritance. 5. Compare and contrast the notions of overloading and overriding methods in an object-oriented language. 6. Describe the relationship between the static structure of the class and the dynamic structure of the instances of the class. 7. Utilize iterators to access the elements of a container. 8. Describe how constructors and destructors relate to the life of an object. 9. Describe the relationship between an object and its corresponding class. 1. Discuss the importance of algorithms in the problem-solving process. 5. Apply effective debugging strategies. 1. Explain the difference between event-driven programming and command-line programming. 2. Design, code, test, and debug simple event-driven programs that respond to user events. 3. Develop code that responds to exception conditions raised during execution. Task for the Area Coordinator: - revise the syllabus to include these learning outcomes - sample exam questions (final exam and sample assignments)