Web Programming
Course Title: Web Programming
Course No: ENCT 330
Nature of the Course: Theory + Lab
Semester: 5
Full Marks: 60 + 40 + 25
Pass Marks: 24 + 16 + 8
Credit Hours: 3
Course Description
Course Objectives
Course Contents
- Data types, variables, control structures, functions
- Dom manipulation, events, and form validation
- Local storage and session storage
- GUI interactions
- JavaScript library: jQuery
- Arrow functions, destructuring, spread/rest operators
- Callbacks, promises, async/await
- Modules and imports
- Client-side web application development using React JS library
- Traditional multi-page apps vs. single-page apps (SPAs)
- Component-based UI and props
- State management and data flow
- Client-side routing and navigation without reloads
- Fetch API: Fetching, displaying data, handling errors and loading states
- Comparison of modern JavaScript libraries: React, Angular, Vue
Laboratory Works
- 1.Build a responsive personal portfolio page using semantic HTML5, CSS grid/flexbox, and media queries
- 2.Create a dynamic to-do list app with DOM events, local storage, and JavaScript event handling (using jQuery)
- 3.Develop a CRUD application (e.g., library system) using a server-side framework (Django/Flask/FastAPI)
- 4.Create a frontend in React that fetches data from your backend API and displays it dynamically.
- 5.Extend the CRUD app with user authentication (Login/logout), form validation, and secure token/session handling
Reference Books
- 1.Copes, F. (2019). The JavaScript Handbook. (https://flaviocopes.com/the-javascript-handbook-2019-edition/)
- 2.Nixon, R. (2025). Learning PHP, MySQL & JavaScript: A Step-by-Step Guide to Creating Dynamic Websites. O'Reilly Media.
- 3.Vincent, W. S. (2025). Django for Beginners: Build websites with Python and Django.
- 4.Richardson, L., & Amundsen, M. (2013). RESTful Web APIs: Services for a Changing World. O'Reilly Media.
- 5.Hoffman, A. (2024). Web Application Security: Exploitation and Countermeasures for Modern Web Applications (2nd ed.). O'Reilly Media.