Skip to content

Latest commit

 

History

History
165 lines (104 loc) · 6.08 KB

README.md

File metadata and controls

165 lines (104 loc) · 6.08 KB

NYU - Tandon School of Engineering

Computer Science & Engineering

CS-Y 6015 Software Engineering for Web Applications

Spring 2016

Aleksandr Rogozin

Mondays 6-7:30pm; Rogers Hall, RH 704


Contact Information

Email: arogozin@nyu.edu

Phone: (646) 997-3578

Office hours: After class or by appointment


Course Pre-requisites

Programming experience with an object-orientated language is required. Basic knowledge of any web development scripting language is highly recommended. You must feel comfortable programming in at least one of the following languages: Python, C++, Java, PHP, JavaScript.


Course Description

This course makes use of software engineering concepts to introduce practical web application development. Topics covered include the development environment, version control, unit testing, deployment strategies, the role of object-orientated programming in web frameworks and best practices for web scale. In this hands-on class, students will work on a semester-long project in order to further understand these core concepts. Prior programming experience with an object-orientated language is required. The course will make use of Laravel, a PHP framework.


Course Objectives

  • Develop the methodical skills necessary for producing web applications.
  • Become familiar with the web development tools and environment setup.
  • Apply object-orientated principals to build web applications.
  • Provide you with fundamental skills to help you learn new web application tools and frameworks more quickly.

Course Structure

In addition to lectures, students will be assigned weekly programming assignments and a semester-long project.


Readings

There are no required textbooks for this class.


Course requirements

You are expected to do all assignments, attend and participate in class. Grading policy is the following:

Programming assignments: 10%

Class participation: 15%

In-class hackathon: 5%

Semester-long project: 40%

Final presentation: 30%


Participation

You are encouraged to ask as questions. While some people will enjoy asking questions out loud, others might feel more comfortable asking questions via messaging platform. I will be monitoring a Slack (nyu.slack.com) #cs6015 channel during each lecture.

At the beginning of each lecture, I will pick one person’s programming assignment code, and will ask one random student to explain what it does. The idea behind this is to develop important skill of working with others’ code.


Programming Assignments

There will be 11 programming assignments. Lowest programming assignment grade will be dropped. Each of them counts as 1% towards the programming assignment grade.

I will cover fundamental concepts and practical implementation examples in class that will directly relate to the upcoming assignments. Programming assignments will be graded based on the programming style covered in class.

Programming assignments will be posted after lecture. Final code / answers will be due at 5PM on Mondays, an hour before lecture begins.


Late Submissions Policy

There will be no grade awarded towards late programming assignment submissions.


GitHub

Class material, programming assignments, and feedback will be posted on GitHub. In order to avoid any organizational issues, please set up a GitHub account as soon as possible.

Please email me your GitHub username, and I will invite you to the class Organization: NYU-CS6015.

Once your GitHub account is setup and is a member of NYU-CS6015, please fork Programming-Assignments repository. This will allow you to contribute your code to a copied version of the repository.


Academic Honesty Policy

All work you submit must be your own. In order to ensure this policy and your understanding of the assignment, please be ready to explain the code when requested. We will continuously exercise this by going over the programming assignments in class. Both parties will receive 0 if you are unable to explain the code (yours or someone else’s, depending on my request), and it is exact copy of another student’s code.


Date Description
Jan 25 The Basics
Programming assignment 1 given
Feb 1 Development Environment & Version Control
Programming assignment 1 due
Programming assignment 2 given
Semester Project assigned
Feb 8 Architecture Foundations
Programming assignment 2 due
Programming assignment 3 given
Feb 15 President’s Day
No classes scheduled / University holiday
Feb 22 Application Services
Programming assignment 3 due
Programming assignment 4 given
Feb 29 Application Services Part II
Programming assignment 4 due
Programming assignment 5 given
Mar 7 Databases
Programming assignment 5 due
Programming assignment 6 given
Mar 14 Spring Recess
No classes scheduled
Mar 21 Object-relational Mapping (ORM)
Programming assignment 6 due
Programming assignment 7 given
Mar 28 User Interfaces (UI)
Programming assignment 7 due
Programming assignment 8 given
Apr 4 Forms & Requests
Programming assignment 8 due
Programming assignment 9 given
Apr 11 In-class Hackathon
Programming assignment 9 due
Apr 18 Unit Testing
Programming assignment 10 given
Apr 25 Application Interfaces
Programming assignment 10 due
Programming assignment 11 given
May 2 Final Project Check-in & Review
Programming assignment 11 due
May 9 Final Project Presentation

Moses Center Statement of Disability

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.