CS 1302 – Final Exam Review

advertisement
CS 1302 – Final Exam Review
The final exam is cumulative and covers all material covered in class except Ch. 23 (Algorithm efficiency)
and Ch. 25 (Lists). It does include the material from Ch. 26 (BST’s). You will be provided with some material
from the API on the final and have also been given this in advance so that you will know what you will be
given. The exam will have lots of code problems and some m/c and t/f.
Sections 22.1 – Introduction
A high-level Study Guide Organized by Learning Outcomes is given below. I would recommend the
following to study for the exam:
1. Study all the old tests carefully.
2. Review the Study Guide (below) carefully. Flip back to the text, notes, old tests as needed.
3. If you still have time, read the notes, front to end. There are lots of details that can be needed in
places.
4. If you still have time, read the text, front to end.
Study Guide Organized by Learning Outcomes
1. Create a well-structured UML design for a program requiring 5-10 classes.

Know how to draw a proper UML class diagram that includes: classes, methods, variables, abstract
classes, abstract methods, overriding, immutable, interface, composition, manager classes
2. Use inheritance, abstract classes, interfaces, and generics appropriately in program design and
implementation.





Know how to code: inheritance, abstract classes, interfaces; as well as details of immutability,
constructor chaining (this and super), use of classes to solve problems.
Know how to code a generic class (stack was a good example)
Know how to code a generic method (print generic array example)
Know how to code using a bounded type (E extends Animal)
Know how to code using a wildcard (ArrayList<Animal> vs. ArrayList<? Extends Animal>)
3. Create programs that perform binary I/O and include exception handling.





Know how to code binary i/o using exception handling.
Know how to catch exceptions
Know how to throw exceptions
Know how to write a custom exception
Know details of try/catch/finally
4. Identify when sets, lists, and maps are needed and be able to use them appropriately within a
program.



Know characteristics of lists, sets, maps, queues.
Know when to use them.
Know how to code them.
5. Design and implement simple event-driven programs with a graphical user interface.

Know how to write a simple gui that responds to an event.
6. Discuss the advantages of polymorphism and inheritance.

Research this from text and notes and write something up for this.
7. Use and evaluate recursion as a problem solving technique.



Know how to code a problem with recursion
Know when it is appropriate to use recursion
Know when it is not appropriate to use recursion
8. Be able to use stacks, queues and binary search trees to solve programming problems.


Know how to add and remove from a BST
Know different traversal methods for a BST
9. Create a well-structured UML design for a program requiring 5-10 classes.
Software is designed. UML is an important language to communicate a portion of the design. See CS
1301 – UML Review.
10. Use inheritance, abstract classes, interfaces, and generics appropriately in program design and
implementation.
11. Create programs that perform binary I/O and include exception handling.
12. Identify when sets, lists, and maps are needed and be able to use them appropriately within a
program.
13. Design and implement simple event-driven programs with a graphical user interface.
14. Discuss the advantages of polymorphism and inheritance.
15. Use and evaluate recursion as a problem solving technique.
16. Be able to use stacks, queues and binary search trees to solve programming problems.
Download