Design and Development of Web Based Systems - NYU Stern ...
Design and Development of Web Based Systems - NYU Stern ...
Design and Development of Web Based Systems - NYU Stern ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Syllabus<br />
INFO-GB-3322<br />
INFO-UB-3322<br />
<strong>Design</strong> <strong>and</strong> <strong>Development</strong> <strong>of</strong> <strong>Web</strong> <strong>and</strong> Mobile Applications<br />
(Especially for Start Ups)<br />
Fall 2013<br />
<strong>Stern</strong> School <strong>of</strong> Business<br />
Norman White, KMEC 8-88<br />
Email: nwhite@stern.nyu.edu<br />
Phone: 212 - 998 – 0842<br />
TA: Thi Nguyen (tnguyen@stern.nyu.edu)<br />
Administrative Assistant: Sara Gorecki (sgorecki@stern.nyu.edu)
<strong>Development</strong> <strong>of</strong> <strong>Web</strong> <strong>and</strong> Mobile Applications<br />
The internet has become the most common way to distribute applications to end users, whether they are<br />
web based applications, or mobile device based applications. Many startups are focused on mobile<br />
devices, <strong>and</strong> the technology to develop mobile apps has progressed rapidly to the point where one does<br />
not have to be a heavy duty programmer.<br />
This course covers application development, from a web page to a web site, including mobile apps.<br />
applications. Students will have access to a private cloud environment in which to experiment with their<br />
ideas. Custom servers can be built for individual projects, depending on the needs <strong>of</strong> the project. Access<br />
to the cloud will remain available for 8 months after the course has <strong>of</strong>ficially ended, for those groups<br />
which are pursuing financing.<br />
The course covers a wide variety <strong>of</strong> different internet development approaches <strong>and</strong> architectures. Issues<br />
such as security, performance, scalability, <strong>and</strong> maintainability <strong>of</strong> the different approaches will be<br />
examined. <strong>Web</strong>/mobile enabling <strong>of</strong> applications will be discussed, <strong>and</strong> in particular techniques for<br />
developing web/mobile-enabled databases, which can be accessed from browsers running on PCs, or<br />
mobile applications running on iphones, ipads, <strong>and</strong>roids or similar devices.<br />
The class will be highly interactive, <strong>and</strong> grades will be partially based on how much you participate <strong>and</strong><br />
contribute to the class. We will be covering a wide variety <strong>of</strong> technologies <strong>and</strong> I will rely on help from<br />
the students in researching <strong>and</strong> presenting different technologies. Much <strong>of</strong> the 2 nd part <strong>of</strong> the term will be<br />
spent working in groups for part <strong>of</strong> each class. In some cases, the class will be “flipped”. The students<br />
will be expected to have read the materials ahead <strong>of</strong> class, <strong>and</strong> class time will be devoted to discussing<br />
<strong>and</strong> experimenting.<br />
There is a “cloud” computing environment available so that student groups can implement their ideas on<br />
an appropriate platform. Supported platforms will include virtually anything that can run on the intel<br />
architecture, including Windows XP, Windows 7, Windows Server (including IIS, SQL Server etc.), <strong>and</strong><br />
any flavors <strong>of</strong> linux. Students will have access to the Micros<strong>of</strong>t Developers Network s<strong>of</strong>tware suite, as<br />
well as virtually all open source s<strong>of</strong>tware packages such as apache, python, php, java, mysql, hadoop, …<br />
Students should have the ability to build a simple web page <strong>and</strong> be pr<strong>of</strong>icient with common Micros<strong>of</strong>t<br />
<strong>of</strong>fice business applications, including ACCESS. There will be light programming used as examples <strong>of</strong><br />
how to build dynamic web pages <strong>and</strong> mobile apps. Out <strong>of</strong> class material <strong>and</strong> exercises will be used to<br />
augment in class discussions. Short pass/fail quizzes will be used to make sure that students have<br />
adequate background for different sections <strong>of</strong> the course. Many <strong>of</strong> the students will be MS/IS students<br />
with significant technical skills, so the class will move fairly rapidly. If you score less than 10 on the<br />
background quiz, you will have to catch up rapidly in order to stay with the class. The class will be<br />
divided into teams, where each team has approximately equal technical skills.
The sequence <strong>of</strong> the course will start with creating simple web pages, then customizing the pages using<br />
CSS (Cascading Style Sheets). Next, there will be a discussion <strong>of</strong> client-server computing <strong>and</strong> how it is<br />
implemented in the world wide web, putting emphasis on where processing can be done. Javascript <strong>and</strong><br />
the javascript library, jquery will be used to add dynamic elements to a web page. PhP, ASP <strong>and</strong> JSP<br />
technologies will be discussed as ways <strong>of</strong> doing processing on the server. Students will have an exercise<br />
to add server side processing to a web page using php. Jquery mobile, phonegap <strong>and</strong> HTML 5 will be<br />
used to display web pages on mobile devices. Dreamweaver CSS 5 will be used throughout the term to<br />
develop pages <strong>and</strong> apps. Remote (server) <strong>and</strong> local (browser) storage capabilities will be demoed. About<br />
1/3 <strong>of</strong> the way through the course, students will be placed in small (4-5 person) teams to work on<br />
developing a mobile app. Alternative server architectures will be reviewed <strong>and</strong> contrasted. As the term<br />
progresses, more <strong>and</strong> more class time will be used for teams to meet <strong>and</strong> work together on their apps.<br />
Both the TA <strong>and</strong> I will be members <strong>of</strong> all the teams, to help out with technical issues.<br />
The final project requirement is for a working mobile app that is suitable for deployment in an<br />
organization, or for general usage. Apps can be games, social networking apps, information apps, geo<br />
location services or … . The final projects will be graded based on a combination <strong>of</strong> technical<br />
capabilities <strong>and</strong> business application. For instance, a simple app that has a well-developed business plan<br />
can receive a high grade, as can a more technically complex app.<br />
Course Requirements: There will be several small homework assignments, on-line quizzes, a mid-term<br />
exam, a final (group) project, <strong>and</strong> a one page summary by each team member <strong>of</strong> their contribution to<br />
the project. The last class will be devoted to project presentations. The project will be due the week after<br />
the last class.<br />
The group projects must be implemented in the <strong>Stern</strong> S<strong>and</strong>box cloud unless there is a significant<br />
reason why that is not feasible. Google Docs will be used to host the project code <strong>and</strong> design documents<br />
so that all team members can share information easily.<br />
Grades will be based on homeworks (20%), Mid-term (25%), Final project (30%), <strong>and</strong> class<br />
participation (25%). Please bring name tags to class.
Week Topic(s) Concepts/Activities Readings<br />
1 Introduction, course<br />
overview<br />
Client Server Computing model, review <strong>of</strong> web protocols,<br />
TCP/IP<br />
See <strong>Web</strong> Outline<br />
2 <strong>Web</strong> page development HTML, Dreamweaver, Cascading Style Sheets, Mobile<br />
considerations, publishing a web page at <strong>Stern</strong>.<br />
3 Browser based scripting Javascript, jquery , jquery mobile. How does one add<br />
logic to a web page? Customizing web pages for different<br />
devices. Convert a web app to a mobile app.<br />
4 Server side scripting Examples, Overview <strong>of</strong> server side scripting languages,<br />
PERL, PHP, ASP, JSP, Common Gateway interface<br />
model, forms processing.<br />
How do we enable web <strong>and</strong> mobile users to run<br />
applications. Combining client <strong>and</strong> server side scripting.<br />
See <strong>Web</strong> Outline<br />
See <strong>Web</strong> Outline<br />
5 Alternative backend<br />
platforms<br />
6 Review <strong>of</strong> Relational<br />
Data Base concepts<br />
Mid-term review<br />
AJAX <strong>and</strong> HTML 5 capabilities.<br />
Advantages <strong>and</strong> disadvantages, popular platforms (Apache,<br />
Iplanet, Solaris, SGI, Linux), Java Servlets, Java Server<br />
Pages, web services, application servers, fast CGI, mod<br />
Perl etc. (possible speaker ).<br />
Draft Project descriptions due<br />
E/R models, normalization, SQL, remote access<br />
client/server methods (ODBC, JDBC). How do we access<br />
data bases from the web <strong>and</strong> mobile devices using AJAX<br />
<strong>and</strong> JSON?<br />
See <strong>Web</strong> Outline<br />
See <strong>Web</strong> Outline<br />
7<br />
Cloud Computing<br />
Mid-term exam<br />
The advantages <strong>and</strong> disadvantages <strong>of</strong> cloud computing will<br />
be discussed, <strong>and</strong> a demonstration <strong>of</strong> the <strong>Stern</strong> Cloud will<br />
be given.<br />
See <strong>Web</strong> Outline<br />
Sample servers will be built <strong>and</strong> deployed…., demo <strong>of</strong> the<br />
<strong>Stern</strong> cloud<br />
8 Mobile development<br />
kits<br />
Students will access the demo servers using Remote<br />
Desktop or Xwindows clients<br />
What do we need to build mobile apps? HTML 5,<br />
phonegap, Apple Iphone SDK, Android SDK<br />
See <strong>Web</strong> Outline<br />
We will demo moving an App onto a mobile device using<br />
Dreamweaver<br />
9 Mobile continued Teams will spend part <strong>of</strong> class in project meetings<br />
10 Big Data Solutions,<br />
“data science”<br />
Google file System, Map Reduce, Hadoop Demo<br />
Where does the data come from? Data requirements <strong>of</strong><br />
Social Media sites. How can mobile devices access “big<br />
data”<br />
Map Reduce, HBASE, HIVE, PIG <strong>and</strong> other Big Data<br />
tools for managing petabytes <strong>of</strong> data<br />
See <strong>Web</strong> Outline<br />
Parts <strong>of</strong> class will be devoted to project meetings<br />
11 App development tips This week will be devoted to discussions <strong>of</strong> technical<br />
problems encountered by the teams <strong>and</strong> how they might<br />
solve them<br />
12 Final Projects Project Presentations with Food <strong>and</strong> Drink