Skip to content

FarhanSadaf/CSE3100-Web-Programming-Lab

Repository files navigation

CSE 3100: Web Programming Laboratory

Course Objectives

i. Foster a solid understanding of web development fundamentals encompassing HTML, CSS, and JavaScript, while also exploring modern concepts such as RESTful API integration and responsive design, enabling students to craft interactive and dynamic user experiences.

ii. Introduce students to server-side scripting with PHP and ASP.NET, emphasizing the development of RESTful APIs, handling HTTP requests, and managing session data, laying the groundwork for building scalable and secure web applications.

iii. Familiarize students with popular web frameworks like Laravel, providing insights into MVC architecture, routing, middleware, and database migration, empowering them to leverage robust development tools and streamline the creation of sophisticated web applications.

iv. Cultivate proficiency in database management and design principles, including SQL query building, ORM frameworks, and advanced database operations, enabling students to architect efficient and scalable data-driven web solutions while adhering to industry best practices.

Lab Contents

Week Topic Contents/Details
01 Basics of HTML and CSS HTML Document Structures (<html>, <head>, <body> etc.)
HTML Elements (Headings, Paragraphs, Lists, Links, Images, etc.)
HTML Tables and Forms
HTML Attributes (class, id, etc.) and CSS Selectors
CSS Box Model (Content, Padding, Border, Margin)
CSS Properties (Color, font, text alignment, etc.)
CSS Layout (Flexbox, Grid with positioning elements e.g. relative, absolute, fixed)
Responsive Design
Using Bootstrap
02 Basics of JavaScript Variables, Constants, and Comments
Data Types (Including Strings)
Control Flow (If-else, Nested If-else, Switch)
JavaScript Functions
Arrays
Objects (Constructors)
Events and Event Handling (DOM Events e.g. click, submit, change; Event Listeners)
Environment Setup Setting up the Environment for PHP Development (VSCode, Xampp, etc.)
Setting up the Environment for ASP.NET Development
03 Getting Started with PHP Variables, Constants, and Comments
Data Types (Including Strings)
Control Flow (If-else, Nested If-else, Switch)
Operator Precedence
PHP Loops (While, For, For-each, Continue and Break)
PHP Functions
Variable Scopes
PHP Array and Associative Array (Array Manipulations e.g. Adding, Removing, Concatenating, Searching, Shuffling, etc.)
PHP Object Oriented Programming Classes, Objects, Methods, and Properties
Public and Private Methods and Properties
Inheritance
Traits and Use Keyword
Abstract Classes and Abstract Methods
Interfaces
Namespace
Include and Require Statements
04 Getting Started with ASP.NET Variables, Constants, and Comments
Data Types (Including Strings)
Control Flow (If-else, Nested If-else, Switch)
Operator Precedence
C# Loops (While, For, For-each, Continue, and Break)
C# Functions
Variable Scopes
Arrays, Dictionary
C# Object Oriented Programming Classes, Objects, Methods, and Properties
Public and Private Methods and Properties
Inheritance
Abstract Classes and Abstract Methods
Interfaces
Namespace
Using Statements
05 File, Session, Cookies, Date, Exception Opening Files in Different Modes
Reading, Writing, and Appending Data
Processing Data in Serialized Arrays and JSON Format in Files
Working with Sessions
User Authentication and Role Management (Access Control) using Sessions
Working with Cookies
Working with Date Formats
Discussions of Exceptions (Types of Exceptions, Try-catch)
Custom Error Handlers, Fatal Error Handlers
SQL and Database Management System PHP/ASP.NET Database Basics (Table Structure)
CRUD Operations
Data Grouping, Where Clause, Aggregator Functions
Join in SQL (Inner, Outer, Left, Right)
06 Lab Test, Assignment Showcase
07 Introduction to Laravel Architecture Setting up the Environment for Laravel (Composer)
Creating and Understanding Project Structure
Artisan Commands (make:view, make:controller, make:model etc.)
Basic Routing
Blade Templates Blade Syntax (e.g. {{ }}, {!! !!}, Comments etc.)
Control Structures (If-else, For, For-each, For-else, While)
Template Inheritance (@extends and @yield, @section and @show)
Pass Data from Controller
Blade and JavaScript (@push and @stack)
Route and URL Helpers
08 MVC Pattern, Laravel Controller Understanding MVC
Understanding Controller
Laravel Middleware Understanding Middleware
Using Middleware (Request Redirect, Manipulate Request Header, etc.)
Routing, Session, Cookies Router methods (Get, Post, Delete, etc.)
Form processing, CSRF protection
Session and Cookies in Laravel
09 Laravel Migration and Database Designing Introductions to Laravel Migrations
Database Schemas
Modifying Tables
Indexes and Foreign Keys
Seeding
Rollback and Refresh
Query Builder Retrieving Single Rows, All Rows
Select, Where Clauses
Aggregation, Join Clauses
Eloquent ORM Essentials: Models, Operations How Eloquent ORM Works
Model Naming Conventions
Fillable Properties
Insert, Update, Delete, Select Clause, Where Clause
10 Laravel Request-Response Model, REST API Introduction to REST API
Request-Response with Postman
Different Types of Request-Response (Simple Request, Request with Parameter, Request with Header and Body, Form Data, File Upload, Redirect Response, etc.)
Advanced Middleware, API Application Using Middleware (Request Verification, Rate Limiting, etc.)
Ajax/ Fetch API with Examples
11 Final Project Showcase
12 Lab Quiz

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published