webeng
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