webeng icon indicating copy to clipboard operation
webeng copied to clipboard

This repository contains content related web engineering development

Web Engineering

Web applications are complex systems that deliver a plethora of features to a large number of users (including developers), and also exhibit unique behaviors and demands in terms of performance, scalability, usability, and security. This course will discuss the limits of current web technologies, information and service architectures, caching, session and data management.

Results

[Midterm Results 2018] (https://docs.google.com/spreadsheets/d/16viD4-55m8y3a-nrE15X333N4lnHYum7DjK-vsOCK-E/edit?usp=sharing)

[Project Teams & Progress] (https://drive.google.com/file/d/1fkQ8_sXKtih-ADdNdcI3h5RUdqt4y65n/view?usp=sharing)

2018 batches Data

ITM(https://github.com/mbilalshaikh/webeng/2018/ITM) , ITE(https://github.com/mbilalshaikh/webeng/2018/ITE) , SWM(https://github.com/mbilalshaikh/webeng/2018/SWM), SWE(https://github.com/mbilalshaikh/webeng/2018/SWE)

Software Requirement Specification(SRS) Document

(https://drive.google.com/open?id=1kwt_obW98XOIFujdKjDW33rafH6j116b)

Instructor

Muhammad Bilal Shaikh

Text Book

Web Engineering: A Practitioner's Approach (https://yslaiseblog.files.wordpress.com/2014/03/pressman-lowe-2009-web-engineering-a-practitioner_s-approach.pdf)

Lecture Slides

Web Engineering: A Practitioner's Approach (https://drive.google.com/open?id=1DWnQn2J2r5qWRmWX2PiKEEFOAKxvhcdr)

[Facebook Study Group] (http://www.fb.com/groups/webmobiledevelopers)

Languages to work on

  • HTML
  • CSS
  • JavaScript
  • PHP
  • MySQL

Softwares

  • XAMPP

#Prerequisites *Any Basic Programming Course *Data Structures

Sylabus Plan

Date Agenda Deliverable
Week 1 Attributes of Web Engineering
Week 2 Categories of Websites
Week 3 Web Development Models
Week 4 Water Fall Model (SDLC)
Week 5 Spiral Model
Week 6 Agile Model
Week 7 Design Patterns
Week 8 MVC
Week 9 MVC Example Framework I(Code Ignitor)
Week 10 MVC Example Framework II(Laravel)
Week 11 ORM(Object Relational Model
Week 12 Web Frameworks
Week 13 Web Services, REST
Week 14 REST

*Model-View-Controller, Data Modeling

Two really important outcomes for any good Computer Science curriculum: (1) good design and (2) separation of concerns Design pattern:

  • Reusable practice for designing software

  • Proven way, benefits

  • Used by many

  • Risks are known

  • Avoid reinventing the wheel

  • Model-View-Controller (MVC) design pattern

  • MVC-based frameworks: iOS, Android, Rails, Django, Backbone.js, AngularJS, ASP, Spring

  • Let's concentrate on the the Model. Recall the idea of NoSQL or MongoDB, and example of a NoSQL database. Why NoSQL database?

  • Why NOT a NoSQL database? Example:

name m_f title year Carrie Fisher f Star Wars: A New Hope 1977 Carrie Fisher f The Empire Strikes Back 1980 Carrie Fisher f Return of the Jedi 1983 Mark Hamill m Star Wars: A New Hope 1977 Mark Hamill m The Empire Strikes Back 1980 Mark Hamill m Return of the Jedi 1983 Harrison Ford m Star Wars: A New Hope 1977 Harrison Ford m The Empire Strikes Back 1980 Harrison Ford m Return of the Jedi 1983 Harrison Ford m Indiana Jones 1981

  • What is a relational database, the relational model?

  • Tables => collection of related records

  • Rows => records (or tuples)

  • Columns => fields adhering to certain data types

  • Keys => bindings

  • Views => query results

  • Schema => blueprint

  • Why relational databases?

  • Mature

  • Productive

  • Standards exist (e.g., the Structured Query Language)

  • Extensible

  • Complex queries can be done

  • More security options

  • Avoids data duplication

  • Easier to change data (if designed correctly)

|--------- | Topics Presentations | Persentations in Lab 1 (2 min 4 Max Each Group) |--------- | Projects Demo|Code and Final Demo

Lab Sylabus Plan

Date Agenda Deliverable
Week 1 Lab 1 HTML
Week 2 Lab 2 HTML Extended
Week 3 Lab 3 CSS Startup
Week 4 Lab 4 CSS Extended
Week 5 Lab 5 JavaSript Startup
Week 6 Lab 6 JavaScript Extended
Week 7 Lab 7 Mixing HTML/CSS/JavaScript
Week 8 Lab 8 PHP Startup
Week 9 Lab 9 PHP Fundamentals(XAMPP)
Week 10 Lab 10 PHP I
Week 11 Lab 11 PHP II
Week 12 Lab 12 MYSQL Intro
Week 13 Lab 13 MYSQL Extended
Week 14 Lab 14 Project Practice I
Week 15 Lab 15 Project Demonstration I
Week 16 Lab 16 Project Demonstration II

|--------- | Topics Presentations | Persentations in Lab 1 (2 min 4 Max Each Group) |--------- | Projects Demo|Code and Final Demo

Course Outline

  • Improvements for future classes
  • More focus on projects and MySQL
  • MongoDB based Linux VM Use to extend course towards NoSQL Databases VM Tutorial
  • SQL,Object Relation Mapper(ORM) (Skipped)
  • iOS, Android, Rails, Django, Backbone.js, AngularJS, ASP, Spring (skipped)
  • Data Modeling

For Regular Students

Theory

  • Chapter 1 to 4 from Book , slides and class notes
  • Web Engineering Attributes & Categories
  • Waterfall Model,Spiral & Agile Software Development Models
  • Web Services,REST
  • Model View Controller | MVC-based frameworks:
  • Static Code Optimization
  • Scalability

Lab(http://www.github.com/mbilalshaikh/webeng)

  • HTML
  • CSS
  • JavaScript
  • BootStrap
  • PHP
  • MySQL

For Improvers/Failures

Lab

(http://www.github.com/mbilalshaikh/webeng)

  • HTML
  • CSS
  • JavaScript
  • PHP

Theory

  • Web Engineering Attributes & Categories
  • Waterfall Model,Spiral & Agile Software Development Models
  • Web Services,REST
  • Model View Controller | MVC-based frameworks:
  • Static Code Optimization
  • Scalability