Syllabus INFO-GB-3322. Design and Development of Web and Mobile Applications (Especially for Start Ups)



Similar documents
Syllabus INFO-UB Design and Development of Web and Mobile Applications (Especially for Start Ups)

IT3503 Web Development Techniques (Optional)

IT3504: Web Development Techniques (Optional)

Class and Office Hours. Course Requirements. Concepts to Learn. CMPUT 499: Introduction

Computer Science. 232 Computer Science. Degrees and Certificates Awarded. A.S. Degree Requirements. Program Student Outcomes. Department Offices

Web 2.0 Technology Overview. Lecture 8 GSL Peru 2014

Platform Independent Mobile Application Development

Internet Technologies_1. Doc. Ing. František Huňka, CSc.

Smart and Innovative Web Solutions. Just One Click Away

Release 1. ICAPRG604A Create cloud computing services

Building native mobile apps for Digital Factory

CV: AGGELOS HANOU. Software Developer (desktop & web app.) Personal information 2. Work experience 3. Education and training 3.

Architecture Workshop

Introduction to Cloud Computing. Lecture 02 History of Enterprise Computing Kaya Oğuz

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

HTML5. Turn this page to see Quick Guide of CTTC

Computer Science. Computer Science 207. Degrees and Certificates Awarded. A.S. Computer Science Degree Requirements. Program Student Outcomes

Computer Science. Computer Science 213. Faculty and Offices. Degrees and Certificates Awarded. AS Computer Science Degree Requirements

A review and analysis of technologies for developing web applications

Open Source Technologies on Microsoft Azure

Offerte del 10 maggio 2013

SENIOR WEB DEVELOPER

COMPUTER SCIENCE (AS) Associate Degree, Certificate of Achievement & Department Certificate Programs

ASSOCIATE IN ARTS DEGREE-60 UNITS

Company Profile. Nohitatu Technologies Private limited.

Gabriel Iuga. London, United Kingdom Tel: ; Website:

Apache Jakarta Tomcat

After completing SI- 539, students will have a working personal portfolio website in production.

Computer Science Course Descriptions Page 1

CAREER OPPORTUNITIES

ERIE COMMUNITY COLLEGE COURSE OUTLINE A. COURSE NUMBER CS WEB DEVELOPMENT & PROGRAMMING I AND TITLE:

E-commerce. Web Servers Hardware and Software

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

Web Cloud Architecture

Lecture 2. Internet: who talks with whom?

Link Analysis Tool Design Description Final Version

100% NO CODING NO DEVELOPING IMMEDIATE BUSINESS -25% -70% UNLIMITED SCALABILITY DEVELOPMENT TIME SOFTWARE STABILITY

DTWMS Required Software Engineers. 1. Senior Java Programmer (3 Positions) Responsibilities:

Oracle Application Express MS Access on Steroids

E-commerce. business. technology. society. Kenneth C. Laudon Carol Guercio Traver. Third Edition. Copyright 2007 Pearson Education, Inc.

OIT 307/ OIT 218: Web Programming

2 Online Courses. 1 Introduction. D. Powell 1 and J. Hollingsworth 1 1 Department of Computing Sciences, Elon University, Elon, NC, USA

ERIE COMMUNITY COLLEGE COURSE OUTLINE A. COURSE TITLE: CS WEB DEVELOPMENT AND PROGRAMMING FUNDAMENTALS

BRIAN RUSSEL DAVIS. New Media Programming, Design & Concept Development. Summary

PG DAC. Syllabus. Content. Eligibility Criteria

Modeling Web Applications Using Java And XML Related Technologies

CIM Courses for Creating Web Pages

Homework 3: Component & Interface Design

Electronic Commerce Engineering

Trollhättan, Sweden

Microsoft Azure: Opção de Nuvem para Todo o Desenvolvedor. Danilo Bordini & Osvaldo Daibert

Course Descriptions. preparation.

COS 333: Advanced Programming Techniques

Architecture and Mode of Operation

Offerte del 13 giugno 2014

KonyOne Server Prerequisites _ MS SQL Server

Computer and Information Sciences

Mobile Application Development

MOBILE APPLICATIONS AND CLOUD COMPUTING. Roberto Beraldi

SYST35300 Hybrid Mobile Application Development

Web Development News, Tips and Tutorials

Whitepaper. Trans. for Mobile

Introduction to IBM Worklight Mobile Platform

