150 likes | 492 Views
Review. CSE116. 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.
E N D
Review CSE116 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 • 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 • Object-Oriented • Principles • Class : Behavior and • Properties • Classes and Relationships • Encapsulation • Interfaces • - Inheritance & • Polymorphism • - Reusability and • Large-Scale Design • Problem Solving • Techniques • Requirements • Analysis • Design Specification • Unified Modeling • Language (UML) • - Patterns • Implementation • Testing • Documentation • Recursion 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 • 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 • Object-Oriented • Principles • Class : Behavior and • Properties • Classes and Relationships • Encapsulation • Interfaces • - Inheritance & • Polymorphism • - Reusability and • Large-Scale Design • Problem Solving • Techniques • Requirements • Analysis • Design Specification • Unified Modeling • Language (UML) • - Patterns • Implementation • Testing • Documentation • Recursion 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. 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. 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 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. 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. B.Ramamurthy
Job Application: Class Diagram Secretary Manager JobApplicant recvAppln( ) fillupAppln( ) nextAppln( ) Intray Application put( ) get( ) new( ) B.Ramamurthy
Job Application: Sequence Diagram 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 B.Ramamurthy
Final Exam • When: Dec 12 (12/12) • Where: NSC 201 • What time: 8.00am – 11.00am • Comprehensive • Closed book, closed notes 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 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) B.Ramamurthy
Chapters and Sections from textbook • Chapter 1 • Chapter 2 • 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 B.Ramamurthy