1 / 67

MCS 231: Concepts of Data Structure Class Hour: Section 1: MW 2:15PM - 3:30PM. Hyland 2306

MCS 231: Concepts of Data Structure Class Hour: Section 1: MW 2:15PM - 3:30PM. Hyland 2306. Instructor contact information. nguyenh@uww.edu (fastest way to contact me) McGraw 106 Office Hours: 9:00am – 11:00am MTW or by appointment 262 472 5170. Course Objectives.

les
Download Presentation

MCS 231: Concepts of Data Structure Class Hour: Section 1: MW 2:15PM - 3:30PM. Hyland 2306

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. MCS 231: Concepts of Data Structure Class Hour: Section 1: MW 2:15PM - 3:30PM. Hyland 2306

  2. Instructor contact information nguyenh@uww.edu (fastest way to contact me) McGraw 106 Office Hours: 9:00am – 11:00am MTW or by appointment 262 472 5170

  3. Course Objectives • Given a basic data structure (e.g. queue, stack, list), students will be able to apply the theory to implement applications using those data structures and analyze efficiency of each type. • Given a complex data structure (trees, graph),students will be able to design and implement it, apply theory, and compute its efficiency. • Given a large project that uses basic and complex data structures, students will be able to implement it using advanced Java techniques such as inheritance and polymorphism, interfaces and abstract classes, and the use of classes from the JAVA API.

  4. Course Objectives • Given a basic data structure (e.g. queue, stack, list), students will be able to apply the theory to implement applications using those data structures and analyze efficiency of each type. • Given a complex data structure (trees, graph),students will be able to design and implement it, apply theory, and compute its efficiency. • Given a large project that uses basic and complex data structures, students will be able to implement it using advanced Java techniques such as inheritance and polymorphism, interfaces and abstract classes, and the use of classes from the JAVA API.

  5. Course Objectives • Given a basic data structure (e.g. queue, stack, list), students will be able to apply the theory to implement applications using those data structures and analyze efficiency of each type. • Given a complex data structure (trees, graph),students will be able to design and implement it, apply theory, and compute its efficiency. • Given a large project that uses basic and complex data structures, students will be able to implement it using advanced Java techniques such as inheritance and polymorphism, interfaces and abstract classes, and the use of classes from the JAVA API.

  6. Technology Requirement • J2SE Software Development Kit (SDK): ): http://java.sun.com/javase/downloads/index.jsp (just download SDK 5.0 or later) • Eclipse: http://www.eclipse.org/downloads/

  7. Course detail - Evaluation

  8. Grading (+/-)

  9. Quiz • Quiz is used to measure: - class attendance - class preparation • Not all material will be covered in a 75-minute class • Book complements the lectures

  10. Must-have for success + + Reading textbook Practicing (labs+projects) Devote time) =

  11. Philosophy for teaching Data Structure in this course • Traditional way: implementing everything + starting from beginning+ focusing on complexity analysis • Modern way: taking advantages of built-in methods from Java/C++ • Hybrid way: taking advantages of built-in methods for simple data structure + implement everything for complex data structure + emphasize on complexity analysis

  12. Philosophy for teaching Data Structure in this course • Traditional way: implementing everything + starting from beginning+ focusing on complexity analysis • Modern way: taking advantages of built-in methods from Java/C++ • Hybrid way: taking advantages of built-in methods for simple data structure + implement everything for complex data structure + emphasize on complexity analysis

  13. Philosophy for teaching Data Structure in this course • Traditional way: implementing everything + starting from beginning+ focusing on complexity analysis • Modern way: taking advantages of built-in methods from Java/C++ • Hybrid way: taking advantages of built-in methods for simple data structure + implement everything for complex data structure + emphasize on complexity analysis

  14. Getting started… Prerequisite:MCS 220 What do we still remember or know about Java and Software life cycle activity?

  15. Class Focus Balance between theory and implementation Strict deadlines, high standard, ridiculous demands (always)

  16. Assessment Prerequisite:MCS 220 What do we still remember or know about Java and Software life cycle activity?

  17. Assessment 1.1 What does “UML” stand for? a. Understanding Modern Language b. Unified Modeling Language c. Unified Modern Language d. Understanding Modeling Language

  18. Assessment 1.2 This task is not included in a software development process. a. Architectural, component, and detailed designs b. Implementation c. Acceptable tests d. Maintenance e. Marketing

  19. Assessment 1.3 Which of the following symbols can be used in a UML class diagram to represent access ability of a data member or a method • – • + • # • *

  20. Assessment 1.5 What is the complexity of selection sort a. O(n) b. O(nlog2(n)) c. O(n2) d. O(log2(n))

  21. Assessment 2.1Overriding a method differs from overloading a method because: a. For an overloaded constructor, the superclass constructor will always be called first. b. For an overridden constructor, the superclass constructor will always be called first. c. Overloaded methods have the same signature. d. Overridden methods have the same signature

  22. Assessment 2.2Using the protected keyword gives a member: a.publicaccess (any classes can access it). b.packageaccess (only classes in the same inheritance hierarchy can access it). c.privateaccess (nobody can access it) d.blockscope (only the variables inside the same block can access it).

  23. Assessment 2.3Suppose method1 is declared as void method1 ( int a, float b ) Which of the following methods overloads method1? a. void method2 ( int a, float b ). b. void method2 ( float a, int b ). c. void method1 ( float a, float b ). d. void method1 ( int b, float a ).

  24. Assessment 2.5. Variables should be declared as data members only if a. they are local variables. b. they are used only within a method. c. they are required for use in more than one method or their values must be saved between calls to the class’s methods. d. they are arguments.

  25. Java development environment and Review of Java

  26. EclipseTMIntergrated Development Environment (IDE) • Running Eclipse: Warning: Never check the “Use this as the default and do not ask again” box.

  27. The importance of workspace • This is where you will find all your java files. • You can switch from one workspace to another. • You need to define the workspace first (where you want to put your files) before click on OK

  28. EclipseTMtutorial Perspective is a set of related Views (windows) that enable a development specialist to perform specific tasks

  29. Create an Eclipse project From the Eclipse menu bar select File, New, Project to start the “New Project” wizard. Select “Java Project” and click “Next”.

  30. Create an Eclipse project

  31. Create a Java package • Structure in dot format: for example: com.tm.tutorial.main

  32. Create Java classes Create Application class under com.tm.tutorial.main package

  33. Create Java classes Create Application class under com.tm.tutorial.main package

  34. Implementation of Java class

  35. Implementation of Java class Generating setters and getters for attributes

  36. Implementation of Java class Generating constructors

  37. Implementation of Java class Generating constructors

  38. Compile Java Application

  39. Compile Java Application

  40. Run the application

  41. Run the application

  42. Run the application

  43. Run the application

  44. Run Application (Shorter way)

  45. Setting up preferences in Eclipse If you did not download the JDK earlier in this tutorial, and your existing JRE does not appear in the “Installed JREs” preference, you must add it yourself.

  46. Setting up preferences in Eclipse

  47. Setting up preferences in Eclipse

  48. Introduction to Software Design

  49. The Software Challenge • In industry, a software product is expected to be used for an extended period of time by someone who did not write the program and who is not intimately familiar with its internal design • Initial specification for a software product may be incomplete • Specification is clarified through extensive interaction between users of the software and the system analyst Chapter 1: Introduction to Software Design

  50. The Software challenge • A requirements specification should be generated at the beginning of any software project • Designers and users should both approve the document

More Related