Review CSE116 2/21/2019 B.Ramamurthy
CSE116 : Specific Goals (First day handout) CS2: Goals Programming Language Concepts and Java - Syntax Semantics Algorithmic Analysis – Big-O Java API for ADTs Control Structures Collection classes Packages Tools : java, javac and javadoc Problem Solving Techniques Requirements Analysis Design Specification Unified Modeling Language (UML) - Patterns Implementation Testing Documentation Recursion Object-Oriented Principles Class : Behavior and Properties Classes and Relationships Encapsulation Interfaces - Inheritance & Polymorphism - Reusability and Large-Scale Design Abstract Data Types Linked list Stack Queue Bag Trees : Binary, binary search tree Priority queues and heap Tables Graphs Sorting and searching Analysis of algorithms 2/21/2019 B.Ramamurthy
CSE116 : Goals Attained CS2: Goals Programming Language Concepts and Java - Syntax Semantics Algorithmic Analysis – Big-O Java API for ADTs Control Structures Collection classes Packages Tools : java, javac and javadoc Problem Solving Techniques Requirements Analysis Design Specification Unified Modeling Language (UML) - Patterns Implementation Testing Documentation Recursion Object-Oriented Principles Class : Behavior and Properties Classes and Relationships Encapsulation Interfaces - Inheritance & Polymorphism - Reusability and Large-Scale Design Abstract Data Types Linked list Stack Queue Bag Trees : Binary, binary search tree Priority queues and heap Tables Graphs Sorting and searching Analysis of algorithms + AVL Trees, Decision Trees + Hashtable+LRS Structure 2/21/2019 B.Ramamurthy
Introduction (User) Requirement Analysis was done using Use Case Model. Result of this phase is a Use Case Diagram(s). Further analysis involves using the use cases to discover classes and relationship among them. Result of this phase is a class diagram(s). Next, the classes need to be defined: the attributes, the methods and dynamics of the interaction among the classes. Dynamic Model expresses the dynamic behavior of objects (instances of classes) and the interaction among objects during the execution of a system. Dynamic Modeling Tools are: Inter Object: Sequence Diagram, Collaboration diagram, and Activity Diagram and Within Object: State Diagram. 2/21/2019 B.Ramamurthy
Dynamic Model Sequence Diagrams: describe how objects interact and communicate with each other. Primary focus here is time. Collaboration Diagrams: describe how objects interact but the focus is on space. Activity Diagrams: yet another way of showing interaction but with focus on activities. Since Sequence, Collaboration, and Activity diagrams all show interaction, you must make a choice as what you want to use in your practice. State Diagrams: describe which states an object can have during its life cycle, behavior in those states, and along with events that bring about state transitions. 2/21/2019 B.Ramamurthy
Class Definition Class name Class attributes/characteristics/properties/data Class operations/capabilities/behaviors/methods Types of methods: Constructor(s) Destructor Service methods Get/set methods Utility methods Predicate methods 2/21/2019 B.Ramamurthy
Message Types and Notation (UML) Synchronous Message (call) Asynchronous Message (interrupt) Simple Message (passing of control Flow) Message Return Note: Rational Rose Demo tool provides just one type of arrow head for all the messages. 2/21/2019 B.Ramamurthy
Components of a Sequence Diagram An Object An object Dan which is an instance of class Manager An object which is an instance of class Manager Dan, the Manager is a message to sending Sue, the Employee to contactClient(); contactClient() is a method of Employee class. 2/21/2019 B.Ramamurthy
Job Application: Class Diagram Secretary JobApplicant Manager recvAppln( ) fillupAppln( ) nextAppln( ) Intray Application put( ) new( ) get( ) 2/21/2019 B.Ramamurthy
Job Application: Sequence Diagram 2/21/2019 B.Ramamurthy
Material For Final Exam Class notes on Web All the code examples Selected chapters and sections from the text Projects (no code but design details) Review on 12/10: NSC 210 11.00 am: 12.50 pm and/or 6.00 pm: 7.50 pm 2/21/2019 B.Ramamurthy
Final Exam When: Dec 12 (12/12) Where: NSC 201 What time: 8.00am – 11.00am Comprehensive Closed book, closed notes 2/21/2019 B.Ramamurthy
Exam Format 8 major questions (20 points each) Problem statement to design (Class diagram) Object-oriented concepts: class, interface, abstract class, modifiers, etc. Linked List Binary Trees, Decision Trees Recursion Search trees (Binary + AVL) Sorting and Searching Heap sort, Complete binary tree and Priority Queues 2/21/2019 B.Ramamurthy
Exam Format (Contd) 8 minor questions (10 points each) Arrays Stack Queue Graphs/Hash table Choosing appropriate data structures Design Patterns Exception handling Algorithm analysis (running time expression and Big-O notation) 2/21/2019 B.Ramamurthy
Chapters and Sections from textbook For chapter 3 read class notes Chapter 4: 4.1 – 4.3 Chapter 5: 5.1-5.2 Chapter 6 Chapter 7: 7.1, 7.3 Chapter 8: 8.3 Chapter 9: 9.1, 9.2 Chapter 10: 10.1-10.4 Chapter 12: 12.1-12.2 2/21/2019 B.Ramamurthy