Frontend Programming Syllabus 2024
Frontend Programming Syllabus 2024
43 Theoretical Sessions
26 Practical Sessions
Table of Contents
Contents
Grading Policy: ............................................................................................................................................................................ 5
Practice 1. ................................................................................................................................................................................. 7
Lesson 5. Advanced CSS Styling Techniques: Color, Fonts, Selectors, and Positioning ........................................................... 7
Practice 3. ................................................................................................................................................................................. 8
Practice 4. ................................................................................................................................................................................. 8
Practice 5. ................................................................................................................................................................................. 8
Lesson 11. Mastering Flexbox: Container, Items, and Advanced Techniques ........................................................................... 8
Practice 6. ................................................................................................................................................................................. 9
Lesson 13. Bootstrap Essentials: Components, Grid System, and Project Integration .............................................................. 9
Lesson 14. Version Control Mastery: Git, GitHub/GitLab, and Command Line Practices .......................................................... 9
Lesson 15. JavaScript Fundamentals: History, Variables, Operators, and Output .................................................................... 9
Lesson 16. JavaScript Control Flow: Comparison, Logic, and Iteration ................................................................................... 10
Practice 7. ............................................................................................................................................................................... 10
Lesson 17. JavaScript Functions: Hoisting, Declarations, Expressions, and Modern Syntax ................................................... 10
Practice 8. ............................................................................................................................................................................... 10
Frontend Programming course syllabus
Lesson 18. JavaScript Data Structures: Objects, Arrays, and Operator Mastery ..................................................................... 10
Practice 9. ............................................................................................................................................................................... 10
Lesson 19. JavaScript Advanced Techniques: Destructuring, Operators, Functions, Exercises ............................................... 10
Lesson 20. DOM Manipulation Mastery: Working with Elements, Events, and Time ............................................................. 11
Lesson 23. Asynchronous JavaScript: Timers, HTTP Fundamentals, Fetch API, and Promises ................................................ 12
Lesson 24. JavaScript Promises and Storage: Handling Async Operations and Data Storage ................................................. 12
Lesson 27. Exploring Algorithms in JavaScript: Sorting, Searching, and Complexity Analysis ................................................. 12
Lesson 29. Essentials of JavaScript: Paradigms, Threading, Non-Blocking, and Runtime ....................................................... 13
Lesson 31. React.js Fundamentals: History, Architecture, and Development Environment ................................................... 14
Lesson 34. React Router Essentials: Basic Routing and Practical Application ......................................................................... 14
Lesson 37. React Context API and Hooks: Simplifying State Management ............................................................................ 15
Lesson 38. React State Management: Reducers, Memoization, and Custom Hooks .............................................................. 15
Lesson 39. Redux Essentials: Introduction, State Management, and Core Concepts.............................................................. 15
Lesson 43. Unit Tests, Integration Tests, and Accessibility Checks ......................................................................................... 16
Grading Policy:
Assessment:
Graded Activity Weight
Module exam (theoretical and
30%
practical)
Student assessment 10%
Final Project 30%
Final exam 30%
1. Module exam:
The exam is held 1 time. Module exam questions consist of Module I. 1 Week before the Exam is
Reading Period.
2. Student assessment:
Student assessment is the process of evaluating students’ abilities and achievements. Each
student is evaluated every month during their education period by the following criteria:
Student’s performance:
Takes an active part in classes
Listens carefully to lessons
Asks questions when he doesn't understand the lesson
Motivation is high
Frontend Programming course syllabus
3. Final Project:
The final project enables to show student’s comprehension of the course topics, and capabilities in
problem formulation, presentation, and team working. Projects are assigned by ATL Academy or ATL
Tech.
4. Final exam:
The final exam will be based on theoretical questions. Exam questions consist of all topics delivered
during whole session.
Assessment type Format
Theoretical Multiple choice or open-ended
Frontend Programming course syllabus
HTML tags
Tag attributes, style attribute, style tag
HTML symbols
HTML tables
Ordered list, Unordered list
Form
Practice 1.
Lesson 5. Advanced CSS Styling Techniques: Color, Fonts, Selectors, and Positioning
Color & Background-color: RGB(A), HSL(A)
Font-size, font-weight, font-style
Box-sizing
Display properties
Practice 3.
Lesson 4,5,6
Practice 4.
Lesson 7 – 8
Responsive design
Media queries
Mobile-first vs desktop-first media queries
Linear-gradient, radial-gradient
Practice 5.
Lesson 9-10
Grid
Practice Grid and Flex
Practice 6.
Lesson 11-12
Lesson 13. Bootstrap Essentials: Components, Grid System, and Project Integration
Bootstrap
Practice Bootstrap
Lesson 14. Version Control Mastery: Git, GitHub/GitLab, and Command Line Practices
Git
Github or Gitlub
Practice Command Prompt
Practice 6.
CSS
Reading period
MODULE EXAM I
MODULE II – JavaScript
JS History
Variables, basic data types
Arithmetic operators
Working with primitive types
Numbers, String, Boolean
Undefined, null, NaN
Typeof
Comments in JS
Printing outputs – alert, console
Frontend Programming course syllabus
Comparison operators
Logical operators
Practice 7.
Lesson 15 – 16
Lesson 17. JavaScript Functions: Hoisting, Declarations, Expressions, and Modern Syntax
Hoisting
Functions
Function declaration
Function expression
Arrow functions
Default parameters
Practice 8.
Lesson 17
Lesson 18. JavaScript Data Structures: Objects, Arrays, and Operator Mastery
Objects
Difference between primitives and objects
Arrays
Array functions: push(), pop(), shift(), unshift(), indexOf(), splice(), slice(), fill(), concat()
Practice 9.
Lesson 18
Destructuring
Rest and spread operator
Higher-order array methods (forEach(), map(), reduce(), filter(), join(), sort(), find())
First Class Functions: Passing functions as arguments, Functions returning functions
Practice 10.
Lesson 19
Frontend Programming course syllabus
Practice 11.
Lesson 18-19
Lesson 20. DOM Manipulation Mastery: Working with Elements, Events, and Time
DOM
Working with DOM
Searching, reading, modifying using DOM
The event, mouse events
DOM elements
Creating, inserting, deleting DOM elements
Events, Event listeners
Keyboard and Scroll events
Date and time
Practice 12.
Lesson 20
Practice 13.
Lesson 20
Practice 14.
Lesson 20-21
Frontend Programming course syllabus
Lesson 23. Asynchronous JavaScript: Timers, HTTP Fundamentals, Fetch API, and Promises
Asynchronous JavaScript
SetTimeOut, SetInterval
What is HTTP?
Difference HTTP and HTTPS
Fetch, Making HTTP request with fetch
GET method
Lesson 24. JavaScript Promises and Storage: Handling Async Operations and Data Storage
then(), catch()
Promises
Resolve, reject
Practice 15.
Lesson 23- 23
RxJS library
Observable
Difference between Observable and Promise
subscribe()
unsubscribe()
pipe()
Practice 16.
Lesson 24- 25
Lesson 27. Exploring Algorithms in JavaScript: Sorting, Searching, and Complexity Analysis
Algorithms
Sorting and Searching algorithms
Big O notation, algorithm complexity analysis
Coding some exercises
Frontend Programming course syllabus
Practice 17.
Lesson 26- 27
Data Structures
Stack, Queue, PriorityQueue
Binary Tree
Practice 17.
JS module
NPM
Initializing NPM projects
Dependencies and scripts
JS module system (import/export/require)
Webpack
Practice 18.
JS module
Reading period
MODULE EXAM II
Frontend Programming course syllabus
History of React.js
Declarative and imperative programming
Component-driven architecture
Single-page applications
React.js development environment
Introduction to JSX
Create-react-app
Practice 19.
Lesson 26 – 27
State
Class components
Asynchronous setState
Event handling in React
Components Lifecycle Methods
High Order Components
Mounting, updating, unmounting
Virtual DOM and DOM
Practice 20.
Lesson 28
Practice 21.
Lesson 29 – 31
Lesson 34. React Router Essentials: Basic Routing and Practical Application
React Router
Frontend Programming course syllabus
React-router-dom
Nested routing
Route params
Practice
Lazy loading
Code Splitting
Making a rest request
Practice: Quiz app
Practice 22.
Lesson 37. React Context API and Hooks: Simplifying State Management
Practice 23.
Lesson 35
Lesson 38. React State Management: Reducers, Memoization, and Custom Hooks
Lesson 39. Redux Essentials: Introduction, State Management, and Core Concepts
Introduction to Redux
State Management with Redux
Store
Redux DevTools
Reducers
Actions and action creators
Action Types
Frontend Programming course syllabus
Practice 24.
Lesson 36 – 37
Practice 25.
Lesson 38
Webpack, Babel
Creating app with custom setup with webpack
Practice 26.
React module
Reading period
MODULE EXAM III
Frontend Programming course syllabus
Throughout the course, participants will engage in a series of mandatory hands-on projects,
each carefully crafted to reinforce and apply the skills acquired. These projects serve as
benchmarks, allowing you to demonstrate proficiency and creativity in the frontend
development domain. Upon successful completion, you will not only fortify your understanding
of the technologies but also assemble an impressive portfolio. Here are the essential projects
included in the curriculum:
Dive into the realm of interactive games, applying JavaScript for engaging user experiences.
Create a real-time chat application with user authentication and interactive messaging
features.
Culminate your learning with a comprehensive final project, integrating diverse skills acquired
throughout the course.Choose a project that aligns with your interests, allowing you to
showcase your individuality as a frontend developer.
Frontend Programming course syllabus
React.js Skills:
Create single-page applications using React.js, including JSX, state management, and
component-driven architecture.
Implement React Hooks for efficient state handling.
Styling Techniques:
Apply advanced CSS styling, including gradients, shadows, and responsive design principles.
Ensure web accessibility and optimize performance.
Project Showcase:
Develop a final project demonstrating acquired skills and problem-solving abilities.
Continuous Learning:
Cultivate a mindset of continuous learning to adapt to emerging technologies.
Community Integration:
Establish connections within the frontend development community.