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

GRADING:

OFFICE HOUR:

Email or online meetings by appointment

TOPICS TO BE COVERED:

SYLLABUS:

#DateTopicDetailsIn class activityAssignments
12020-08-24Course Overview/logistincsWWW Overview; HTTP Protocol; Intro to HTML and CSSSetting up a Glitch account
22020-08-31HTML5 and CSSIntroduction to HTML5; Introduction to CSS and styling; Validating HTML and CSS codePlaying around with HTML and CSSAssignment 1 (Your Personal Website) issued
32020-09-07Web Scripting and DOM ModelIntroduction to JavaScript; Introduction to Document Object Model; DOM EventsJavaScript to add interactivityProject proposal issued
42020-09-14Forms and MediaHTML forms; Form elements; Submitting form data; HTML5 Multimedia elementsHTML Form using JavaScript; Fields with automatic suggestions
Assignment 1 due
52020-09-21Accessibility and Responsive DesignAccessibility categories; Why responsive designMaking your site accessible and responsive
Project proposal due
Assignmnet 2 (Add interactivity and multimedia to your Website using JavaScript) issued
62020-09-28Advanced Topics in CSS and JavaScriptPseudo-elements and pseudo-classes; Variables & Constats in JavaScript; Debugging; Bootstrap CSS frameworkPractice with BootstrappingProject proposal phase 2 issued
72020-10-05Backend development - part 1Node.js; Express.js; MVC
Assignment 2 due
82020-10-12AJAX and jQueryClient side JavaScript; XHR Object; Practice with Node.js and Express.js
92020-10-19Backend development - part 2Node.js; Express.js; MVCFeedback on projects
Project Phase 2 due
Assignment 3 (Backend development) issued
102020-10-26Web servicesAPI; SOAP; RESTCreate RESTFUL API using MEAN stack
112020-11-02Introduction to DatabasesSQL and NoSQL; MongoDB Setting up a MongoDB account
122020-11-09Sessions & CookiesHTTP Sessions; Passport.js; AuthenticationImplementing authentication Github OAuth with Passport.js.Assignmnet 3 due
132020-11-16Web SecurityConfidentiality; Integrity; Availability; Cross Site Scripting; Open discussion
142020-11-23Final projectDemo of projectsProject demo
152020-11-30Final project reportSubmit the final report of the projectProject 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.