THE UNIVERSITY OF LAHORE
Course Outline
Winter 2016
CS-428 Web Engineering
SCU (2+1) Credit(s)
Co-requisite (s)
Human Computer Interaction!!!!!! Testing
Project Management
Pre-requisite(s)
CS 2135 Introduction to Software Engineering Introduction to Databases
Web Programming
Post Requite of None
Weekly tuition pattern 2 sessions (60 min per session)
Contact Yasir Naeem
Course Description
The web has become a major delivery platform for a variety of complex and sophisticated enterprise applications in several domains. In addition to their inherent multifaceted functionality, these web applications exhibit complex behavior and place some unique demands on their usability, performance, security and ability to grow and evolve. However, a vast majority of these applications continue to be developed in an ad-hoc way, contributing to problems of usability, maintainability, quality and reliability. While web development can benefit from established practices from other related disciplines, it has certain distinguishing characteristics that demand special considerations. In recent years, there have been developments towards addressing these considerations. As an emerging discipline, web engineering actively promotes systematic, disciplined and quantifiable approaches towards successful development of high-quality, ubiquitously usable web-based systems and applications. In particular, web engineering focuses on the methodologies, techniques and tools that are the foundation of web application development and which support their design, development, evolution, and evaluation. Web application development has certain characteristics that make it different from traditional software, information system, or computer application development.
While web Engineering uses software engineering principles, it encompasses new approaches, methodologies, tools, techniques, and guidelines to meet the unique requirements of web-based applications.
Course Objectives
1. Be familiar with Web application development software tools and environments currently available on the market.
2. Teach the concepts, principles and methods of Web engineering.
3. Build Web Applications that are scalable flexible to modify and easy to manage .
Student Learning Outcomes
It is expected that on the completion of this coursethe students would be able to know: 1. Be able to understand the concepts, principles and methods of Web engineering. 2. Be able to apply the concepts, principles, and methods of Web engineering to Web
applications development.
3. Be familiar with current Web technologies.
4. Be able to understand the technologies, business models and societal issues of Web 2.0 and Semantic Web
3. Lab. Tasks
2-
Course Duration
Theclassof two Hours will be held twice a week. However Extra Sessions may be scheduled if needed.
3-
Course style
The course will be delivered both in a classroom and as well as in a Lab.
In Class Implementation, Live CodingDemo, power point slides ,Class Discussion , Notes.
4-
Additional Course Requirement
Students with good Web Programming and Software Development.
5-
Technology
10-
Text and Other Resources
10.1 Text Book
Course textbook :Web Engineering: A Practitioner's Approach by Roger Pressman and David Lowe, McGraw‐Hill, 2009.
Lab textbook: Web 2.0 Architectures: What Entrepreneurs and Information Architects Need to Know by James Governor, Dion Hinchcliffe, and Duane Nickull, O'Reilly,
2009
10.2 Reference Books
11-
Course Outline
The lecturers are supposed to complete the following topics before the mid/final term examination as prescribed in the course outline below:
Week
Lecture
Topics/Sub-Topics
1
1 Introduction to Web EngineeringWeb Programming vs. Web Engineering
2
Introduction to Web: HTTP, URL, Web Browser, Web Server, SMTP Server, ISP, Hyperlink, DNS, XML, Parsers and Internet based services
Web Architecture
2
1 An Overview about HTML (Basic Tags)
2 HTML5 forms, GET and POST data
3
1 Introduction to Cascading style sheets
CSS3 Properties (BOX model, Advance Selectors)
2 Responsive DesignsNeed of responsive designs (bootstrap)
4
1 Introduction to Javascript and jquery
2 Angular JS (A Client Side MVC framework)
5
1
Introduction to PHP Associative arrays Include, require, header
Developing Dynamic Content/Web page using PHP Sessions and Cookies
2
Database Connectivity Using PHP and Insert Record into Database Update, Delete and View Records from Database
Building a CRUD application
6
1 AJAX
How AJAX works
2 Case Study on Code Management Tool (Github)
7
1 Secure Web Applications
8
1 Introduction to MVC Model View Controller
2 Performance Optimization of Web Application
9
1 Introduction to PHP Framework (LARAVEL)
2
MVC Routing
Static and Dynamic Routing Route Parameters
Named Routes Route Groups
10
1
HTTP Middleware
Introduction
Defining Middleware Registering Middleware Middleware Parameters
2
Blade Templates
Introduction
Template Inheritance Defining A Layout Extending A Layout Database: Migrations
11
MID-TERM EXAMINATION
12
1
How to Work on View Section in LARAVEL Basic Usage
Passing Data To Views Sharing Data With All Views
2
Introduction
12
1
Database Seeding in LARAVEL Writing Seeder
Running Seeder
2
MVC Controller in LARAVEL Introduction
Basic Controllers Controller Middleware
13
1MVC Model and Eloquent ORM in LARAVEL Getting Started
Relationships Collections
2 Introduction to Web Services Restful Services
14
1Introduction to SOAP Services SOAP Service Architecture 2 WSDL with SOAP ServiceUDDI with SOAP
15
1 Web Application Testing
2
Test Driven Development(TDD) TDD and Traditional Testing
16
1 Introduction to CMS Systems (Wordpress/Magneto)2 Viva and Project Submission
FINAL EXAMINATION
12 - Assessment Criteria
No. Assessment Percentage
1. Project 20%
2. Lab 15%
3. Assignments + Quiz 5%
4. Midterm 20%
5. Final 40%
Total 100%
13-
Attendance Requirements
lecturer to brief you on what you have missed. You are responsible for your attendance, not the academic staff. Attendance at lab sessions will be strictly monitored, and failure to attend will be taken into account.
It is recommended to you to come in time.
14-
Submission and Collection of Assignment
All assignments should be submitted before the time mentioned on Course website when they are due. Result will be uploaded on course website.
15-
General Information
Students are required to be familiar with the university code Conduct, and to abide by its terms and conditions.
15.1 Copying of Copyright Material By Student
A condition of acceptance as a student is the obligation to abide by the University’s policy on the copying of copyright material. This obligation covers photocopying of any material using the University’s photocopying machines, and the recording off air, and making subsequent copies, of radio or television broadcasts, and photocopying textbooks. Students who flagrantly disregard University policy and copyright requirements will be liable to disciplinary action under the Code of Conduct.
15.2 Academic Misconduct
Please refer to the Code of Conduct for definitions and penalties for Academic Misconduct, plagiarism, collusion, and other specific acts of academic dishonesty. Academic honesty is crucial to a student's credibility and self-esteem, and ultimately reflects the values and morals of the University as a whole. A student may work together with one or a group of students discussing assignment content, identifying relevant references, and debating issues relevant to the subject. Academic investigation is not limited to the views and opinions of one individual, but is built by forming opinion based on past and present work in the field. It is legitimate and appropriate to synthesize the work of others, provided that such work is clearly and accurately referenced. Plagiarism occurs when the work (including such things as text, figures, ideas, or conceptual structure, whether verbatim or not) created by another person or persons is used and presented as one’s own creation, unless the source of each quotation or piece of borrowed material is acknowledged with an appropriate citation. Encouraging or assisting another person to commit plagiarism is a form of improper collusion and may attract the same penalties. To prevent Academic Misconduct occurring, students are expected to familiarize themselves with the University policy, the Subject Outline statements, and specific assignment guidelines. Students should also seek advice from Subject Leaders on acceptable academic conduct.
15.3 Guidelines to Avoid Plagiarism
details must be provided in your bibliography. If you copy a diagram, statistical table, map, etc., you must acknowledge the source. The recommended way is to show this under the diagram. If you quote any statistics in your text, the source should be acknowledged. Again full details must be provided in your bibliography. Whenever you use the ideas of any other author you should acknowledge those, using the APA (American Psychological Association) style of referencing.
Students are encouraged to co-operate, but collusion is a form of cheating. Students may use any sources (acknowledged of course) other than the assignments of fellow students. Unless your Subject Leader informs you otherwise, the following guideline should be used: Students may work together in obtaining references, discussing the content of the references and discussing the assignment, but when they write, they must write alone.
15.4 Referencing For Written Work
Referencing is necessary to acknowledge others' ideas, avoid plagiarism, and allow readers to access those others’ ideas. Referencing should:
1. Acknowledge others' ideas 2. Allow readers to find the source 3. be consistent in format and
4. Acknowledge the source of the referencing format
To attain these qualities, the school recommends use of either the Harvard or American Psychological Association style of referencing, both of which use the author/date.
15.5 Referencing Standards
APA style referencing
Approval
Designed by,
Abdul-Wahab (Assistant Professor) Nosheen Qamar (Lecturer)
Approved by,