Web Development and Programming

Section 1 Course Website



Professor Sana Odeh

Clinical Professor of Computer Science
Faculty Liaison for Global Programs of Computer Science
Computer Science Department
Courant Institute of Mathematical Sciences
New York University


Email sana [AT] nyu.edu
Office

 

321, Courant Institute
251 Mercer Street, Courant Institute, NYU, 251 Mercer Street, New York University

Help Whenever you have a question about the course material, please feel free to see me during my office hour or write me an email message. I f at any time you feel that you are falling behind or are overwhelmed by the material, let me know: I will be very happy to help you.


Class Time and Office Hour
Section One (9/1/2022 - 12/14/2022)
Class Time Mondays/Wednesdays, 3:30PM-4:45PM, Silver, Room 408 Loc: Washington Square
Office Hours Mondays, 2:00- 3:00PM Room 321 (Courant) Or other times by appointments


Course description

This course provides concrete knowledge in Web technologies and programming. Students build interactive, secure, and powerful Web programs while covering client- and server-side technologies for the World Wide Web. We will explore technical foundations of the Web and learn key technologies including HTML, CSS, JavaScript, and PHP.

Please note that this is an intensive web programming course: You will need to write and debug programs the entire course!

Prerequisites

Students wishing to enroll in this course must have successfully completed the following courses:

  • CSCI-UA.0002 – Introduction to Computer Programming
  • CSCI-UA.0004 – Introduction to Web Design and Computer Principles

Lecture Topics

  • HTML
  • CSS
  • Client-side JavaScript
    • Language Basics
    • Control Structure (Decisions)
    • Repetitions (Loops)
    • Functions
    • JavaScript Objects (String, Arrays, Date, and Math)
    • Document Object Model
    • Events
    • JQuery
  • Server-side Technologies
    • Working with the Linux filesystem
    • PHP
    • Asynchronous JavaScript and XML (AJAX)
    • JQUERY
    • Application Programming Interfaces (APIs)

Required Course Materials

JavaScript and jQuery: Interactive Front-End Web Development
First Edition
Author: Jon Duckett
Publisher: Wiley
ISBN: 978-1-118-53164-8

Optional Course Materials

Learning PHP, MySQL, JavaScript, CSS & HTML5: A Step-by-Step Guide to Creating Dynamic Websites
Fifth Edition
Author: Robin Nixon
Publisher: O’Reilly Media
ISBN: 978-1491978917

Grading

Your greatest reward is the knowledge and experience that you receive by taking the course. You will also receive a grade based on the following rubric.

  • Assignments: 50%
  • Midterm Exam: 20%
  • Final Exam: 30%

Grades will be determined using the following scale:

A

95-100

A-

90-94

B+

87-90

B

84-86

B-

80-84

C+

77-79

C

74-76

C-

70-73

D

65-69

F

less than 65

Midterm Exam
Dates and locations

October 26th (during class)

Final Exam Dates and locations:

TBA

Grading

Exams (50% of final grade)

There will be one in-class midterm exam (20%) and one final exam (30%). Both exams are hand-written exams, where neither books nor computers are permitted. There will be no makeup exams, so make sure to make the midterm and final on these dates! Do not book any travel on these dates!

Homework assignments which  (50% of final grade)

The homework assignments are required and will consist mainly of programming assignments. The details will be posted later. There will be 7 assignments or projects.

Grading Policy:

  • Ten percentage points of the grade will be deducted per class an assignment is late, with a possible maximum deduction of 30%. Assignments will not be accepted past the third class after their due date without the instructor’s permission.
  • You should save all of your programs and keep backups for the entire semester.
  • Programming style will be considered when grading the assignments: You are expected to use meaningful names for your variables and files and provide sufficient comments in the body of the programs.
  • Throughout the semester, you may submit one homework up to one week late without penalty. In that case, please be sure to advise the instructor before the due date that you will be using your “freebie extension”.

Academic integrity

Make sure that you read the Computer Science Department’s Statement on Academic Integrity. We take cheating very seriously!

  • Discussing homework concepts is fine, but you must submit your own work.
  • Copying all or part of another student’s homework, project or exam is considered cheating.
  • Allowing another student to copy all or part of your homework, project, or exam is also considered cheating.

Please note that if you are caught cheating, you will receive a failing grade for the course.

Portfolio

During this class you will be maintaining a digital portfolio that will showcase your work and serve as a documentation repository for all of your projects. In the spirit of "openness" a link to your portfolio will be made available on the "Portfolio" page of our class website. I encourage you to check out the projects that your fellow students are working on and use their ideas as inspiration in your own work! However, if you wish to not be included in this directory please let me know and I will be happy to remove you from the page.

Web Accounts (i6.nyu.edu)

If you do not already have one, you will be automatically assigned a Unix Web server account at the start of the semester. This is called an “i6” account and you will use it to post all your class assignments. All class work should be posted here. You are welcome to post projects elsewhere (i.e. your own domain) during the semester but be sure to also publish them to i6 in order to be graded.

Here is important information regarding your i6 web account (Please read):

  • Students who did not previously have accounts were sent emails with password.
  • Some students may already have an account from another course, or may have had a previously deactivated account from a previous semester, in which case they have not been sent an email. In this case the account has been reactivated and they may use their old password (or reset it from this link: https://cims.nyu.edu/webapps/password/reset
  • If the add/drop period is still in effect, newly registered students will have their account created/reactivated for them within 1-2 business days of enrollment.
  • But if anybody has not received an email they may visit the following page to view the status of their account and reset their password as required: https://cims.nyu.edu/webapps/password/reset 
  • Please view the i6 accounts info page if you any issues with your account (troubleshooting these accounts): https://cims.nyu.edu/cms_content/i6-account-access-troubleshooting.pdf
  • More information, including an FAQ, can be found here: https://i6.cims.nyu.edu

Home Computers

Many students will have access to home computers or computers at work. It is fine to do your assignments on whatever resources you have available, as long as your software is current. You are more than welcome to bring your computer to class and follow along, but please stay focused (i.e. browsing Facebook in class is frowned upon)

Feedback

I recognize that every student has a different level of background knowledge prior experience when it comes to technology. This course is designed as an introductory level class and topics will be presented assuming very little prior exposure to the topics. With that said, every student learns differently and I want to ensure that each of you is getting the maximum amount out of the course content as possible. Please do not hesitate to get in touch with me via e-mail or during office hours if you feel as though you are behind or you are not understanding a certain concept.

Tutoring

Please contact our excellent tutors if you require help in person or via email! Please note that Tutoring hours are held at 539-541 LaGuardia Place ITS Lab (Tel. 212-998-3421).

Tutoring hours will be posted by next week! 

Class graders

Will be posted later!