Presentation is loading. Please wait.

Presentation is loading. Please wait.

Wednesday 2-4, KH 105 COMP 446 / ELEC 446 Mobile Wireless Services Project Scott Cutler Professor in the Practice of Computer Technology Department of.

Similar presentations


Presentation on theme: "Wednesday 2-4, KH 105 COMP 446 / ELEC 446 Mobile Wireless Services Project Scott Cutler Professor in the Practice of Computer Technology Department of."— 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 8/26/09

2 Today’s Agenda Course Overview / Goals Who am I? Who are you? History Course prerequisites Hardware, Software and Environment Course format, outline, deliverables and expectations Next Week Discussion SEC - 8/26/09 COMP 446 / ELEC 446 - Week 12

3 Goals Learn what differentiates programming a smart phone from other software development. Major Technologies Covered Apple iPhone / XCode / Interface Builder / Objective-C Web services / ASP.NET / Visual Studio Briefly covered JavaScript Google Android Create a series of small applications in the above area leading to a larger final project SEC - 8/26/09 COMP 446 / ELEC 446 - Week 13

4 Who Am I? SEC - 8/26/09 COMP 446 / ELEC 446 - Week 14

5 Birth Through High School SEC - 8/26/09 COMP 446 / ELEC 446 - Week 15 New Haven, CT

6 MIT SEC - 8/26/09 COMP 446 / ELEC 446 - Week 16 Cambridge, MA BS1973 MS1973 Ph.D.1976 Zork1979

7 GE Research and Development SEC - 8/26/09 COMP 446 / ELEC 446 - Week 17 Niskayuna, NY First business use of PC (TRS-80) in GE

8 Tandy Electronics (Radio Shack) SEC - 8/26/09 COMP 446 / ELEC 446 - Week 18 Fort Worth, TX Deskmate - First graphical Quicken - First graphical Lotus - Foundation for AOL

9 Chips and Technologies SEC - 8/26/09 COMP 446 / ELEC 446 - Week 19 San Jose, CA Wingine Windows Graphics Engine

10 Digital Equipment Corporation SEC - 8/26/09 COMP 446 / ELEC 446 - Week 110 Boston, MA CTO – PC Group

11 Compaq SEC - 8/26/09 COMP 446 / ELEC 446 - Week 111 Houston, TX CTO – PC Group

12 Houston, TX Rice University (2001 – Present) SEC - 8/26/09 COMP 446 / ELEC 446 - Week 112 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

13 Who are you? SEC - 8/26/09 COMP 446 / ELEC 446 - Week 113

14 Current Roster Keyvan Amiri ELEC, GR, Keyvan.Amiri@rice.eduKeyvan.Amiri@rice.edu Britt Antley ELEC, GR, antley@rice.eduantley@rice.edu Rohan Balsaver ELEC, GR, rbalsaver@rice.edurbalsaver@rice.edu Chris Boyd IT, Chris.Boyd@rice.eduChris.Boyd@rice.edu Hailey Hinson IT, mystand@rice.edumystand@rice.edu Skyler Johnson COMP, JR, Jones, skyj@rice.eduskyj@rice.edu Sandhya Pai ELEC, GR, Sandhya.Pai@rice.eduSandhya.Pai@rice.edu Rick Song SS, Duncan, Rick.Song@rice.eduRick.Song@rice.edu SEC - 8/26/09 COMP 446 / ELEC 446 - Week 114

15 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 Smart Phones 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 Smart Phones Introduction of the iPhone app store Initial shipments of Google’s Android Windows Mobile becoming much less relevant Wide deployment of 3G networks SEC - 8/26/09 COMP 446 / ELEC 446 - Week 115

16 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 SEC - 8/26/09 COMP 446 / ELEC 446 - Week 116

17 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 2009. 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 Smart Phone 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. SEC - 8/26/09 COMP 446 / ELEC 446 - Week 117

