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. |
| 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; exploring different query techniques. | ||
| 3.5 Touch pads (capacitive touch) | Trigger inputs by touching conductive surfaces. | ||
| 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. |
| 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 DOM Forms | Validating HTML form elements using JavaScript. | ||
| 4.6 CSS frameworks : Bootstrap | Understanding CSS frameworks; including Bootstrap in a project; designing responsive pages using Bootstrap; implementing Bootstrap UI components such as grids, carousels, and collapsible sidebars. | ||
| 5 | Server | 5.1 Introduction to Node.js, Express.js & Cygwin | Installing Node.js, Express.js, and Cygwin; learning Cygwin commands; creating a simple server using Express.js. |
| 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. | ||
| 5.4 Types of Networks | Understanding network types such as LAN, WAN, and the Internet; differentiating local networks from the Internet; understanding the concept of localhost and running a server locally. | ||
| 5.5 HTTP Requests and Responses | Understanding HTTP GET and POST 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.6 HTTP vs HTTPs | Understanding Internet security risks; SSL certificates and how they work; self-signed vs CA-signed certificates. | ||
| 5.7 Using Node Modules | What Node modules are; installing and importing Node modules; using modules within a project. | ||
| 5.8 Handling Requests and Responses on the Server | Adding routes to handle HTTP GET and POST requests in Express.js; sending appropriate responses and status codes. | ||
| 5.9 Connecting to a MySQL Database | Using the mysql2 module to connect to a MySQL database; executing and processing queries; handling query-related errors. | ||
| 5.10 AJAX | Using AJAX to send asynchronous HTTP requests to the server. | ||
| 5.11 Security and Authentication on the Server | Using the bcrypt module to encrypt passwords; validating user login credentials; restricting access to routes 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. | ||
| 6.4 Logs and error handling | Understanding the importance of logging; using tools such as console.log, PM2, and other modules to record and monitor activity. | ||
| 6.5 Debugging and Testing | Identifying common coding errors and debugging techniques; using the Node.js debugger; writing and executing test cases; testing APIs using Postman; and using browser developer tools for troubleshooting. |
