1 / 42

Wednesday 2-4, HZ 122

Wednesday 2-4, HZ 122. 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 8/25/10. Today’s Agenda. Goals People History

berny
Download Presentation

Wednesday 2-4, HZ 122

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, HZ 122 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 8/25/10

  2. Today’s Agenda • Goals • People • History • Resources • Syllabus • Next Week COMP 446 / ELEC 446 - Week 1

  3. Goals COMP 446 / ELEC 446 - Week 1

  4. Goals • Learn what differentiates programming a Smartphone from other software development. • Major Technologies Covered • Apple iPhone / Xcode / Interface Builder / Objective-C • Covered in less detail (1 or 2 lectures each) • Google Android • Windows Phone 7 • Web services / ASP.NET • MS-SQL Server • JavaScript iPhone Web Applications • Create a series of small applications in the above area leading to a larger final project COMP 446 / ELEC 446 - Week 1

  5. People COMP 446 / ELEC 446 - Week 1

  6. Who Am I? COMP 446 / ELEC 446 - Week 1

  7. Birth Through High School New Haven, CT COMP 446 / ELEC 446 - Week 1

  8. MIT Cambridge, MA BS 1973 MS 1973 Ph.D. 1976 Zork 1979 COMP 446 / ELEC 446 - Week 1

  9. GE Research and Development Niskayuna, NY First business use of PC (TRS-80) in GE COMP 446 / ELEC 446 - Week 1

  10. Tandy Electronics (Radio Shack) Fort Worth, TX Deskmate - First graphical Quicken - First graphical Lotus - Foundation for AOL COMP 446 / ELEC 446 - Week 1

  11. Chips and Technologies San Jose, CA WingineWindows Graphics Engine COMP 446 / ELEC 446 - Week 1

  12. Digital Equipment Corporation Boston, MA CTO – PC Group COMP 446 / ELEC 446 - Week 1

  13. Compaq Houston, TX CTO – PC Group COMP 446 / ELEC 446 - Week 1

  14. Rice University (2001 – Present) Houston, TX Professor in the Practice of Computer Technology Department of Computer Science Department of Electrical and Computer Engineering ELEC 694 / COMP 694 Future Personal Computing Technology COMP 446 / ELEC 446 Mobile Wireless Services Project Digital Media / Consumer Electronics / Personal Computing COMP 446 / ELEC 446 - Week 1

  15. Who are you? COMP 446 / ELEC 446 - Week 1

  16. 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 • Tara Hong • ELEC, SR, Will Rice Seoyeon.Hong@rice.edu • Vic Hu • ELEC, SR, Wiessmrwho@rice.edu • Marcos Hung • BIOE, GR Marcos.G.Hung@rice.edu COMP 446 / ELEC 446 - Week 1

  17. 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 • Norman Pai • ELEC, SR, HanszenNorman.L.Pai@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.Yo@rice.edu COMP 446 / ELEC 446 - Week 1

  18. 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 COMP 446 / ELEC 446 - Week 1

  19. Course TA • Richard Latimer COMP 446 / ELEC 446 - Week 1

  20. History COMP 446 / ELEC 446 - Week 1

  21. History • ELEC 446 started Jan 03 using iPAQs, 802.11b and .Net (1.0) Web Services • Operating system premature, poor connectivity • Continued a couple more semesters with next version of software, but connectivity still an issue • COMP 446 cross registered version started fall 05 with emphasis on smartphones • Not well organized • Windows Mobile 3 and GPRS didn’t cut it • Reasonable Internet Connectivity, Fall 06 • Beta tools still an issue • 2008 was a banner year for Smartphones • Introduction of the iPhone app store • Initial shipments of Google’s Android • Windows Mobile becoming much less relevant • Wide deployment of 3G networks COMP 446 / ELEC 446 - Week 1

  22. 2009 • iTunes App Store a HUGE success • iPhone remains the smart phone to beat • Limited to AT&T and others want iPhone competitor • Great support for Google Android • Second Generation phones starting to come out • New competition from Palm • Blackberry and Nokia still holding on to large customer base • Windows Mobile continues to lose ground – but many have been hurt counting Microsoft out; particularly in an important area. • Ecosystem taking smart phones seriously and smart phones starting to thrive COMP 446 / ELEC 446 - Week 1

  23. 2010 • Smartphones everywhere • iTunes App Store grows • Close to 250K apps • Close to 50K publishers • Approx 375 apps submitted per day • Stats per http://148apps.biz/app-store-metrics/ • iPad released. • Same basic foundation as iPhone and iPod Touch • Incredible growth • Launches new product category – different than all previous tablet attempts COMP 446 / ELEC 446 - Week 1

  24. 2010 • 2nd Quarter stats: Sales numbers and ranking differ by research study, but clearly show: • Fast rise by Android platform and modest % rise by iPhone • Decrease in market share from Symbian, RIM and Windows Mobile, Palm • Android 2.x and various ‘Droid’ devices provide first real competition to the iPhone. • About 200,000 Android devices being sold every day. • Palm fades – but is now part of HP – but is HP fading?? • Blackberry not giving up • Windows Phone 7 announced based on Silverlight and XNA programming stack • Strong rumors of Verizon iPhone • Sprint ships first 4G phone • New announcements every day COMP 446 / ELEC 446 - Week 1

  25. Results from 2009 Class • The Good News • 9 Students – nice small class  • Creation of Rice iPhone Application • Great Evaluations • C-Overall: 1.00 / 1.93 • C-Organization: 1.00 / 1.91 • C-Challenge: 1.00 / 1.85 • C-Assignments: 1.38 / 1.95 • I-Organization: 1.13 / 1.69 • I-Presentations: 1.25 / 1.89 • I-Responsiveness: 1.13 / 1.69 • I-Atmosphere: 1.13 / 1.71 • I-Independence: 1.13 / 1.88 • I-Stimulation: 1.13 / 1.71 • I-Effectiveness: 1.13 / 1.83 • I-Responsibility: 1.00 / 1.53 • The Not as Good News • Course filled to limit of 10 on first day • Limit raised to 16 on second day, filled in hours • Acquired larger room – class size now 22 • Will make some adjustments because of class size. • More topics to cover in 2010 • Some things had to be de-emphasized to make room • Two important and interesting evaluation items: • C-Workload: 4.00 / 3.01 • I-Knowledge 1.63 / 1.64 • Second lecture was the worst lecture I have ever given! • Will try to do much better this semester! COMP 446 / ELEC 446 - Week 1

  26. Prerequisites • Historical Prerequisites: • With a Windows Mobile focus, comfort with Visual Studio and .Net a great plus • While we will use Visual Studio for ASP.Net development, Windows Mobile will not be the prime focus of this course in 2010. • Objective C, XCode and Cocoa Touch would be nice; however we will cover that in this class and no experience is assumed • COMP 314, COMP 410 or COMP 415 provide a foundation in similar problem solving; however we are not going to build on any of their technologies • As such, formal prerequisites for COMP/ELEC 446 were dropped • There are no other courses teaching Xcode, Objective-C or ASP.Net • Understanding of object oriented programming a clear plus • An interest in cool connected mobile devices is a must. Disclaimer: • I understand the technology and have worked extensively in this area. I have spent the past five years on complex ASP.NET applications and have written some Smartphone apps; however I do not expect to be teaching generic Visual Studio programming techniques. While I have programmed a few iPhone applications, I am FAR from considering myself an XCode, Objective-C or Cocoa Touch expert. COMP 446 / ELEC 446 - Week 1

  27. Resources COMP 446 / ELEC 446 - Week 1

  28. Hardware • Server • Windows 2008 Server, COMP446.rice.edu [128.42.172.4],located in my office • DiscountASP.Net account, www.comp446.com/ws<Name> where Name is student name (e.g. www.comp446.com/wsCutler) • Access to MS SQL Server 2008 located on DiscountASP.Net • Credentials to be set up and disseminated later. • Apple iPhone • iPhone or iPod Touch (OS 4.0 or greater) • iPad (OS 3.2 or greater) • A few older iPhones will be available for student use • IT run Campus Macs loaded with XCode software environment and emulators • Windows Phone 7 Device(s) may be available • A few Android devices are available COMP 446 / ELEC 446 - Week 1

  29. Software • Xcode environment ships with every Mac on OSX distributions • Loaded on IT supported campus Macs running OSX Snow Leopard or greater if you do not have access to a Mac • Two dedicated Mac Minis available through LogMeIn. • Visual Studio 2010 Professional • I have 5 copies with me if students need them • MS SQL Server 2008 on external DiscountASP.Net account • iPhone Documentation • Docs available at http://developer.apple.com • Students will be enrolled in Rice University’s iPhone Developer Program COMP 446 / ELEC 446 - Week 1

  30. Course Format • One formal classroom meeting a week • Round table, project management style • Likely optional Monday review / Q&A session with TA • Typical class flow: • Events of the week • General discussion / review of previous week’s technology or assignment • Short lecture on a technology. • Discussion of current project, future projects and / or next step in current project • Homework • Weekly projects through 10/27/10 class (due 11/02/10) • Homework due on Tuesdays • You will have all the resources needed to start early and get ahead. • Final project 11/3/10 – 12/1/10 • Weekly videos (mandatory thorough 11/3/10, optional after that) • Videos are an integral part of the class COMP 446 / ELEC 446 - Week 1

  31. iPhone Development Videos • Leveraging iTunes-U, Stanford University CS193P course. • Significant homework will be in the form of watching external 1hr videos and some of the coordinated exercises. • Expect 2 full and possibly one optional video per week as well as one application through the first half of the semester • You will eventually watch all of the CS193P lectures, but only do problems up to and including the Paparazzi 3 assignment • May allow us to finish a bit earlier many weeks • This was an experiment last year which proved quite effective. It will be difficult to do the assignments without watching the videos. I suggest getting a head start on the videos. • Logistics: • iTunes => App Store => iTunes U => Stanford => iPhone Application Programming • 45 Items – suggest you download all of them now • http://www.stanford.edu/class/cs193p- Download winter 2010 session available at http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter COMP 446 / ELEC 446 - Week 1

  32. Optional Sessions and Support • To handle the larger class size we are adding TA support • Exact format still being determined but likely elements are: • Monday office hours with one of the TAs. • Ability to email questions to me or to TAs. • TAs instructed to respond conceptually – not just provide solutions. Knowing where to look or how to debug is a very important skill for you to learn. COMP 446 / ELEC 446 - Week 1

  33. Syllabus COMP 446 / ELEC 446 - Week 1

  34. Many Mobile Application Types • Dedicated, native mobile application • iOS (iPhone, iPad, iPod Touch), Android, Windows Phone, Blackberry, etc. • Dedicated application calling a web service • Mobile interface to a heavy lifting server application • Mobile Web Application • mobile.google.com, mobile.live.com, mobile.yahoo.com • iPhone / Safari web application • Widgets • Important, but not covered in 446 are mobile J2ME or applications meant for mobile Java browsers. We concentrate on genuine smartphones. COMP 446 / ELEC 446 - Week 1

  35. Syllabus Overview • First Half of Semester • Pedagogical approach to iPhone programming through a series of lectures and assignments that build on each other • Mandatory iTunes-U lectures covering basic iOS functionality • Second Half of Semester • Dominated by one large project worked on by teams of 2. • Students choose projects, partners, platforms • Lectures covering subjects of general interest to all, but specific interest only to those working with the technologies COMP 446 / ELEC 446 - Week 1

  36. COMP 446 (tentative) 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: Paparazzi 1 (Due 9/28/10) • 9/29/10 Creating and Consuming Web Services • Videos: Lecture 9. Data in Your iPhone App (February 2, 2010)- Lecture 10. Performance (February 4, 2010) • Assignment: Paparazzi 2 (Due 10/05/10) • 10/6/10 SQL 101 • Videos: Lecture 11. Text Input and Presenting Content Modally (February 9, 2010) Lecture 12. Web Views; Locations and Maps (February 11, 2010)Assignment: Paparazzi 3 (Due 10/19/10, but watch lectures prior to 10/13/10 class) COMP 446 / ELEC 446 - Week 1

  37. COMP 446 (tentative) 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 (Due 10/19/10 along with Paparazzi 3) • 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 Final Project Prep • 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 Presentation (Due 12/01/2010) • 11/24/10 Thanksgiving – Continue Final Projects on your own • 12/1/10 Demonstrate Final Projects to class • 12/5/10 Class Offsite – Sunday (tentative) • Finals Submission of final code due by official finals date COMP 446 / ELEC 446 - Week 1

  38. Final Project • To be determined by end of 6th week • Topic chosen class before mid semester break • Proposal submitted by 10/19/10 • Full Spec 10/26/10 • Various milestones including presentation to class on 12/01/10 • Final code for project incorporating comments from presentation due on the official finals date of the course. • This is VERY important: If you do not have a great project definition, the 2nd half of the course will suffer. With a great project, this will be an exciting course. • Due to the size of the class, it is suggested that students work in pairs • Great if your project could have life after the class finishes COMP 446 / ELEC 446 - Week 1

  39. Grading • 20% Class participation • 30% Assignments other than the final project • 50% Final Project • 10% Project Specification • 10% Major Features complete • 10% Presentation to the class • 20% Overall project as demonstrated by final code COMP 446 / ELEC 446 - Week 1

  40. Expectations • Have Fun • I will provide some toys, hardware and software – make something of it • Energy beyond one meeting a week • Don’t wait until the night before class to start assignments– you will not succeed • Team and sub-team meetings on your own • Others will depend on you • Team effort • Please remember that this new class format is still an experiment • Things may shift as we go along • Feedback highly encouraged COMP 446 / ELEC 446 - Week 1

  41. Week 2 • Load non-Mac infrastructure • Make sure you can access external web sites: http://comp446.rice.eduand http://www.comp446.com • Course information and slides posted to www.comp446.com. • Load software • Download Visual Studio 2010 • I have two copies on DVD if you wish • Gain access to a Mac. Make sure Xcode is loaded on it. If personal, load Xcode(free) • Download all lectures from iTunes U and http://www.stanford.edu/class/cs193p/cgi-bin/drupal/downloads-2010-winter • I will enroll you in the Apple Developer Program. Make sure you respond quickly to the invitations you will receive from Apple. • Start thinking about big project • Really – start thinking about big project! • Next week is my one and only Objective-C lecture. The rest will be on video. COMP 446 / ELEC 446 - Week 1

  42. Discussion

More Related