1 / 17

Wednesday 2-4, KH 105

Wednesday 2-4, KH 105. COMP 446 / ELEC 446 Mobile Wireless Services Project. Scott Cutler Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering cutler@rice.edu 10/13/10. Today’s Agenda. Events of the week

illias
Download Presentation

Wednesday 2-4, KH 105

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. Wednesday 2-4, KH 105 COMP 446 / ELEC 446 Mobile Wireless Services Project Scott Cutler Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering cutler@rice.edu 10/13/10

  2. Today’s Agenda • Events of the week • Announcements / Infrastructure Updates • Final Projects • Approved projects by 10/19/2010 • Detailed specification by 10/26/2010 • Your Advanced Feature App by 11/02/2010 • Next Week • Paparazzi 2b due by 10/19/2010 COMP 446 / ELEC 446 - Week 8

  3. Events of the Week • Windows Phone 7 debuts: One phone won't rule them all • Report: Adobe, Microsoft chiefs meet to talk Apple • Apple TV is already selling out at Apple stores nationwide • Wal-Mart to start selling iPad on Friday • Report has Apple in talks with record labels on new music service • Apple's AirPlay coming to 9 Denon and Marantz components • iPhone 4 glass breaking 82% more than 3GS • iPhone Reportedly Heads to Verizon in Early 2011 • Spotted: Brushed aluminum iPhone 4 for Verizon? • Google Goggles comes into iPhone focus • Intel's outlook quells worries: We see healthy global demand ahead COMP 446 / ELEC 446 - Week 8

  4. Current Roster • Julia Botev • COMP, SR, McMurtryJulia.K.Botev@rice.edu • Eric Cheng • COMP, GR eric.cheng@rice.edu • Jesus Cortez • COMP, JR, Jones JesusCortez@rice.edu • Graham De Wit • ELEC, SR, Wiessgraham.dewit@rice.edu • Ashley Herron • ELEC, SR, Martel Ashley.N.Herron@rice.edu • Vic Hu • ELEC, SR, Wiessmrwho@rice.edu • Marcos Hung • BIOE, GR Marcos.G.Hung@rice.edu COMP 446 / ELEC 446 - Week 8

  5. Current Roster (2) • Jin Kim • COMP, GR Kyujin.Kim@rice.edu • Kevin Lin • COMP, SO, McMurtryKevin.S.Lin@rice.edu • Robyn Moscowitz • COMP, JR, McMurtryRobyn.A.Moscowitz@rice.edu • Josh Rykowski • COMP, GR Joshua.Rykowski@rice.edu • Ivan Van • COMP, SR, Will Rice, i.van@rice.edu • Jeff Yeh • ELEC, SR, Hanszenjeff.yeh@rice.edu • Aron Yu • ELEC, SR, HanszenAron.Yu@rice.edu COMP 446 / ELEC 446 - Week 8

  6. Current Roster (3) • Michael Lo • ELEC, GR mlo@rice.edu • Elliot Ng • ELEC, GR elliottng@rice.edu • Rick Manning • COMP, SR, Jones rick.manning@rice.edu • Henry Zhang • ELEC, SR, Jones qz1@rice.edu • Jason Xu • ELEC, SR, Brown jax1@rice.edu • Catherine Elder • ELEC, SR, Hanszencje1@rice.edu • Sid Byrd • Staff sidb@rice.edu • Xiang ‘Jash’ Guo • ELEC, GR xg1@rice.edu COMP 446 / ELEC 446 - Week 8

  7. COMP 446 Syllabus • 8/25/10 Introduction / What makes mobile apps special • Assignment: Load Visual Studio – Due 8/30/10, Access a Mac, Download CS193P materials • 9/1/10 Intro to Mac OS X and Cocoa Touch, Objective-C, Dev Tools, Using Objective-C, Foundation framework • Videos: Lecture 1. Introduction to Mac OS X, Cocoa Touch, Objective-C and Tools (January 5, 2010) Lecture 2. Objective-C and Foundation Framework (January 7, 2010) • Assignment: Hello Rice [1a] and WhatATool 1 [1b] (Due 9/7/10) • 9/8/10 Discussion of first applications • Videos: Lecture 3. Custom Classes, Object Lifecycle, Autorelease, Objective-C Properties (January 12, 2010)Lecture 4. Building an Application; Model, View, Controller; Nib Files; Controls and Target-Action (January 14, 2010) Lecture 4a Xcode, Finding Help, Debugging (January 15, 2010) • Assignment: WhatATool 2 [2a] and HelloPoly I [2b] (Due 9/14/10) • 9/15/10 ASP.Net with a little HTML • Videos: Lecture 5. Views, Drawing, and Animation (January 19, 2010) Lecture 6. Designing iPhone Applications, Model-View-Controller, View Controllers (January 21, 2010) • Assignment: HelloPoly II [3] (Due 9/21/10) • 9/22/10 iPhone (pseudo) Web Apps / Browser Capabilities • Videos: Lecture 7. Navigation & Tab Bar Controllers (January 26, 2010) Lecture 8. Scroll Views and Table Views (January 28, 2010) • Assignment: Time to catch up or move ahead. • 9/29/10 SQL 101 • Videos: Lecture 9. Data in Your iPhone App (February 2, 2010)- Lecture 10. Performance (February 4, 2010) • Assignment: Paparazzi 1 (Due 10/5/10) • 10/6/10Creating and Consuming Web Services • Videos: Lecture 11. Text Input and Presenting Content Modally (February 9, 2010) Lecture 12. Web Views; Locations and Maps (February 11, 2010) • Assignment: Paparazzi 2a (Table View Portion) (Due 10/13/10) Create or join final project by 10/13/10 COMP 446 / ELEC 446 - Week 8

  8. COMP 446 Syllabus • 10/13/10iPad Development / iOS 4 • Videos:Lecture 13. Address Book: Putting People in Your App (February 16, 2010) Lecture 14. Touch Events & Multi-touch (February 18, 2010)Lecture 12a: Designing for the iPad (February 12, 2010)Assignment: Final Project Proposal and Paparazzi 2b (Both due 10/19/10 ) Note: Paparazzi 3 is now an extra credit assignment. • 10/20/10 Android 1 • Videos: Lecture 15. iPhone Device APIs; Location, Accelerometer & Camera; Battery Life & Power Management (February 23, 2010) Lecture 16. Audio APIs, Video Playback, Settings (February 25, 2010) • Assignment: Final Project, Stage 1 (Due 10/26/10) • 10/27/10 Android 2 • Videos: Lecture 17. Bonjour, NSStream, GameKit (March 2, 2010) Lecture 18. Unit Testing; Fun with Objective-C; Localization (March 4, 2010) • Assignment: Advanced Feature App or iPad Application (Due 11/02/10) • 11/3/10 Windows Phone 7, Final Project Prep • Videos: Lecture 19. OpenGL ES Basics (March 9, 2010)Lecture 20. From Student to Startup: Lessons from a CS193P Alumnus (March 11, 2010) • Assignment: Final Project, Stage 2 (Due 11/09/2010) • 11/10/10 iPhone v. Android v. Windows Phone 7 group discussion • Videos: Yelp Monocle (February 6, 2010) Evernote(February 19, 2010) Bump (February 26, 2010) • Assignment: Final Project, Stage 3 (Due 11/16/2010) • 11/17/10 Final Project Prep • Videos: Publishing on the App Store (March 5, 2010) LinkedIn: Important Life Lessons on CoreData & GameKit (March 12, 2010) • Assignment: Final Project (Due 12/01/2010) • 11/24/10 Thanksgiving – Continue Final Projects on your own • 12/1/10 Demonstrate Final Projects • 12/5/10 Class Offsite – Sunday (tentative) COMP 446 / ELEC 446 - Week 8

  9. Paparazzi 2 • Replaces UINavigationController with UITableViewController • Very common feature of many iOS apps. • Subclass of UIScrollView • UITableViewCell • Very lazy and green • Loaded as needed, Reused • Uses Delegate concept to control what gets displayed • UITableViewDataSource • -(UITableViewCell *)tableView:(UITableView *)tableViewcellForRowAtIndexPath:(NSIndexPath *)indexPath; • Core Data • One time creation of static database (dynamic for Paparazzi 3) • NSFetchedResultsController • – (id)objectAtIndexPath:(NSIndexpath *) indexPath • Consider getting TableView working and then attacking Core Data • Likely to be most difficult assignment of semester • Sample Code onhttp://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter • Will require a free Flickr key to actually run COMP 446 / ELEC 446 - Week 8

  10. Addressing Homework Load • Register yourself to a final project by next class, 10/13 – big negative if you do not! • Break Paparazzi 2 into two assignments. • Implement Table Views by 10/12 • Implement Core Data by 10/19 • For next week, OK to use static arrays for photos and fake objectAtIndexPath routine • For CoreData Model, OK to use single entity although not as good as relational model and required for A+ • Paparazzi 3 is optional assignment • Necessary but not sufficient for grade of A+ COMP 446 / ELEC 446 - Week 8

  11. Some Thoughts on Core Data • Very Confusing – few quick fixes at first • Not particularly readable • Suggest starting with template whenever possible. • Possibly better than using FlickrFetcher. • Some good documentation on web. • http://iphoneinaction.manning.com/iphone_in_action/2009/08/core-data-part-1-an-introduction.html • Six part series with examples • http://lethain.com/entry/2008/feb/24/one-to-many-relationships-in-coredata/ (although not iPhone and typo) COMP 446 / ELEC 446 - Week 8

  12. One to Many • NSFetchedResultsControllers return objects of type NSManagedObject. • For relationships • ‘One’ side returns an NSManagedObject of the entity element • ‘Many’ side returns an NSSet of NSManagedObjects pointing to entity elements COMP 446 / ELEC 446 - Week 8

  13. Final Projects • Major component of this course. • All exercises through Paparazzi 3 designed to prepare you to create a great app. • It would be great if App has a life after the course; however • More important for app to take advantage of unique features of smart, connected devices. COMP 446 / ELEC 446 - Week 8

  14. iPhone Advanced Features • Address Book • Bluetooth • Compass (3Gs) • Custom Animations • Gestures • GPS • Integrated Email • Integrated Movie Camera (3Gs) • Image Picker • Integrated Still Camera • Integrated Web Browser • Internet • Microphone • OpenAL • OpenGL • Playing Movies • Proximity Sensor • Rotation sensor • Multitasking • Local Notifications • Core Motion • iAd • High-Resolution Screen • Game Center COMP 446 / ELEC 446 - Week 8

  15. Final Project Proposals COMP 446 / ELEC 446 - Week 8

  16. Next Week • Paparazzi1 will have you select and display views. The main goal is to great and manipulate views using tab view controllers and custom views. • Paparazzi 2a will introduce table views • Paparazzi 2b and utilize better data storage methods. • Paparazzi 3 (optional) will have you fetch data from the web and have you plot location information on a map. COMP 446 / ELEC 446 - Week 8

  17. Week 9 • Assignments • At this point, videos are optional but useful particularly if your final project will utilize feature discussed in video • View CS193P Lecture 13 : Address Book: Putting People in Your App • View CS193P Lecture 14. Touch Events & Multi-touch • View CS193P Lecture 12a. Designing for the iPad (not great video) • Assignment: Paparazzi 2b (Due 10/19/10) • Classroom Technology: Android 1 (may discuss final projects instead) • Work with me to ensure acceptable final project COMP 446 / ELEC 446 - Week 8

More Related