Published using Google Docs
fed
Updated automatically every 5 minutes

Front End Development 

This course focuses on the relevant classic web technologies for developing the client side of web applications and hybrid ones. Whether your target is developing a cross platform hybrid mobile application, a single page web application or a classic simple one this course is for you. This course focuses on the use of JavaScript, the jQuery library, the bootstrap framework and on HTML5. The course includes 90 academic hours organized in 5 parts, that take place in class, and 360 academic hours (and beyond) that take place at home. The training material (slides, video clips, assignments, solutions and code samples) for the entire course is organized in small online courses on the e-learning platform we use during the course. The entire course is captured on video in order to allow the participants to go over the material (effectively) in between the meetings. In addition, in order to assist those who cannot attend (as a result of military reserve or travelling abroad) the course is delivered online (sharing trainer computer using the gotomeeting platform). This way, the students can attend remotely.


Introductory Topics (1th Part)
This part covers the very basic topics in software development which are necessary in order to learn all other topics the course includes. This part focuses on the very basic topics in procedural programming, the basics of HTML, the basics of CSS and the basics of JavaScript. (10 academic hours)

Software Development in JavaScript (2nd Part)

This is the main part of the course. It covers the JavaScript programming language and is essential for the rest of the course. You cannot learn HTML5 nor any of the other topics this course includes without knowing JavaScript. (60 academic hours)

The Bootstrap Framework (3rd Part)

This part focuses on developing responsive web pages using the bootstrap framework. (5 academic hours)

The HTML5 Ecosystem (4th Part)

The HTML5 ecosystem is everything the HTML5 specification covers and beyond. We will start with covering the official parts of HTML5 and continue with some of the more interesting HTML5 capabilities that still weren’t added to the specification. (15 academic hours).


Meeting

Topic

Online Course

1

Fundamental Topics

Introduction to The Internet
Internet History

The Web
HTTP Protocol
Web Services
Websites


Introduction to Procedural Programming
Simple Variable

Input & Output
If Statement
While Loop

HTML Fundamentals
Introductio

Headings
Images
Links
Tables
Lists

2

Fundamental Topics

Introduction to Procedural Programming
Arrays

Functions

HTML Fundamentals
Forms


Introduction to Object Oriented Programming
Objects

HTML Style Guide
Introduction
Guidelines Overview

CSS Style Guide
Introduction
Guidelines Overview

3

JavaScript

JavaScript Programming
Introduction
Basic Elements

4

JavaScript

JavaScript Programming
Object Oriented Programming
Debugging

Array

Date

5

JavaScript

JavaScript Programming

Object Oriented Programming
Boolean

Number

String

Math
Functions
Anonymous Functions
Global Object

Window

Location

Navigator

Screen

History

6

JavaScript

JavaScript Programming
Document Object Model
Events Handling
Errors Handling

7

JavaScript

JavaScript Programming
Regular Expressions
Using Cookies
Live Connect
Handling Images
JavaScript and CSS
Memory Management
Asynchronous Programming

Lambda Expressions
CodeLinting
Data Structures

8

JavaScript

Ajax Fundamentals
Introduction to Ajax
The XmlHttpRequest Object
Web Services
The JSON Format
Dynamic Tag Pattern
JSONP Pattern
Cross Site Requests
Mashups
Cross-site HTTP requests
The FormData Object

9

JavaScript

JavaScript Programming

Object Oriented Programming
Data Structures

10

CSS & JavaScript Libraries


Twitter Bootstrap
Introduction
Jump Start
Components
Layout
Images

11

HTML5

Introduction to HTML5

Introduction
Multimedia

Video Capturing
Geo Location
Offline Storage
Canvas 2D Graphics
Canvas 3D Graphics

12

HTML5

Introduction to HTML5
Web Workers
IndexedDB

13

HTML5

Introduction to HTML5
HTML5 Forms
History Manipulation
Drag & Drop
Accessing Files
Local Files Access
Communication

14

JavaScript


Style Guide



Asynchronous Functions
Promises

Introduction to HTML5
Application Cache
Web Sockets

15

JavaScript

Asynchronous Functions
Async / Await

Fetch API Basics

Introduction
Basics
Headers


Introduction to HTML5
File Access API

16

JavaScript








T.B.A.

17

JavaScript

T.B.A.



18

JavaScript

T.B.A.


Changes Logs:

August 15th, 2013:

The topic ‘MV* Design Patterns’ was added to the JavaScript topic in meeting 11.

September 1th, 2013:

The following JavaScript libraries were added to the ‘Client Side JavaScript Libraries’ topic in meeting 18:

Microtext.js
UAParser.js
Paper.js
Math.js
String.js  
OpenLayers.js
LESS.js
Google Charts
Google FontLoader
Turn.js

September 16th, 2013:

Video Capturing was added to the HTML5 topic.

Lambda Expressions was added to the JavaScript Programming topic.

October 16th, 2013:

Code Linting and Iterators were added to the JavaScript Programming topic.
Grunt Basics was added to the the Server Side in JavaScript topic.

