Asha Kanini

Web Development 2.0 Course Curriculum

S.No Topic Subtopic Detail/Content
1 Recap 1.1 HTML & CSS Recall the basics of HTML and CSS. Introduction to full stack development and the roles of the frontend, backend and database, and how the three work together to form a complete web application.
1.2 Scripting in Web Pages Understand what scripting is and how to add JavaScript code to HTML pages to make them dynamic.
2 Programming in Javascript 2.1 Basics of JavaScript JavaScript syntax and how JavaScript code is interpreted and executed.
2.2 Variables & Data Types Understanding variables and constants; different data types; using let and const; adding comments; introduction to JavaScript objects and the concept of JSON.
2.3 Operators Overview of arithmetic, assignment, string, comparison, logical, and ternary operators.
2.4 Introduction to Functions Function syntax (declaration, expression, and arrow functions); function calls; passing parameters; and returning values.
2.5 Conditional Statements Using if, if-else, and else if statements to make decisions in code.
2.6 Loops Implementing iteration using for and while loops.
2.7 Arrays & Array Methods Declaring and initializing arrays; using array methods such as push() and pop() to add and remove elements; searching arrays using indexOf(), find(), and includes().
2.8 Exception Handling in JavaScript Displaying errors in the console; handling errors using try-catch blocks; and printing error details for debugging.
2.9 Iterators Iterating through arrays using for and forEach() loops; filtering and transforming arrays using filter(), map(), and reduce().
2.10 Asynchronous Functions in JavaScript Understanding callbacks, promises, and asynchronous programming using async / await constructs.
3 Database concepts & MySQL 3.1 Introduction to Databases and creating a MySQL Database Introduction to databases and relational database concepts; creating a database in MySQL; understanding primary keys and the concept of indexing in tables.
3.2 CREATE, INSERT, DROP Using CREATE TABLE, INSERT, and DROP statements in MySQL; defining foreign keys and adding constraints; altering tables by adding/removing columns or modifying data types; removing constraints.
3.3 UPDATE and DELETE Using UPDATE and DELETE statements to modify and remove records in MySQL tables.
3.4 SELECT Queries in MySQL Writing SELECT queries with WHERE and ORDER BY clauses; nested SELECT queries; exploring different query techniques.
3.5 Using JOINs in MySQL Understanding table joins; types of joins such as INNER JOIN and LEFT JOIN.
4 Front end 4.1 EJS (Embedded JavaScript) Understanding Embedded JavaScript (EJS); syntax, examples, and rendering EJS pages through a server; passing data from the server into a view.
4.2 DOM (Document Object Model) Understanding the DOM and its tree structure in an HTML document; modifying the content and style of HTML elements using JavaScript.
4.3 Elements & Methods in DOM Using DOM properties and methods such as getElementById() and innerHTML; finding and manipulating elements by ID, tag name, or class name.
4.4 Events & Event Listeners in DOM Handling user interactions such as onclick and onchange events; using the addEventListener() method.
4.5 CSS frameworks : Bootstrap Understanding CSS frameworks; including Bootstrap in a project through a CDN; designing responsive pages using Bootstrap; implementing Bootstrap UI components such as the grid system, navigation bars, tables and buttons.
5 Server 5.1 Introduction to Node.js & Express.js Installing Node.js and Express.js; package management with npm; creating a simple server using Express.js; serving static files and setting port numbers.
5.2 Introduction to APIs Understanding APIs; adding routes to an Express server; rendering EJS pages for specific routes.
5.3 Client - Server Architecture Understanding client-server interaction and basic network protocols; concepts of request and response cycles; understanding localhost and running a server locally.
5.4 HTTP Requests and Responses Understanding HTTP GET, POST and DELETE requests; sending data via request parameters or body; types of data sent in HTTP requests; HTTP response status codes; sending responses from a server.
5.5 Using Node Modules What Node modules are; installing and importing Node modules; using modules within a project.
5.6 Handling Requests and Responses on the Server Adding routes to handle HTTP requests in Express.js; using middleware such as express.urlencoded() and express.json() to parse request bodies; sending appropriate responses and status codes.
5.7 Connecting to a MySQL Database Using the mysql2 module to connect to a MySQL database; executing and processing queries; handling query-related errors.
5.8 AJAX Using AJAX and the Fetch API to send asynchronous HTTP requests to the server and update page content without a full refresh.
5.9 Sessions on the Server Using the express-session module to create and manage user sessions; configuring the session middleware; session duration and persistence; logout and clearing sessions; how sessions are maintained using cookies.
5.10 Security and Authentication on the Server Validating user login credentials against the database; protecting routes from unauthenticated access; user roles and role-based rendering; restricting access to routes and page elements based on user roles stored in the database.
6 Building a full stack application 6.1 Designing Web Pages Designing UI layouts; selecting an appropriate CSS framework; identifying and implementing UI components required for the project.
6.2 Creating Required Database Tables Structuring project data into MySQL tables; selecting primary and foreign keys; defining relationships and joins; understanding normalized data design.
6.3 Wiring Requests and Responses on the Server Designing the interaction flow between the user interface and the server.