IDMNYU/DMUY3193-DynamicWebAppDev-2015

语言: CSS

git: https://github.com/IDMNYU/DMUY3193-DynamicWebAppDev-2015

动态Web应用程序开发,2015年 - Conrad Rushing,MAGNET Room 813,2 Metrotech Center
Dynamic Web Application Development, 2015 - Conrad Rushing, MAGNET Room 813, 2 Metrotech Center
README.md (中文)

DM-UY 3193动态Web应用程序开发

NYU

综合数字媒体•技术,文化和社会部门

Conrad Rushing • cr116@nyu.edu • Fall 2015 
Tuesdays & Thursdays • 2:30-4:20PM • 2MTC MAGNET 813 • 3 credit hrs
Office hours by appointment

Github存储库:https://github.com/IDMNYU/DMUY3193-DynamicWebAppDev-2015

课程管理网站

  • https://dmuy3193-dwa.slack.com/messages/general/(您将收到一封电子邮件,邀请您加入这个松弛的频道)

“无论我们学会做什么,我们都会通过实际的方式来学习:例如,通过弹奏来制造和竖琴玩家,成为建造者。” - 亚里士多德


欢迎使用动态Web应用程序!

在本课程中,学生将弥合客户端和服务器之间的差距,构建由后端服务器支持的动态Web应用程序前端。

计划目标

本课程将加强以下IDM计划目标。在本科阶段,学生将:

  • 1 - 培养概念思维技能,以产生想法和内容,以解决问题或创造机会。
  • 学生将通过探究和迭代开发个人发展实践。
  • 2 - 培养技术技能以实现他们的想法。
  • 学生将通过学习如何学习来理解和利用工具和技术,同时适应不断变化的技术范例。
  • 学生将能够在技术生态系统中集成/连接不同的技术。
  • 3 - 培养批判性思维技能,使他们能够在文化,历史,美学,经济和技术背景下分析和定位他们的工作。
  • 4 - 通过开发用于产品演示,项目和期望管理以及业务流程优化的口头,视觉和书面沟通,获得专业实践和组织的知识。

课程目标

本课程将加强或介绍学生:  使用Javascript进行动态前端开发  服务器应用程序开发以支持Web前端  通过git和github进行版本控制  移动Web用户交互和开发 *当前的内容管理系统平台

本课程将帮助学生:  了解从概念到发布的应用程序开发过程  开发一个词汇表来评估和批评Web应用程序

学习成果

在课程结束时,学生将能够  范围和实施专业质量的Web应用程序。  理解并实现迭代过程  学习如何主动学习也称为自我调节学习   *在任何学习情境中,你应该事先学习,做/做,调试,反思,调整,并重新做一遍(迭代)。学习发生在一个循环中。  在协作和竞争环境中与其他开发人员进行交互

课程结构

课程将包括讲座,应用产品演示和工作生产实验室。学生将在课堂上进行每周一次的家庭作业,中期项目和演示,以及最终的项目和演示。我们还将邀请一位演讲嘉宾(日期待定,具体取决于他们的日程安排)。

该课程将围绕特定意图构建 - 为付费客户开发Web应用程序产品,以优化其业务。重点是提供从商定的规范开发的工作产品,从最初的可交付成果创建后续产品,并在限制系统变化的同时迭代产品意图。明确目标和关注经济问题至关重要。

演示是向他人表达您的想法和产品并获得即时反馈的最佳方式。在演示过程中,教授和同学分析并提出了提高产品效率,外观和感觉以及与目标相关的准确性的方法。在讨论您的演示时记笔记,不要编辑答案,无论您是否同意。查看您的演示说明并反思所说的内容。问问自己如何组合,转变或扩展最有希望的想法。但是,抵制包含所有建议和评论的诱惑。只使用适合您和项目的那些。

演示规则:  现在和参与  向您的同学提供反馈 *不要亲自接受反馈。

学生将进行自我评估,并在学期中期或之后以及学期结束时接受教授的评估。