18 Hardware Server Windows 2008 Server COMP446.rice.edu [128.42.172.4] Located in my office Access to MS SQL server Apple iPhone (Software 3.0 or later) iPhone or iPod Touch A few will be available for student use IT run Campus Macs loaded with XCode software environment and emulators Windows Mobile Devices Available, but I do not expect to use them this year While there is no teaching support, students are allowed to use Android devices. It is not encouraged, but allowed. I expect to more fully incorporate Android in fall 2010 semester SEC - 8/26/09 COMP 446 / ELEC 446 - Week 118

19 Software XCode environment ships with every Mac on OSX distributions Loaded on IT supported campus Macs running OSX 10.5 or greater if you do not have access to a Mac One dedicated Mac Mini available through LogMeIn. Visual Studio 2008 Team Suite (plus Service Pack 1) Available from http://comp446.rice.edu/comp446 if you need it.http://comp446.rice.edu/comp446 You can also use Virtual PC 2007 if you do not want to install beta software on your PC (we have been known to use beta software although none is currently planned) MS SQL Server 2008 on external DiscountASP.Net account No iPhone SDK v 3.0 books currently available Docs available at http://developer.apple.comhttp://developer.apple.com Students will be enrolled in Rice University’s iPhone Developer Program Apress: Learn Objective-C on the Mac is a good reference book Apress: Beginning iPhone Development is a good tutorial, but currently v2.0 based SEC - 8/26/09 COMP 446 / ELEC 446 - Week 119

20 Course Format 1 formal classroom meeting a week Round table, project management style Typical class flow: Events of the week plus general discussion Short lecture on a technology, particularly in first half of semester. Discussion of current project, future projects and / or next step in current project This should be a fun class – if not something is wrong! Homework Weekly projects through 11/4/09 class Final project 11/4/09 – 12/2/09 Weekly videos (mandatory thorough 11/4/09, optional after that) SEC - 8/26/09 COMP 446 / ELEC 446 - Week 120

21 iPhone Development Videos Leveraging iTunes University, Stanford 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 Presence 2 assignment May allow us to finish a bit earlier many weeks This is an experiment and I believe the best way to teach iPhone coding basics. I am interested in your thoughts. Logistics: iTunes => App Store => iTunes U => Stanford => iPhone Application Programming http://www.stanford.edu/class/cs193p/cgi-bin/index.php SEC - 8/26/09 COMP 446 / ELEC 446 - Week 121

22 Mobile Application Types Dedicated, native mobile application 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 iPhone / Cocoa Touch native applications Widgets AJAX mash-up Important, but not covered in 446 are mobile J2ME or applications meant for mobile Java browsers. SEC - 8/26/09 COMP 446 / ELEC 446 - Week 122

23 COMP 446 Syllabus 8/26/09Introduction / What makes mobile apps special Assignment:Load Visual Studio – Due 9/2/09 9/2/09Intro to Mac OS X and Cocoa Touch, Objective-C, Dev Tools Using Objective-C, Foundation framework Videos:Skim: Lecture 1 (Intro to Mac OS X and Cocoa Touch, Objective-C, Dev Tools) Skim: Lecture 2 (Using Objective-C, Foundation framework) Assignment: Hello Rice [1a] and WhatATool 1 [1b] (Due Beatles’ Day) Beatles’ DayDiscussion of first applications Videos:Lecture 3 (Custom classes, Memory Management, ObjC Properties) Lecture 3a (Intro to XCode and Debugging – pdf only, no video) Lecture 4 (Interface Builder, Controls, Target-Action) Assignment: WhatATool 2 [2a] and HelloPoly I [2b] (Due 9/16/09) 9/16/09ASP.Net Videos:Lecture 5 (Views and Drawing, Animations) Lecture 6 (View Controllers Basics) Assignment: HelloPoly II [3] (Due 9/23/09) 9/23/09Creating and Consuming Web Services Videos:Lecture 7 (Navigation Controllers) / Lecture 8 (Table Views) Assignment: Presence 1 (Due 9/30/09) 9/30/09SQL 101 Videos:Lecture 9 (Dealing with Data: User Defaults, SQLite, Web Services) Lecture 10 (Threading, Caching and Memory) Assignment: Presence 2 (Due 10/07/09) 10/7/09Stanford Final Presentations Videos:Lecture 11 (Text Input, Responder Chain, Presenting Content Modally) Lecture 12 (Address Book) Assignment: SQL Query (Due 10/14/09) 10/14/09Browser Capabilities Videos:Lecture 13 (Searching, Notifications) / Lecture 14 (Mulittouch) Assignment: Website Leveraging Browser Capabilities (Due 10/21/09) 10/21/09iPhone Web Apps Videos:Lecture 15 (Device APIS: Image Picker, Core Location, Accelerometer, Battery Life) Lecture 16 (Bonjour, Streams, Networking) Assignment: iPhone Web Site (Due 10/28/09) 10/28/09Optimizing OpenGL for iPhone (Video 15a) Videos:Lecture 17 (Audio, Video, Web Views) Lecture 18 (Unit testing, Objective-C fun, Internationalization) Assignment: SDK 3.0 Feature (Due 11/04/09) 11/4/09Final Project Prep Videos:Lecture 9a (Loren Bricher on Tweetie) Lecture 11a (How to Build an iPhone App that Doesn’t Suck) Assignment:Final Project (Due 12/2/2009) 11/11/09Final Project Prep Videos:Lecture 13a (From Upstart to Startup to Grownup) Lecture 7a (Publishing to the App Store – PDF only) Assignment:Final Project (Due 12/2/2009) 11/18/09Final Project Prep Assignment:Final Project (Due 12/2/2009) 11/25/09Thanksgiving – Continue Final Projects on your own 12/2/09Demonstrate Final Projects 12/6/09Class Offsite – Sunday (tentative) SEC - 8/26/09 COMP 446 / ELEC 446 - Week 123

24 Final Project To be determined by end of 6 th week Topic chosen class before mid semester break (10/7/09) Spec finished by 10/21/09 This is VERY important. If we do not have a great project definition, the 2 nd half of the course will suffer. With a great project, this will be an exciting course. Can be done individually or in pairs Great if your project could have life after the class finishes SEC - 8/26/09 COMP 446 / ELEC 446 - Week 124

25 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 project – 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 an experiment Things may shift as we go along Feedback highly encouraged SEC - 8/26/09 COMP 446 / ELEC 446 - Week 125

26 Week 2 Load non-Mac infrastructure Make sure I have your Rice NetID for access to the server I DON’T NEED OR WANT YOUR PASSWORD By late Friday, you should have access to share at http://comp446.rice.edu/comp446http://comp446.rice.edu/comp446 There may be issues accessing this though the dorms. If so, let me know. Make sure you can access external web site: http://comp446.rice.eduhttp://comp446.rice.edu Load software Down load Visual Studio 2008 (native or Virtual PC) I have two copies on DVD if you wish Optionally install both Windows Mobile 6 SDKs; no plans to use them this semester Create a calculator app (add two numbers) using WM6 emulator. In other words get development environment working. Start thinking about big project Really – start thinking about big project! Class size great as is, but if there is someone who you know should be here, let me and them know. Fun and learning are guaranteed! Next week is my one and only Objective-C lecture. The rest will be on video. SEC - 8/26/09 COMP 446 / ELEC 446 - Week 126

27 Discussion

28 COMP 446 Syllabus 8/26/09Introduction / What makes mobile apps special Assignment:Load Visual Studio – Due 9/2/09 9/2/09Intro to Mac OS X and Cocoa Touch, Objective-C, Dev Tools Using Objective-C, Foundation framework Videos:Skim: Lecture 1 (Intro to Mac OS X and Cocoa Touch, Objective-C, Dev Tools) Skim: Lecture 2 (Using Objective-C, Foundation framework) Assignment: Hello Rice [1a] and WhatATool 1 [1b] (Due Beatles’ Day) Beatles’ DayDiscussion of first applications Videos:Lecture 3 (Custom classes, Memory Management, ObjC Properties) Lecture 3a (Intro to XCode and Debugging – pdf only, no video) Lecture 4 (Interface Builder, Controls, Target-Action) Assignment: WhatATool 2 [2a] and HelloPoly I [2b] (Due 9/16/09) 9/16/09ASP.Net Videos:Lecture 5 (Views and Drawing, Animations) Lecture 6 (View Controllers Basics) Assignment: HelloPoly II [3] (Due 9/23/09) 9/23/09Creating and Consuming Web Services Videos:Lecture 7 (Navigation Controllers) / Lecture 8 (Table Views) Assignment: Presence 1 (Due 9/30/09) 9/30/09SQL 101 Videos:Lecture 9 (Dealing with Data: User Defaults, SQLite, Web Services) Lecture 10 (Threading, Caching and Memory) Assignment: Presence 2 (Due 10/07/09) 10/7/09Stanford Final Presentations Videos:Lecture 11 (Text Input, Responder Chain, Presenting Content Modally) Lecture 12 (Address Book) Assignment: SQL Query (Due 10/14/09) 10/14/09Browser Capabilities Videos:Lecture 13 (Searching, Notifications) / Lecture 14 (Mulittouch) Assignment: Website Leveraging Browser Capabilities (Due 10/21/09) 10/21/09iPhone Web Apps Videos:Lecture 15 (Device APIS: Image Picker, Core Location, Accelerometer, Battery Life) Lecture 16 (Bonjour, Streams, Networking) Assignment: iPhone Web Site (Due 10/28/09) 10/28/09Optimizing OpenGL for iPhone (Video 15a) Videos:Lecture 17 (Audio, Video, Web Views) Lecture 18 (Unit testing, Objective-C fun, Internationalization) Assignment: SDK 3.0 Feature (Due 11/04/09) 11/4/09Final Project Prep Videos:Lecture 9a (Loren Bricher on Tweetie) Lecture 11a (How to Build an iPhone App that Doesn’t Suck) Assignment:Final Project (Due 12/2/2009) 11/11/09Final Project Prep Videos:Lecture 13a (From Upstart to Startup to Grownup) Lecture 7a (Publishing to the App Store – PDF only) Assignment:Final Project (Due 12/2/2009) 11/18/09Final Project Prep Assignment:Final Project (Due 12/2/2009) 11/25/09Thanksgiving – Continue Final Projects on your own 12/2/09Demonstrate Final Project 12/6/09Class Offsite – Sunday (tentative) SEC - 8/26/09 COMP 446 / ELEC 446 - Week 128

29 COMP 446 Syllabus Week 1 – 8/26/09 Class:Introduction What makes mobile apps special Videos:None Assignment:Load Visual Studio – Due 9/2/09 Week 2 – 9/2/09 Class:Intro to Mac OS X and Cocoa Touch, Objective-C, Dev Tools Using Objective-C, Foundation framework Videos:Optional: Lecture 1 (Intro to Mac OS X and Cocoa Touch, Objective-C, Dev Tools) Optional: Lecture 2 (Using Objective-C, Foundation framework) Assignment: Hello Rice [1a] and WhatATool 1 [1b] (Due Beatles’ Day) Week 3 – Beatles’ Day Class:Discussion of first applications Videos:Lecture 3 (Custom classes, Memory Management, ObjC Properties) Lecture 3a (Intro to Xcode and Debugging – pdf only, no video) Lecture 4 (Interface Builder, Controls, Target-Action) Assignment: WhatATool 2 [2a] and HelloPoly I [2b] (Due 9/16/09) Week 4 – 9/16/09 Class:ASP.Net Videos:Lecture 5 (Views and Drawing, Animations) Lecture 6 (View Controllers Basics) Assignment: HelloPoly II [3] (Due 9/23/09) Week 5 – 9/23/09 Class:Creating and Consuming Web Services Videos:Lecture 7 (Navigation Controllers) Lecture 8 (Table Views) Assignment: Presence 1 (Due 9/30/09) Week 6 – 9/30/09 Class: SQL 101 Videos:Lecture 9 (Dealing with Data: User Defaults, SQLite, Web Services) Lecture 10 (Threading, Caching and Memory) Assignment: Presence 2 (Due 10/07/09) SEC - 8/26/09 COMP 446 / ELEC 446 - Week 129