Software Development Interactief Centrum voor gerichte Training en Studie Edisonweg 14c, 1821 BN Alkmaar T:

StableFlow is a software development company, focused on software outsourcing services to companies ranging from startups to large enterprise.

6 CURRENT JOB OPENINGS:

BEST WEB PROGRAMMING LANGUAGES TO LEARN ON YOUR OWN TIME

Web Frameworks. web development done right. Course of Web Technologies A.A. 2010/2011 Valerio Maggio, PhD Student Prof.

Web Design Technology

E-commerce. Chapter 4. Building an E-commerce Web Site. Kenneth C. Laudon. Fourth Edition. Copyright 2007 Pearson Education, Inc.

C S 105 (53485) Computer Programming: PHP/SQL Spring 2014

Java/J2EE or Web Developer. Formal Education. Technical knowledge. Spoken Languages

Programming Languages

Whitepapers at Amikelive.com

Retool your HTML/JavaScript to go Mobile

Human Resources Department.

Cross Platform Applications with IBM Worklight

ICAWEB424A Evaluate and select a web hosting service

Performance Comparison of Database Access over the Internet - Java Servlets vs CGI. T. Andrew Yang Ralph F. Grove

Chapter 13 Computer Programs and Programming Languages. Discovering Computers Your Interactive Guide to the Digital World

Design Approaches of Web Application with Efficient Performance in JAVA

Web Development Frameworks

MULTICULTURAL CONTENT MANAGEMENT SYSTEM

Introduction to BlackBerry Smartphone Web Development Widgets

Take Your Rocket U2 Apps Mobile with Rocket LegaSuite. Greg Mummah, Product Manager Rocket Software

Logicify Fact Sheet. We bring logic to the software systems and development processes. We call this process to logicify.

Evaluation of Load/Stress tools for Web Applications testing

Transcription:

Syllabus INFO-GB-3322 Design and Development of Web and Mobile Applications (Especially for Start Ups) Spring 2015 Stern School of Business Norman White, KMEC 8-88 Email: nwhite@stern.nyu.edu Phone: 212-998 0842 TA: TBA Administrative Assistant: Sharon Kim (skim2@stern.nyu.edu)

Development of Web and Mobile Applications The internet has become the most common way to distribute applications to end users, whether they are web based applications, or mobile device based applications. Many startups are focused on mobile devices, and the technology to develop mobile apps has progressed rapidly to the point where one does not have to be a heavy duty programmer. Business services are quickly moving to mobile devices to stay connected with their customers, attract new customers and stay competitive. This course covers application development of a mobile app, starting from a web site and then using Jquery, Jquery Mobile and phonegap to turn the web site into a fully functioning mobile app. which is connected to back-end data services. Students will have access to a private cloud environment in which to experiment with their ideas. Custom servers can be built for individual projects, depending on the needs of the project. Access to the cloud will remain available for 8 months after the course has officially ended, for those groups who are pursuing financing. The course covers a wide variety of different internet development approaches and architectures. Issues such as security, performance, scalability, and maintainability of the different approaches will be examined. Web/mobile enabling of applications will be discussed, and in particular techniques for developing web/mobile-enabled databases, which can be accessed from browsers running on PCs, or mobile applications running on iphones, ipads, androids or similar devices. The class will be highly interactive, and grades will be partially based on how much you participate and contribute to the class. Class attendance is mandatory. We will be covering a wide variety of technologies and I will rely on help from the students in researching and presenting different technologies. Much of the 2 nd part of the term will be spent working in groups for part of each class. In some cases, the class will be flipped. The students will be expected to have read/viewed the materials ahead of class, and class time will be devoted to discussing and experimenting. There is a cloud computing environment available so that student groups can implement their ideas on an appropriate platform. Supported platforms will include virtually anything that can run on the intel architecture, although the course will focus on using linux for back-end services. Students will have access to the Microsoft Developers Network software suite, as well as virtually all open source software packages such as apache, python, php, java, mysql, hadoop, mongodb, Students need to have a moderate amount of technical background, including at least some programming experience. Stern courses such as Python programming, Dealing with Data, or Practical Data Science, taken as pre or co-requisites are sufficient. Out of class material and exercises will be used to augment in class discussions. Short pass/fail quizzes will be used to make sure that students have adequate background for different sections of the course. Some of the students will be MS/IS or MS/CS students with significant technical skills, so the class will move fairly rapidly. You should score at least a 10 on the background quiz in order to take the class. Students who score less than 12 will have to work very hard to keep up. The class will be divided into teams, where each team has approximately equal technical skills.

