DESCRIPTION:
This course is about the various technologies that we use to build Web applications. It is focused on preparing you for a Web development position. The class takes on a hands-on approach that will allow you to build a complete web application from scratch. The course will introduce client and server-side technologies for the web. This will include a set of front-end technologies HTML5, JavaScript, CSS, and responsive design as well as a set of back-end technologies (PHP and Node.js). Each week will consist of a lecture that will cover new concepts and different topics and will also integrates standards and best practices, you will then be presented with a real-world problem related to the topic discussed in the lecture, you will work in groups to solve it. If a problem is not applicable to the topic being discussed, you will be given a tutorial to build a web component that you will work in developing in class or the rest of the class will be dedicated to open discussions. This problem-based learning approach is more suitable for a real-world environment. It is what you will work in so it is important to work as a team and communicate with your group members regularly
This course closely follows the former offering of it by Dr. Matt Burton. I acknowledge and appreciate all the great effort he has already put in designing this class
COURSE FORMAT:
To address the pandemic circumstance, this course is designed following the flipped classroom model; i.e. lectures are going to be recorded and available online for you to watch. Every week we will meet for 1 hour during the class time for discussion of materials in the lecture as well as completing in-videos activities. This will be also a chance to ask questions about assignments. The recorded lectures will be broken down into smaller topics to reduce the size of the recording to not more than 15 minutes. You can attend the synchronous component of the class online but there is also a physical room dedicated to this class for those who would like to be present with other students. As the instructor, I will be joining the class online through zoom. Lecture recordings include activities that will be graded and are considered the in-video activities portion of your grade. Whether you are joining from home or from the classroom, access to a computer can be important.
PREREQUISITES:
This course does not assume any particular prerequisites. However, familiarity with programming is important to succeed in this course. If you have never taken any programming course, this might not be the best course for you to take. Furthermore, This is a graduate course which assumes critical thinking, desire to learn and being challenged with new topics, and hard work.
TEXT:
There is no required textbook for the course. The following books are recommended as good resources in Web Application Development. You can access all these books through the Pitt O\'Reilly digital library at https://library.pitt.edu/oreilly
- MEAN web development: master real-time web application development using a mean combination of MongoDB, Express, Angular JS, and Node.js by Haviv, Amos Q
- Rails, Angular, Postgres, and Bootstrap: powerful, effective, and efficient full-stack web development by Copeland, David 2017
- Web programming with HTML5, CSS, and JavaScript by Dean, John 2017
- Node. Js Web Development by Herron, David 2016
GRADING:
- In-videos activities [30 points]
- Assignments [30 points]
- Final project [40 points]
OFFICE HOUR:
Email or online meetings by appointment
- Instructor contact information: rfarzan at pitt dot edu
- TAs: (1)Ben Stein: ben.s.stein at gmail dot com (2) Leila Karimi: leila.karimi at pitt dot edu
TOPICS TO BE COVERED:
- Web Standards
- HTML5
- Design and Styling
- Client side technologies
- Javascript frameworks
- Server side technologies
SYLLABUS:
# | Date | Topic | Details | In class activity | Assignments |
---|---|---|---|---|---|
1 | 2020-08-24 | Course Overview/logistincs | WWW Overview; HTTP Protocol; Intro to HTML and CSS | Setting up a Glitch account | |
2 | 2020-08-31 | HTML5 and CSS | Introduction to HTML5; Introduction to CSS and styling; Validating HTML and CSS code | Playing around with HTML and CSS | Assignment 1 (Your Personal Website) issued |
3 | 2020-09-07 | Web Scripting and DOM Model | Introduction to JavaScript; Introduction to Document Object Model; DOM Events | JavaScript to add interactivity | Project proposal issued |
4 | 2020-09-14 | Forms and Media | HTML forms; Form elements; Submitting form data; HTML5 Multimedia elements | HTML Form using JavaScript; Fields with automatic suggestions | Assignment 1 due |
5 | 2020-09-21 | Accessibility and Responsive Design | Accessibility categories; Why responsive design | Making your site accessible and responsive | Project proposal due Assignmnet 2 (Add interactivity and multimedia to your Website using JavaScript) issued |
6 | 2020-09-28 | Advanced Topics in CSS and JavaScript | Pseudo-elements and pseudo-classes; Variables & Constats in JavaScript; Debugging; Bootstrap CSS framework | Practice with Bootstrapping | Project proposal phase 2 issued |
7 | 2020-10-05 | Backend development - part 1 | Node.js; Express.js; MVC | Assignment 2 due | |
8 | 2020-10-12 | AJAX and jQuery | Client side JavaScript; XHR Object; | Practice with Node.js and Express.js | |
9 | 2020-10-19 | Backend development - part 2 | Node.js; Express.js; MVC | Feedback on projects | Project Phase 2 due Assignment 3 (Backend development) issued |
10 | 2020-10-26 | Web services | API; SOAP; REST | Create RESTFUL API using MEAN stack | |
11 | 2020-11-02 | Introduction to Databases | SQL and NoSQL; MongoDB | Setting up a MongoDB account | |
12 | 2020-11-09 | Sessions & Cookies | HTTP Sessions; Passport.js; Authentication | Implementing authentication Github OAuth with Passport.js. | Assignmnet 3 due |
13 | 2020-11-16 | Web Security | Confidentiality; Integrity; Availability; Cross Site Scripting; | Open discussion | |
14 | 2020-11-23 | Final project | Demo of projects | Project demo | |
15 | 2020-11-30 | Final project report | Submit the final report of the project | Project report |
COURSE POLICIES
Health and Safety Statement: In the midst of this pandemic, it is extremely important that you abide by public health regulations and University of Pittsburgh health standards and guidelines. While in class, at a minimum this means that you must wear a face covering and comply with physical distancing requirements; other requirements may be added by the University during the semester. These rules have been developed to protect the health and safety of all community members. Failure to comply with these requirements will result in you not being permitted to attend class in person and could result in a Student Conduct violation. For the most up-to-date information and guidance, please visit coronavirus.pitt.edu and check your Pitt email for updates before each class.
Academic Integrity: You are expected to be fully aware of your responsibility to maintain a high quality of integrity in all of your work. All work must be your own, unless collaboration is specifically and explicitly permitted as in the course group project. Any unauthorized collaboration or copying will at minimum result in no credit for the affected assignment and may be subject to further action under the University Guidelines for Academic Integrity. You are expected to have read and understood these Guidelines. A document discussing these guidelines was included in your orientation materials.
Late Submissions: Assignment or projects submitted after due date will be accepted, but your objective grade will be scaled so that you lose 10% of the grade for every late working day. I.e., if you will submit your work one week late, you will lose 70% of the grade. In-video activities will not be accepted after the deadline.
Concerning Students with Disabilities: If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 216 William Pitt Union, (412) 648-7890/(412) 383-7355 (TTY), as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.
An important note on plagiarism: Cheating and plagiarism will not be tolerated. Students caught cheating or plagiarizing will receive no credit for the assignment on which the cheating occurred. Additional actions -- including assigning the student a failing grade in the class or referring the case for disciplinary action -- may be taken at the discretion of the instructors. You may incorporate excerpts from publications by other authors, but they must be clearly marked as quotations and properly attributed. You may obtain copy editing assistance, and you may discuss your ideas with others, but all substantive writing and ideas must be your own or else be explicitly attributed to another, using a citation sufficiently detailed for someone else to easily locate your source.