Full Stack Web Development
program Curriculum
----Week 1-2: Introduction to Data Structures----
- Overview of data structures, time and space complexity analysis,
arrays, linked lists.
- Stacks, queues, and basic data structure implementation.
----Week 3-6: Trees, Heaps, and Hashing----
- Trees, binary search trees (BSTs), balanced trees (AVL, Red-Black).
- Priority queues, heaps, and heap sort.
- Hashing fundamentals, hash tables, collision resolution.
----Week 7-10: Graphs and Advanced Data Structures----
- Graph representations, DFS, BFS.
- Shortest path algorithms, minimum spanning trees.
- Disjoint Set (Union-Find), Trie, B-trees.
----Week 11-14: Advanced Topics and Applications----
- Suffix trees/arrays, Bloom filters, geometric data structures.
- Parallel/concurrent data structures, real-world applications.
----Week 15-16: Review and Final Projects----
- Review key concepts, problem-solving sessions.
- Final project presentations, course wrap-up, Q&A.
### Weeks 16-29: Full Stack Web Development
----Week 16-18: MongoDB and Express.js----
- MongoDB introduction, basic CRUD operations.
- Building RESTful APIs with Express.js.
----Week 18-21: Authentication and Security----
- User registration/login, securing routes.
- Best practices for authentication and security.
----Week 21-23: Advanced Express.js and Node.js----
- Middleware functions, file handling, validation.
- Asynchronous JavaScript, Promises, async/await.
----Week 23-27: React Basics and State Management----
- Introduction to React, setting up projects.
- Components, JSX, props, state, event handling.
- React Router, local vs. global state, Context API, Redux.
----Week 27-29: Advanced React Concepts----
- React Hooks, forms and validation.
- Styling with CSS-in-JS, working with APIs.
### Weeks 29-26: Advanced Topics and Projects
----Week 29-30: Full-Stack Application Development----
- Integrating frontend/backend, user authentication with JWT.
- Deploying application to a cloud platform.
----Week 30-31: Real-Time Applications----
- Introduction to WebSockets, building a real-time chat app.
- Using Socket.io or similar libraries.
----Week 31-32: Performance Optimization----
- Profiling, debugging, code splitting, lazy loading.
- Performance best practices.
----Week 32: Final Project----
- Designing and building a complex MERN stack application.
- Project planning, execution, deployment, and showcasing.