introduc on
play

Introduc)on EECS1022 M OBILE C OMPUTING Abstrac)on & Separa)on - PowerPoint PPT Presentation

Introduc)on EECS1022 M OBILE C OMPUTING Abstrac)on & Separa)on of Concerns The SoCware Development Cycle Object Oriented Programming [OOP] Data structures and Algorithms Android App Development User Interface [UI] Design The


  1. Introduc)on EECS1022 M OBILE C OMPUTING § Abstrac)on & Separa)on of Concerns § The SoCware Development Cycle § Object Oriented Programming [OOP] § Data structures and Algorithms § Android App Development § User Interface [UI] Design § The Java Programming Language P ROF . Y. L ESPÉRANCE Dept. of Electrical Engineering & Computer Science • Builds on EECS1012 Separa)on of Concerns, Computa)onal thinking. • Industrial-Strength Tools UI via XML ( not HTML), Behavior via Java ( not JS). • Solid PlaWorm O/S is Android, IDE is Studio. • Experien)al Pedagogy Founda)onal concepts in class + real-life projects in lab EECS1022/Lesperance 1

  2. Introduc)on • Like a Generalized HTML But 100% strict. • Well-Formed XML Obeys the syntax rules: See: h)p://www.w3schools.com/xml/xml_syntax.asp • Valid XML O P Q Must be well-formed and obeys a schema that dictates the names of tags and aaributes (namespace) and sets the types of their values. <LinearLayout layout_width="match_parent" orienta)on="ver)cal"> • Adopts the C Syntax <EditText layout_width="match_parent" id="width"/> Same as JavaScript <EditText layout_width="match_parent" id="height"/> • Strongly-Typed <Buaon layout_width="match_parent" text="Compute" id="buaon"/> Syntax errors exposed as you type. Sta)c checking of </LinearLayout> poten)al run)me and logic errors. Locate: • OOP Document root, tag, closing tag, a)ribute, a)ribute value Programming by Delega)on. Note the naming style for mul)-word iden)fiers: • PlaWorm-Independent Pascal, Camel, or underscore. Write once, run anywhere. EECS1022/Lesperance 2

  3. Introduc)on public class Rectangle • Class { • Block private int width; • A)ributes • Can use standard Java library classes private int height; • Constructor • Method public Rectangle(int w, int h) • Browse API to find out how to use • Method Return { • Parameter • Import the classes you use this.width = w; • Variable this.height = h; • DeclaraHon • Can use non-standard Java libraries by } • Assignment installing and linking them to your project public int getArea() • IdenHfier { • Keyword int result = this.width * this.height; • Operator return result; • Separator } • Literal } Makes wriHng code easier (compile-as-you-type); designing UI easier (drag widgets, set properHes); running and debugging. • Launch Studio From the ApplicaHon , Programming menu. • Start a New Project Programming by Delega)on. • Project Loca)on /home/user/AndroidStudioProjects/ EECS1022/Lesperance 3

  4. Introduc)on • Is concerned with informa)on and its processing • What problems are solvable by algorithms? • Computa)onal complexity of algorithms and problems • Programming and abstrac)on EECS1022/Lesperance 4

  5. S EARCH FOR A GIVEN N List: 26 30 12 2 17 7 5 Complexity: O(N)

  6. S EARCH FOR A GIVEN N Sorted List: 2 5 7 12 17 26 30 Complexity: O(lgN)

  7. S EARCH FOR A GIVEN N Tree: 12 5 26 7 2 17 30 Complexity: O(lgN)

  8. S EARCH FOR A GIVEN N Hash Table: 0 0 1 0 2 1 3 0 4 0 5 1 6 0 7 1 8 0 9 0 10 0 11 0 12 1 13 0 14 0 15 0 16 0 17 1 18 0 19 0 20 0 21 0 22 0 23 0 24 0 25 0 26 1 27 0 28 0 29 0 30 1 31 0 Complexity: O(1)

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend