This is CS50 CS164 Mobile Software Engineering

diff cs50 cs164

HTML5, PHP, JavaScript, Objective-C

workload

typedef  struct  node {        int  n;        struct  node  *next; } node;

typedef  struct  node {        student  *student;        struct  node  *next; } node;

typedef  struct {        int  id;        char  *name;        char  *house; } student;

void   sort(int  values[],  int  n) {        //  TODO }

/*  *  Returns  true  if  word  is  in  dictionary  else  false.  */ bool  check(const  char  *word); /*  *  Loads  dictionary  into  memory.    Returns  true  if  successful  else  false.  */ bool  load(const  char  *dictionary); /*  *  Returns  number  of  words  in  dictionary  if  loaded  else  0  if  not  yet  loaded.  */ unsigned  int  size(void); /*  *  Unloads  dictionary  from  memory.    Returns  true  if  successful  else  false.  */ bool  unload(void);

function  validate() {        if  (document.forms.registration.email.value  ==  "")        {                alert("You  must  provide  an  email  adddress.");                return  false;        }        else  if  (document.forms.registration.password1.value  ==  "")        {                alert("You  must  provide  a  password.");                return  false;        }        else  if  (document.forms.registration.password1.value  !=  document.forms.registration.password2.value)

       {                alert("You  must  provide  the  same  password  twice.");                return  false;        }        else  if  (!document.forms.registration.agreement.checked)        {                alert("You  must  agree  to  our  terms  and  conditions.");                return  false;        }        return  true; }

$(document).ready(function()  {        $("#registration").submit(function()  {                if  (!$("#email").val().match(/.+@.+\.edu$/))                {                        alert("You  must  provide  a  .edu  email  adddress.");                        return  false;                }                else  if  ($("#password1").val()  ==  "")                {                        alert("You  must  provide  a  password.");                        return  false;                }                else  if  ($("#password1").val()  !=  $("#password2").val())                {                        alert("You  must  provide  the  same  password  twice.");                        return  false;                }                else  if  (!$("#agreement").attr("checked"))                {                        alert("You  must  agree  to  our  terms  and  conditions.");                        return  false;                }                return  true;        }); });

function  quote() {        //  instantiate  XMLHttpRequest  object        try        {                xhr  =  new  XMLHttpRequest();        }        catch  (e)        {                xhr  =  new  ActiveXObject("Microsoft.XMLHTTP");        }        //  handle  old  browsers        if  (xhr  ==  null)        {                alert("Ajax  not  supported  by  your  browser!");                return;        }        //  construct  URL        var  url  =  "quote1.php?symbol="  +  document.getElementById("symbol").value;        //  get  quote        xhr.onreadystatechange  =  handler;        xhr.open("GET",  url,  true);        xhr.send(null); }

$(document).ready(function()  {        $("#form").submit(function()  {                $.ajax({                  url:  "quote3.php",                  data:  {                      symbol:  $("#symbol").val()                  },                  success:  function(data)  {                      $("#price").html(data.price);                      $("#high").html(data.high);                      $("#low").html(data.low);                  }                });                return  false;        }); });

                   C$50  Finance:  Home                
                   
       
                   
       
           log  out        
   

//  prepare  point var  point  =  earth.createPoint(""); point.setAltitudeMode(earth.ALTITUDE_RELATIVE_TO_GROUND); point.setLatitude(building.lat); point.setLongitude(building.lng); point.setAltitude(2.0);

//  add  marker  to  map var  marker  =  new  google.maps.Marker({  icon:  "http://maps.gstatic.com/intl/en_us/mapfiles/ms/micons/man.png",  map:  map,  position:  new  google.maps.LatLng(building.lat,  building.lng),  title:  PASSENGERS[i].name  +  "  at  "  +  building.name });

staff Tommy, Rob Chris, Chris, Larry, Matt, Mike, Tom, Wellie

abstraction, encapsulation

classes, prototypes, objects

inheritance, polymorphism

interfaces

design patterns singletons, factories, observers, ...

unit testing PHPUnit, Selenium, ...

UX

performance latency, caching, ...

source control git, subversion

IDEs Xcode, ...

PHP frameworks CodeIgniter

JavaScript libraries jQuery, jQuery Mobile node.js, socket.io ...

SDKs

lectures

4 projects web app (staff’s choice) web app (students’ choice) native app (staff’s choice) native app (students’ choice)

release cycle week

Mon

1 2

Wed

Thu

Fri

proposal design document style guide

3 4

Tue

beta code reviews

release

partners

academic honesty

labs

Macs from Mon 3/19 onward

iPads, iPhones, iPods

books

barnesandnoble.com

barnesandnoble.com

barnesandnoble.com

barnesandnoble.com

barnesandnoble.com

barnesandnoble.com

barnesandnoble.com

SEAS Design Fair Tue 5/1

cs164.net/lottery

to be continued...

Mobile Software Engineering - cs164

singletons, factories, observers, ... Page 23. unit testing. PHPUnit, Selenium, ... Page 24. UX. Page 25. performance latency, caching, ... Page 26. source control git, subversion. Page 27. IDEs. Xcode, ... Page 28. PHP frameworks. CodeIgniter. Page 29. JavaScript libraries. jQuery, jQuery Mobile node.js, socket.io ... Page 30 ...

782KB Sizes 4 Downloads 338 Views

Recommend Documents

Untitled - cs164
High Performance MySQL. Page 12. partitioning. High Performance MySQL. Page 13. high availability. High Performance MySQL. Page 14. realtime apps ...

Specification - cs164
need a Mac for the course until Mon 3/19, but Xcode comes with iOS Simulator, which might prove handy for testing in the short term. If you do have a Mac, know ...

Specification - cs164
Computer Science 164: Mobile Software Engineering. Harvard College .... Log into your Bitbucket account and create a new, private repo as follows: □ Select ...

Syllabus - cs164
Computer Science 164: Mobile Software Engineering ... Description .... intend to use outside of the course (e.g., for a job) must be approved by the staff. ... Administrative Board and the outcome for some student is Admonish, Probation, ...

Evil Hangman - cs164
thereafter, you might also want to sign up for the iOS Developer Program at ... Because the course is part of the iOS Developer University Program, you will be ...

Specification - cs164
Fri. 2/3. Proposal. 2/6. Design Doc, Style Guide. 2/10. Beta. 2/24. Release ... or otherwise exposed) or lifting material from a book, website, or other ... Help is available throughout the week at http://help.cs164.net/, and we'll do our best to res

Untitled - cs164
web hosts. Bluehost. DreamHost. Go Daddy. Host Gator pair Networks ... Page 3. VPSes. DreamHost. Go Daddy. Host Gator. Linode pair Networks. Slicehost.

design patterns - cs164
sections labs design reviews, code reviews, office hours alphas new release cycle. Page 5. new release cycle. Page 6. workload. Page 7. project 1. Page 8 ...

Evil Hangman - cs164
thereafter, you might also want to sign up for the iOS Developer Program at ... Because the course is part of the iOS Developer University Program, you will be ...

pdf mobile software
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. pdf mobile ...

Software Engineering - GitHub
Sep 26, 2011 - into an application used by nearly a million people to store over two million code ... “Continuous Integration is a software development practice ...

Software Engineering
directed system for software engineering process improvement. Both products are used ... associated with software process improvement; and Software Shock (Dorset House), a treat- ment that focuses on ..... Security Testing 497. 18.6.3 ..... the Unive

Mining Software Engineering Data
Apr 9, 1993 - To Change. Consult. Guru for. Advice. New Req., Bug Fix. “How does a change in one source code entity propagate to other entities?” No More.

Software Engineering -
individual components? – How is function or data structure detail separated from .... (1) User interface classes define all abstractions that are necessary for Human ... enables data mining or knowledge discovery that can have an impact on the ...

Software Engineering
13.4.7. Data Structure 349. 13.4.8. Software Procedure 351. 13.4.9 ...... (e.g., Resisting the Virtual Life, edited by James Brook and Iain Boal and The Future ..... gan Kaufmann, 2000) suggest that the widespread impact of the PC will decline as.

Software Engineering -
How is function or data structure detail separated from ... data that are used by the components ..... elements such as data flow diagrams or analysis classes,.

requirement engineering process in software engineering pdf ...
requirement engineering process in software engineering pdf. requirement engineering process in software engineering pdf. Open. Extract. Open with. Sign In.

iOS: Evil Hangman Walkthrough - cs164
Mar 21, 2012 - Property Lists. Equivalence. Classes. Protocols. Transitioning. Between. Views. Settings. iOS: Evil Hangman Walkthrough. CS164 Walkthrough ...

Software Radio in Mobile Communication Systems
1. The GSM network can be divided into three major parts. The Mobile Station. (hand-held ... A subscriber with an appropriate SIM can use the network services.

Understanding SIP - Software Engineering Laboratory
IP telephony runs on top of IP and utilizes the IP service model. It is not about ... resembles Web-hosting in IP world or NetCentrex in PSTN world ... Page 10 ...