SWE 2410 2nd Exam Prep

Review

Topics

The exam will focus on material since exam 1, but may include some of the older material. In particular, expect to answer questions about coupling and cohesion and also to draw UML class and sequence diagrams.

Review Questions

  1. Name a pattern that improves coupling but not cohesion, and name a pattern that improves cohesion but not coupling.
  2. Some engineers argue for a type of coupling based on inheritance. Identify reasons to list this as a different type of coupling and reasons to not.
  3. Are all uses of Java's reflection features (like setAccessible) content coupling?
  4. Describe how the checkers program could be rewritten using the MVC Pattern.
  5. Explain how JavaFX implements MVC. Why might its implementation of MVC be inadequate for large projects?
  6. Name 3 examples of excise found in IntelliJ.
  7. Many websites go to the extreme of having very few choices on their landing page while others have an overwhelming number. Why are both forms of excise?
  8. Name 3 types of excise experienced in the everyday life of students (not involving software).
  9. Explain two uses of the Command pattern besides eliminating "do you really mean to do that?" messages.
  10. Draw the command pattern as it might be applied to registering for courses in the coming semester.
  11. Can you write a Java application that uses threads that is guaranteed to never terminate without just falling into an infinite loop?
  12. Do threads require multi-core CPUs? Explain.
  13. If a method is synchronized and two threads execute the method at the same time, which goes first? Why?
  14. Explain what Platform.RunLater does.
  15. How do AWS Lambdas satisfy the "essential characteristics" of cloud computing as identified by NIST?
  16. Computing the distance between two GPS coordinates requires a lot of geometry since the earth is not precisely spherical. Suppose you write a Lambda to compute the distance between two GPS coordinates. Use this to explain API, GET, JSON, API Key, and endpoint.
  17. Why is JSON format often used to transmit data to and from AWS Lambdas?
  18. What are some reasons to not use JSON format to transmit data to and from AWS Lambdas?
  19. Suppose you are developing a new web-based application around AWS Lambdas. It is always bad to introduce too many technologies, so you decide to use Lambdas to implement Step Functions. Explain why this is a bad idea.
  20. Can you think of a way to use Lambdas to implement Step functions without incurring overhead?
  21. Would Pub/Sub be a good cloud pattern to use when an application never needs more than one subscriber? Explain.
  22. When should you use the Singleton Pattern? Why is global access important?
  23. Could the Singleton pattern be used for implementing a scheduler where there is a different scheduler for each day of the week?