Comp Think 2: 3-2-2026

Introduction to Dynamic or Behavioral Diagrams

  • Focus on dynamic/behavioral diagrams.
  • Importance of utilizing diagrams for projects.
  • Diagrams help explain behaviors within a system.
  • Not all diagrams are equally important, focus will be on specific ones for current projects.

Purpose of Diagrams

  • Diagrams are not just for learning; they must be used practically in projects.
  • Emphasis on practicing and personalizing diagrams to enhance understanding.
  • Recommended practice: Extend examples presented in class to prepare for potential extra credit.

Course Timeline and Assignments

  • Assignments will be posted in Blackboard by end of the day.
  • If not visible, contact the instructor via Discord.
  • Continuing discussions of dynamic diagrams on Wednesday.
  • Practical project work on Friday before Spring Break (Opportunity for questions and exam preparation).
  • Exam scheduled for the Monday after Spring Break on the 16th; students have two weeks for preparation.
  • Presentations are due Wednesday after Spring Break, requiring submission of files (not links).

Class Project Requirements

  • Class project requires a total of at least three diagrams:
    • One class diagram (discussed in previous classes).
    • At least two dynamic diagrams (suggestion to create more).
  • Static diagram (class) is meant to provide a basic structure; dynamic ones explain behaviors.

Reminder on Virtual Methods

  • Review of class diagrams:
    • Structure involves attributes, methods, and relationships.
    • Discussion on virtual methods: allows for different implementations in subclasses.
    • Example: Withdrawal method in a bank account class which might differ for checking and savings accounts.

Object vs Class Diagrams

  • Distinction made between class diagrams and object diagrams.
  • Class diagrams show the general structure; object diagrams show specific instances created from classes.
  • Example discussed to clarify how to interpret object diagrams within a given scenario.

Introduction to State Machine Diagrams

  • Transition to discussion about State Machine Diagrams.
  • Definition of state machine diagrams in UML: demonstrate how objects transition between various states.
  • Example: A person navigating through states of "Awake" and "Asleep."
  • Comparison with finite state machines or flowcharts which may use similar terminologies.

Example of a Keyboard's State Machine Diagram

  • Detailed discussion on a keyboard and its basic states (default and caps lock).
  • Initial transition for a keyboard from default to caps lock upon keypress.
  • Clarification of how states can be transitioned based on triggers (keypresses).

States and Transitions

  • The default state and caps lock state are introduced along with transition mechanisms.
  • The importance of triggers in transitioning states is emphasized.
  • Review of what happens during state transitions and which actions are taken based on inputs.
  • Provide examples of typical states along with transitional actions for clarity.

Conditional States and Activity Diagram Introduction

  • Transition discusses how state machine diagrams can differ from activity diagrams.
  • Activity diagrams focus on business flows using verbs to express actions (as opposed to states).
  • Emphasis on understanding the structure and function of activity diagrams within a UML context.

Discussion on Trigger Scenarios

  • Exploring situations where multiple keys are pressed and their consequences on variables (key counts).
  • Suggestions on managing boundaries and conditions within diagram logic frameworks, illustrating issues that might arise with triggers and state management
  • Breakdown of how to simulate actions correctly so that they reflect real-world applications.

Implementing Activity Diagrams

  • Outlined how activity diagrams can depict activities of individuals (e.g., a susceptible person on Zombie Island).
  • Examples are provided to illustrate how a susceptible person transitions to an infected status if certain conditions are met.
  • Importance of mapping actions to clearly represent object behaviors in simulations.

Final Thoughts

  • The instructor encourages students to extend their diagrams to create more comprehensive models, advocating for a proactive approach to their learning.
  • Recap on differentiating between state and activity diagrams.
  • Reinforcement of the importance of active participation in their individual and group projects.
  • Understanding the need for clear distinctions in roles (students) and ownership in their part of responsibilities.

Conclusion

  • Reminder on the importance of maintaining a positive attitude and consistency in effort towards projects and assignments.
  • Encouragement to ask questions and engage with material for better comprehension.
  • Call to action for students to improve their understanding and application of both static and dynamic diagrams.