I will be happy to read your comments. Thank you!
You can see the schedule with all the SoftUni courses on the site: https://softuni.bg/curriculum
I will review them one by one with more details.
- Document Object Model – The DOM API is also a part of this course. We teach what is DOM. How to select DOM elements. What is a Node list and what is the difference between live and static lists. How to create new DOM elements from JS. How to attach them to the DOM. How to traverse the DOM using child parent and sibling methods. How to alter and remove elements. And the end comes with some DOM Optimization with Document Fragment.
- Events – We are talking about Event types. How to define event handlers and what is the right way. We review the event object. See also event chains capturing and bubbling events.
- AMD and RequireJS – This topic is about Asynchronous Module Definition and overview of RequireJS
- HTTP, AJAX, REST – Here we talk about basic concepts in the Internet. HTTP protocol, methods, status code, MIME types, AJAX, Web services, AJAX, what is same origin policy…
- Web Storages – Here we talk about cookies, session storage and local storage. What are the pros and cons using cookies vs web storages in browser.
- jQuery – Today many people use jQuery. We show how with one-two lines of code you can do magic.
- Consuming REST Services – This is the lecture in which we show how to consume web services with XMLHttpRequest. At the end of the presentation we show how to do it with some libraries.
- Applications Architecture – When we create single-page applications we should structure our code. We show how to separate the code in different layers.
- Templating – Templates are useful to the developers, because the code is cleaner. We show it with mustache.js or handlebars.js.
- Routing – Routing is very useful for the users. We show JS libraries for routing like Sammy.js or crossroads.js
- Unit Testing – Building applications without unit tests is not a good practice. They are a very important part of our development process. We show it with the help of Mocha, Chai and Karma.
This course is interesting because it depends on the trends of the SPA Applications libraries. If the industry writes Angular, we will teach Angular, if the industry writes more backbone, we will teach backbone… By now Angular is the most popular MV* library and this is the reason why we teach it.
- Introduction to AngularJS – What is Angular, what is MV* framework, Angular architecture, components and features. We show hello world application and Angular seed.
- Controllers and Markup in AngularJS – We cover the main parts of the AngularJS. What is a controller, what is an expression, what is $scope, filters, binding, validation…
- Services – What are services and how to use them correctly. Built-in services and how to create custom services.
- Routing – This presentation is about routing, templating, navigating between routes, working with route parameters. How to enable HTML5 routing. How to insect routes.
- Directives – What is a directive? How to use directives, how to create directives and how to deal with scope. How to isolate scope. How to handle events with directives.
- Practical Project with AngularJS – Our students have an individual practical project and they have to create a single-page application with the help of the AngularJS. This is their exam for this course. It is very interesting because they have some real problems to solve and we get to see some very good projects made by the top students.
- AngularJS Best Practices – I decided to insert this lecture in this course because when we create big projects without caring about the code quality, the code is going to smell. We want to teach our student how to write high-quality code. Here we show how to structure our files, folders and modules. What are the naming conventions in AngularJS. What are the roles of the controller, service and directive and how to use them properly. How to deal with $scope. Communication between components is necessary for the bigger projects. In some cases it is not very easy to communicate correctly between components. We show the students how to do it.
All materials is free and open source. Everything is in English. Only the videos are recorded in Bulgarian.