与课外的教授交流

  • 我们将使用Slack(https://dmuy3193-dwa.slack.com/messages/general/)代替电子邮件,用于通信和共享文件(不是HTML或CSS。即pdfs,pngs,jpgs,gif等。 )
  • 关于物流的直接消息(何时,何地,多少?)
  • 在课前或课后直接与我交谈,或者就问题和问题进行预约。
  • 请勿通过电子邮件(或在Slack上直接发送消息)进行长时间对话。如果您的信息变成了段落,那意味着您应该亲自与我交谈。

学生的责任

  • 安排时间(保留某种日历)
  • 准时上课并参加(在场并参与)
  • 在课外学习(最好是与同学一起组成学习小组或小组),每周至少在课堂上花6到12个小时,完成家庭作业,阅读和学习课堂上的概念。
  • 不断备份你的工作
  • 每周至少一次咨询slack和github以获取最新信息
  • 按截止日期完成所有作业

学生价值观

  • 行动 - 做到最好
  • 力争持续改进
  • 注重细节和工艺
  • 渴望热情(学习,探索)
  • 有自我激励,积极主动和专注
  • 有耐心,坚持和纪律
  • 要有创意
  • 对自己的工作充满自信和自豪
  • 玩的开心!

评估和评分

  • 出勤是强制性的,将在每节课开始时进行。由于需要吸收大量的技术,概念和设计信息,因此定期出勤至关重要。
  • 无故缺席会影响你的成绩。允许一个人缺席;之后,对于每次额外缺席,您的最终总体数字等级将下降5%(1/2等级点(例如A到A-))。
  • 要准时。迟到会影响你的成绩。每延迟15分钟,您的最终数字等级将下降0.625%
  • 如果您不在课堂上,请至少提前24小时联系教授(亲自或通过直接留言,优先考虑松弛)。
  • 中期和最终演示必须参加。

您的最终成绩将基于定量和定性评分的综合:

定量分级概述
  • 5%Github文档
  • 5%中期自我评估
  • 10%的项目计划
  • 10%最终自我评估
  • 10%学习日志(总共至少12个)
  • 30%的中期项目
  • 30%的最终项目
期中考试和期末考级概述
  • 40%参与强制性课堂批评
  • 20%的信息设计
  • 20%的交互设计
  • 20%的应用程序架构
定性评分概述

每个学生将根据他们的工作所展示的质量,实验和改进来评判。

A.优秀(90-100)

学生的表现,参与和出勤率一直是 最高级别,在履行课程职责方面表现出持续卓越。工作明显区别于其他工作,具有令人难忘的影响,追求的概念和技术超越了课堂讨论的内容。学生完全理解网页设计和开发过程。

B.非常好/好(80-89)

学生的表现,参与和出勤率都很好,但不是最高水平。工作表明,网络设计和开发过程优于平均水平。

C.满意(70-79)

学生的表现和出勤率足够,令人满意地满足课程要求。工作平均且能胜任,表现出对网页设计和开发过程的基本了解。

D.穷人;低于平均水平(60-69)

学生的表现和出勤率不足。许多或大多数领域缺乏对视觉基础有任何理解的工作。问题可能包括缺乏兴趣,拖延,糟糕的计划和糟糕的手艺。

F.不可接受(59及以下)

学生的表现和出勤率都达不到课程要求。工作表明在很多层面上没有全面了解课程材料,或者严重缺乏兴趣。

技术在课堂上的使用

本课程是关于Web开发原理和技术的。通过讲座和演示,我们将涵盖许多重要的技术问题,但是 - 在专业领域 - 技术的负担将永远完全在于设计师/开发人员的肩膀。社区技术共享也是强烈建议的。我列出了几个有用的资源,可以帮助您在课程提纲和github上快速掌握技术。

笔记本电脑和其他移动设备是负责任地使用设计师,开发人员和学生的宝贵工具。然而,这项技术也会令人难以置信地分散注意力,尤其是在课堂上。在课堂上,您可以使用笔记本电脑和其他设备进行与课程相关的任何活动:记笔记,研究与我们的阅读和讨论相关的材料,做动态Web应用程序作业,进行课堂演示等。但是,以下用途是不可接受:检查电子邮件,即时消息,短信,使用Facebook,tumblr等社交网站。此外,在课堂放映期间,不应使用您的笔记本电脑。

学术诚信

本课程的所有工作必须是您自己的,并且特定于本学期。从其他课程或其他非原创来源回收的任何作品将被拒绝,对学生产生严重影响。剽窃,在任何学术活动中故意将另一个人的言论或想法表达为自己的作品,这是绝对不可接受的。任何犯有剽窃行为的学生都必须重新完成不高于D级的作业。事实上,对于任何剽窃学生来说,D是最高的课程成绩。请使用MLA样式引用和记录源材料。

学术住宿

如果您是要求住宿的残疾学生,请致电212-998-4980或发送电子邮件至mosescsd@nyu.edu联系纽约大学摩西残疾学生中心。您必须在CSD注册才能获得住宿。有关摩西中心的信息,请访问www.nyu.edu/csd。摩西中心位于二楼726 Broadway。

软件要求

  • 浏览器:Chrome,Firefox和(Internet Explorer / Safari)
  • Github帐号:github.com/join
  • 适用于Chrome或Firefox的开发者工具
  • 适用于Firefox的Firebug,http://getfirebug.com或
  • Chrome开发者工具,https://developers.google.com/chrome-developer-tools http://discover-devtools.codeschool.com
  • HTML文本编辑器(Sublime Text,Brackets.io,Coda,Textmate,BBEdit / TextWrangler等)
  • FTP应用程序(Cyber​​duck,传输,获取,FileZilla等)
  • Web服务器空间
  • 我强烈建议您从互联网服务提供商处获得自己的Web服务器空间。我推荐http://www.siteground.com。
  • 或者,您可以从IDM的技术经理Elton Kwok,MAGNET 883接收Web服务器空间。电子邮件eltonkwok@nyu.edu设置您的Web服务器空间
  • IDM的FTP服务器信息:http://sites.bxmc.poly.edu(使用活动模式进行连接)

需要和推荐的资源

TBD

项目

TBD

课程周

  • 第1周
  • 课程简介
  • 工作区和开发环境设置
  • 第2周
  • 本地测试和浏览器环境
  • 客户工作和业务流程优化
  • 第3周
  • 信息和功能分解
  • Javascript对象
  • 第4周
  • jQuery和Element Manipulation
  • 第5周
  • AJAX和API
  • HTTP,状态和持久性
  • 第6周
  • 中期项目准备
  • 第7周
  • 中期演示和评论
  • 第8周
  • RDBMS,State和Persistence
  • 身份验证和安全
  • 第9周
  • 缓存,缩放和成本
  • 第10周
  • 主题和技术合作会议
  • 第11周
  • 最终项目准备
  • 第12周
  • 最终项目:构建和审核草案
  • 第13周
  • 最终项目:最终构建和审核

本文使用googletrans自动翻译,仅供参考, 原文来自github.com

en_README.md

DM-UY 3193 Dynamic Web Application Development

NYU

Integrated Digital Media • Technology, Culture & Society Department

Conrad Rushing • cr116@nyu.edu • Fall 2015 
Tuesdays & Thursdays • 2:30-4:20PM • 2MTC MAGNET 813 • 3 credit hrs
Office hours by appointment

Github Repository: https://github.com/IDMNYU/DMUY3193-DynamicWebAppDev-2015

Course Management Site


“Whatever we learn to do, we learn by actually doing it: men come to be builders, for instance, by building, and harp players by playing the harp.” -Aristotle


Welcome to Dynamic Web Applications!

In this course, students will bridge the gap between client and server, building dynamic web application front-ends powered by back-end servers.

PROGRAM GOALS

The following IDM program goals are reinforced within this course. At an undergraduate level, students will:

  • 1 – develop conceptual thinking skills to generate ideas and content in order to solve problems or create opportunities.
  • Students will develop a personal development practice through inquiry and iteration.
  • 2 – develop technical skills to realize their ideas.
  • Students will understand and utilize tools and technology, while adapting to constantly changing technological paradigms by learning how to learn.
  • Students will be able to integrate/interface different technologies within a technological ecosystem.
  • 3 – develop critical thinking skills that will allow them to analyze and position their work within cultural, historic, aesthetic, economic, and technological contexts.
  • 4 – gain knowledge of professional practices and organizations by developing their verbal, visual, and written communication for product demonstration, project and expectation management, and business process optimization.

COURSE GOALS

This course will reinforce or introduce students to:
Dynamic front-end development using Javascript
Server application development to support a web front-end
version control through git and github
mobile web user interaction and development
* current content management system platforms

This course will help students to:
understand application development process from conception to launch
develop a vocabulary to evaluate and critique web applications

LEARNING OUTCOMES

By the end of the course, students will be able to
scope and implement a professional-quality web application.
understand and implement the iterative process
learn how to proactively learn also known as self-regulated learning
* In any learning situation, you should study beforehand, make/do, debug, reflect, adjust, and do it all over again (iteration). Learning happens in a cycle.
interact with other developers in both collaborative and competitive environments

COURSE STRUCTURE

Class will be comprised of lectures, application product demos, and working production labs. There will be weekly homework assignments that students will present to the class, a midterm project and demo, and a final project and demo. We will also have a guest speaker (Date to be determined, depending on their schedule).

The course will be structured around a particular intent - to develop a web application product for a paying client, in order to optimize their business. The focus will be on delivering working products developed from an agreed-upon specification, creating follow-on products from initial deliverables, and iterating on product intent while limiting change in the system. Clarity of purpose and attention to economic concerns is essential.

Demos are the best way to articulate your ideas and products to others and get immediate feedback. During a demo, the professor and your classmates analyze and suggest ways to improve the efficiency, look and feel, and accuracy of your product in relation to its goals. Take notes when your demo is being discussed and do not edit the responses, whether you agree with them or not. Review your demo notes and reflect upon what was said. Ask yourself how you could combine, transform, or expand the ideas that show the most promise. However, resist the temptation to incorporate all suggestions and comments. Only utilize the ones that work for you and your project.

Rules of a Demo:
Be Present and Engaged
Give Feedback to your classmates
* Do NOT take feedback personally.

Students will conduct self assessments, as well as receiving evaluation by the professor during or after midterm and at the end of the semester.

COMMUNICATING WITH THE PROFESSOR OUTSIDE OF CLASS

  • Instead of email we will be using Slack, https://dmuy3193-dwa.slack.com/messages/general/, for communication and sharing files (that are NOT HTML or CSS. i.e. pdfs, pngs, jpgs, gifs, etc.)
  • Direct Message on Slack about logistics (when, where, how many?) ONLY
  • Talk to me in person directly before or after class OR set up an appointment about issues and problems.
  • DO NOT email (or direct message on Slack) long conversations. If your message turns into paragraphs that means you should be talking to me in person.

STUDENT RESPONSIBILITIES

  • Schedule your time (keep a calendar of some sort)
  • Come to class on time and participate (be present and engaged)
  • Study outside of class (ideally with classmate(s) i.e. Form a Study Group or Team), devoting at a minimum 6 to 12 hours per week outside of class, fulfilling homework assignments, reading, and studying concepts covered in class.
  • Back up your work constantly
  • Consult slack and github at least once a week for up to date info
  • Complete all assignments by due dates

STUDENT VALUES

  • Action – do your absolute best
  • Strive for continuous improvement
  • Pay attention to detail & craft
  • Have desire amounting to enthusiasm (to learn, to explore)
  • Have self-motivation, proactiveness, and focus
  • Have patience, persistence, and discipline
  • Be creative
  • Have self-confidence and pride in your work
  • Have fun!

EVALUATION & GRADING

Attendance
  • Attendance is mandatory and will be taken at the beginning of every class. Since there is so much technical, conceptual, and design information to absorb, regular attendance is essential.
  • Unexcused absences will affect your grade. One absence is allowed; after that, your final, overall, numerical grade will drop by 5 percent (1/2 a grade point (e.g. A to an A-)) for each additional absence.
  • Be on Time. Tardiness will affect your grade. For every 15 minutes of tardiness, your final, numerical grade will drop by 0.625 percent
  • Contact the professor at least 24 hours in advance if you will not be in class (in person or via direct message on slack is preferred).
  • Attendance is mandatory for the midterm and final presentations.

Your final grade will be based on a synthesis of quantitative & qualitative rubrics:

Quantitative Grading Overview
  • 5% Github Documentation
  • 5% Midterm Self-Assessment
  • 10% Project Plan
  • 10% Final Self-Assessment
  • 10% Learning Logs (A total of at least 12)
  • 30% Midterm Project
  • 30% Final Project
Midterm and Final Grading Overview
  • 40% Participation in the mandatory class critique
  • 20% Information Design
  • 20% Interaction Design
  • 20% Application Architecture
Qualitative Grading Overview

Each student will be judged on the quality, experimentation, and improvement that their work shows.

A. Excellent (90-100)

Performance, participation, and attendance of the student has been
of the highest level, showing sustained excellence in meeting course responsibilities. Work clearly differentiates itself from other work, has memorable impact, pursues concepts and techniques above and beyond what is discussed in class. The student thoroughly understands the web design and development process.

B. Very Good / Good (80-89)

Performance, participation, and attendance of the student has been good, though not of the highest level. Work demonstrates a better than average web design and development process.

C. Satisfactory (70-79)

Performance and attendance of the student has been adequate, satisfactorily meeting the course requirements. Work is average and competent, showing a basic understanding of the web design and development process.

D. Poor; Below Average (60-69)

Performance and attendance of the student has been less than adequate. Work is lacking in many or most areas that show any understanding of visual foundation. Problems may include lack of interest, procrastination, poor planning and poor craft.

F. Unacceptable (59 & Below)

Performance and attendance of the student has been such that course requirements have not been met. Work shows no overall understanding of the course material on many levels or either a severe lack of interest.

TECHNOLOGY USE IN THE CLASSROOM

This class is about web development principles and technology. Through lectures & demos, we will cover many important technical issues, but—as in the professional world—the burden of technology will always lie squarely on the designer's/developer's shoulders. Community tech sharing is highly advised as well. I have listed several helpful resources to help you in getting up to speed with technology within the syllabus and on github.

Laptop computers and other mobile devices are invaluable tools for designers, developers, and students when used responsibly. However, this technology can also be incredibly distracting, especially in the classroom. When in class, you may use your laptops and other devices for any activities pertaining to the course: taking notes, researching material relevant to our readings and discussions, doing Dynamic Web Applications homework, making class presentations, etc. However, the following uses are unacceptable: checking email, instant messaging, texting, using social networking sites such as facebook, tumblr, etc. Also, during class screenings, your laptops should not be used.

ACADEMIC HONESTY

All work for this class must be your own and specific to this semester. Any work recycled from other classes or from another, non-original source will be rejected with serious implications for the student. Plagiarism, knowingly representing the words or ideas of another as one's own work in any academic exercise, is absolutely unacceptable. Any student who commits plagiarism must re-do the assignment for a grade no higher than a D. In fact, a D is the highest possible course grade for any student who commits plagiarism. Please use the MLA style for citing and documenting source material.

ACADEMIC ACCOMMODATIONS

If you are student with a disability who is requesting accommodations, please contact New York University's Moses Center for Students with Disabilities at 212-998-4980 or mosescsd@nyu.edu. You must be registered with CSD to receive accommodations. Information about the Moses Center can be found at www.nyu.edu/csd. The Moses Center is located at 726 Broadway on the 2nd floor.

SOFTWARE REQUIREMENTS

REQUIRED AND RECOMMENDED RESOURCES

TBD

PROJECTS

TBD

COURSE WEEKS

  • Week 1
  • Introduction to the Course
  • Workspace and Dev Environment Setup
  • Week 2
  • Local Testing and Browser Environment
  • Client Work and Business Process Optimization
  • Week 3
  • Information and Function Decomposition
  • Javascript Objects
  • Week 4
  • jQuery and Element Manipulation
  • Week 5
  • AJAX and API
  • HTTP, State, and Persistence
  • Week 6
  • Midterm Project Prep
  • Week 7
  • Midterm Demos and Reviews
  • Week 8
  • RDBMS, State, and Persistence
  • Authentication and Security
  • Week 9
  • Caching, Scale, and Cost
  • Week 10
  • Topic and Technology Co-working Sessions
  • Week 11
  • Final Project Prep
  • Week 12
  • Final Project: Draft Build and Review
  • Week 13
  • Final Project: Final Build and Review