The sequence of the course will start with creating simple web pages, then customizing the pages using CSS (Cascading Style Sheets). Next, there will be a discussion of client-server computing and how it is implemented in the world wide web. Alternative processing alternatives will be evaluated. The unix shell language will be used to demonstrate a simple example of web based processing. Javascript and the javascript library, JQuery will be used to add dynamic elements to a web page. PhP, ASP and JSP technologies will be discussed as alternative ways of doing processing on the server. Jquery mobile, phonegap and HTML 5 will be used to display pages on mobile devices. AJAX and JSON will be used to move data to and from the mobile app and back-end services. Dreamweaver will be used throughout the term to develop pages and apps. Remote (server) and local (browser) storage capabilities will be demoed. Early in the semester, students will be placed in small (4-5 person) teams that have diverse skill sets. These teams will work on conceiving, designing and developing a mobile app. Alternative server architectures will be reviewed and contrasted. As the term progresses, more and more class time will be used for teams to meet and work together on their apps. Towards the end of the term a significant amount of the class time will be devoted to working with the teams. Both the TA and I will be members of all the teams, to help out with technical issues. Be prepared to spend a significant amount of (hopefully interesting ) time on this course. The final project requirement is to develop a working mobile app that is suitable for deployment in an organization, or for general usage. Apps can be games, social networking apps, information apps, geo location services or. The final projects will be graded based on a combination of technical capabilities and business application. For instance, a simple app that has a well-developed business plan can receive a high grade, as can a more technically complex app. Course Requirements: There will be several small homework assignments, on-line quizzes, a mid-term exam, a final (group) project, and a one page summary by each team member of their contribution to the project. Teams will prepare on-line presentations that will be reviewed by the whole class. The project will be due the week after the last class. The group projects must be implemented in the Stern Sandbox cloud unless there is a significant reason why that is not feasible. Google Docs will be used to host the project code and design documents so that all team members can share information easily. Grades will be based on homeworks (20%), Mid-term (30%), Final project (40%), and class participation (10%). Please bring name tags to class. The approximate lecture outline is below, but is likely to be changed by the time the term starts.

Week Topic(s) Concepts/Activities Readings 1 Introduction, course overview Client Server Computing model, review of web protocols, TCP/IP 2 Web page development HTML, Dreamweaver, Cascading Style Sheets, Mobile considerations, publishing a web page at Stern. 3 Browser based scripting Javascript, jquery, jquery mobile. How does one add logic to a web page? Customizing web pages for different devices. Convert a web app to a mobile app. 4 Server side scripting Examples, Overview of server side scripting languages, PERL, PHP, ASP, JSP, Common Gateway interface model, forms processing. How do we enable web and mobile users to run applications. Combining client and server side scripting. 5 Alternative backend platforms 6 Review of Relational Data Base concepts AJAX and HTML 5 capabilities. Advantages and disadvantages, popular platforms (Apache, Iplanet, Solaris, SGI, Linux), Java Servlets, Java Server Pages, web services, application servers, fast CGI, mod Perl etc. (possible speaker ). Draft Project descriptions due E/R models, normalization, SQL, remote access client/server methods (ODBC, JDBC). How do we access data bases from the web and mobile devices using AJAX and JSON? 7 Spring Recess (3/16 3/20) 8 Cloud Computing Mid-Term review Mid-term exam The advantages and disadvantages of cloud computing will be discussed, and a demonstration of the Stern Cloud will be given. Sample servers will be built and deployed., demo of the Stern cloud 9 Mobile development kits Students will access the demo servers using Remote Desktop or Xwindows clients What do we need to build mobile apps? HTML 5, phonegap, Apple Iphone SDK, Android SDK We will demo moving an App onto a mobile device using Dreamweaver 10 Mobile continued Teams will spend part of class in project meetings 11 Big Data Solutions, data science Google file System, Map Reduce, Hadoop Demo Where does the data come from? Data requirements of Social Media sites. How can mobile devices access big data Map Reduce, HBASE, HIVE, PIG and other Big Data tools for managing petabytes of data 12,13, 14 App development tips Parts of class will be devoted to project meetings These weeks will be devoted to discussions of technical problems encountered by the teams and how they might solve them 15 Presentations Project Presentations 16 Final Projects Due Final projects completed and ready to be graded