30 COMP 446 Syllabus Week 7 – 10/7/09 Class:Stanford Final Presentations Videos:Lecture 11 (Text Input, Responder Chain, Presenting Content Modally) Lecture 12 (Address Book) Assignment: SQL Query (Due 10/14/09) Week 8 – 10/14/09 Class:Browser Capabilities Videos:Lecture 13 (Searching, Notifications) Lecture 14 (Mulittouch) Assignment: Website Leveraging Browser Capabilities (Due 10/21/09) Week 9 – 10/21/09 Class:iPhone Web Apps Videos:Lecture 15 (Device APIS: Image Picker, Core Location, Accelerometer, Battery Life) Lecture 16 (Bonjour, Streams, Networking) Assignment: iPhone Web Site (Due 10/28/09) Week 10 – 10/28/09 Class:Optimizing OpenGL for iPhone (Video 15a) Videos:Lecture 17 (Audio, Video, Web Views) Lecture 18 (Unit testing, Objective-C fun, Internationalization) Assignment: SDK 3.0 Feature (Due 11/04/09) Week 11 – 11/4/09 Class:Final Project Prep Videos:Lecture 9a (Loren Bricher on Tweetie) Lecture 11a (How to Build an iPhone App that Doesn’t Suck) Assignment:Final Project (Due 12/2/2009) Week 12 – 11/11/09 Class:Final Project Prep Videos:Lecture 13a (From Upstart to Startup to Grownup) Lecture 7a (Publishing to the App Store) Assignment:Final Project (Due 12/2/2009) Week 13 – 11/18/09 Class:Final Project Prep Videos: Assignment:Final Project (Due 12/2/2009) Week 14 – 11/25/09 ThanksgivingContinue Final Projects on your own Week 15 – 12/2/09 Class: Demonstrate Final Project Class Offsite – Sunday 12/6/09 (tentative) SEC - 8/26/09 COMP 446 / ELEC 446 - Week 130

31 COMP 446 Syllabus Week 11 – 11/4/09 Class:Final Project Prep Videos:Lecture 9a (Loren Bricher on Tweetie) Lecture 11a (How to Build an iPhone App that Doesn’t Suck) Assignment:Final Project (Due 12/2/2009) Week 12 – 11/11/09 Class:Final Project Prep Videos:Lecture 13a (From Upstart to Startup to Grownup) Lecture 7a (Publishing to the App Store) Assignment:Final Project (Due 12/2/2009) Week 13 – 11/18/09 Class:Final Project Prep Videos: Assignment:Final Project (Due 12/2/2009) Week 14 – 11/25/09 ThanksgivingContinue Final Projects on your own Week 15 – 12/2/09 Class: Demonstrate Final Project Class Offsite – Sunday 12/6/09 (tentative) SEC - 8/26/09 COMP 446 / ELEC 446 - Week 131


Download ppt "Wednesday 2-4, KH 105 COMP 446 / ELEC 446 Mobile Wireless Services Project Scott Cutler Professor in the Practice of Computer Technology Department of."

Similar presentations


Ads by Google