MySQL and Basics were added to the node.js sub-topic in Server Side in JavaScript topic.

December 17th, 2013:

The topics covered in AngularJS were changed. More topics were added. The animation topic was removed (it isn’t why we want to use angularjs).

January 2th 2014:

The topics List.js, Pixastic.js and Numeral.js were added.

June 12th 2014:
The HTML5 File API topic was added.

June 14th 2014:
The IndexedDB topic was added.

July 22th 2014:
The JSON, JSONP, Cross Domain Requests and Mashups sub topics were added to the Ajax Fundamentals topic.  

July 26th 2014:
The HTML Style Guide and the CSS Style Guide topics were added.

August 27th 2014:
The Ajax, Modules, Directives and Modules topics were added to the AngularJS topic.

October 10th 2014:
The following topics were taken away and they are now covered in the Software Engineering in JavaScript course. You can find the detailed plan of this course at
http://tinyurl.com/lifemichaeljs:
Node.js
Grunt
QUnit Testing Framework
The new available hours (10 in total) are added to covering the AngularJS framework.

October 12th 2014:
The Design Patterns in JavaScript topic is taken away. The available hours (10 in total) are added to covering the jQuery framework.  

May 10th 2014:
The jQuery topic was splitted into two separated topics. jQuery and jQuery UI. Both topics received new subtopics.

October 25th 2015:
More topics were added to HTML5. More hours were added to AngularJS. TypeScript new part was added (10 hours). JavaScript was updated with ECMAScript 2015 topics (some topics that already exist were updated and new topics, such as Data Structures, Reflection etc. were added). More hours were added to Bootstrap. Many topics in JavaScript Libraries big topic will be self studied in order to allow us having 25 hours dedicated to AngularJS 2.X and 20 hours dedicated to jQuery, jQueryMobile and jQuery UI. The Development Tools new part was added (2 horus). Few more topics were added to the list of self studied topics.

December 29th 2015:
AngularJS 2.x gets 5 more academic hours (30 academic hours in total) in the expense of jQuery that will be covered in 20 academic hours (instead of 25).  

December 30th, 2015:
The ‘
Cross-site HTTP requests’ and the ‘FormData Object’ sub topics were added to the Ajax Fundamentals topic.

October 9th, 2017:
The cover for many small topics was shrinked in favor of a better coverage for Angular 4. You now get 10 academic hours for TypeScript and 40 academic hours for Angular 4.

October 10th, 2017:
The introduction hours were shortened to 8 (instead of 10), and the CSS hours were shortened to 2 (instead of 10). 10 more academic hours were added to Angular!

April 7th, 2018:

The course was split into two courses. Angular Fundamentals and Front End Development.

July 4th, 2018:
The ‘Flexbox Basics’, ‘Fetch API Basics’, ‘Responsive Web Pages’ and ‘Web Accessibility’ topics were added. The ‘Promises’ and the ‘Service Worker’ sub topics in JavaScript was added.

October 14th, 2018:
Taking out the jQuery UI topic (old and irrelevant). The ‘Fundamental Topics’ (html, flowing charts and first steps with JS) part gets 2 more academic hours. The ‘User Interface Design’ part gets 3 more academic hours, and the new section ‘User Interface Design’ is created. The ‘Twitter Bootstrap’ topic now gets 5 academic hours (instead of 10).


October 15th, 2018:

The topics Proxies, Promises and Service Workers were taken away from this course. They will be delivered in our coming new Extreme JS seminar.

August 29th, 2021:

The hours’ allocation for jQuery, and jQuery Mobile was minimized to 1 meeting only (instead of 3). The jQuery, and jQuery Mobile are still very popular (jQuery is still the most popular JavaScript library), however, the direction is clear. Its market share is decreased and in the long run, it would be less popular (significantly). The Promises, and Async/Await topics were added.

September 29th, 2021:

1. The two meetings that focus on CSS are taken away. The rationale: CSS has become a huge topic. It is usually a topic that people learn on their own. You can also check out the course at https://css.course.lifemichael.com.

2. The meeting that focuses on Accessibility is taken away. The rationale: This meeting deals with topics you can easily learn by yourself.

3. The meeting that focuses on jQuery, jQuery Mobile and jQuery UI is taken away. The rational: Till recently the jQuery, jQueryMobile and jQuery UI topics were covered in two meetings. The jQuery library is still very popular... however, the direction is clear. Now that Bootstrap newest version stopped using jQuery, and most new websites are developed using React/Angular/Vue.js.. I believe it would be a good idea to take that topic away.

4. Small introduction to CSS is added to the 2nd meeting (as a result of change #1).

5. 4 meetings are now added to cover advanced topics in JavaScript.

6. The separation of all sub topics into 6 topics is cancelled. The sub topics are now organized into 4 topics only: Introductory (2 meetings), Bootstrap (1 meeting), and JavaScript (12 meetings), and HTML5 (3 meetings). Most of the HTML5 topics (more than 90%) are APIs in JavaScript we can use in the web browser (some of them are relevant for the server side as well).
7. Adding advanced topics in JavaScript (T.B.A.).