Software Development
Free 16 week JavaScript Class

Every Thursday Night for 16 weeks
6:30PM to 8:30PM
September 8th 2016
Trini Mendenhall Community Center
1414 Wirt Road, Houston, Texas 77055
(Spring Branch, 1 mile north of I-10 on Wirt Road) MAP

3 Suggested Course Books
(not required)

Amazon @ $11
(very small print)

Amazon @ $35

Amazon (Used) @ $4 to $12
(only if VERY serious about compilers)

The newer ones are $165, same stuff


16 Week Free JavaScript Course to learn JavaScript (client side) and JScript (server side) by writing a JavaScript Compiler with JavaScript. Learning JavaScript inside and out by writing a compiler for JavaScript.

The first assignment "we begin with the results" take some JavaScript source code and turn it into an executable file (*.exe), your first assignment is to write a compiler for a simple JavaScript program (Brute Force).


week 1:  Homework   Class 1 Slides (*.mht)    Class 1 Slides Zipped (powerpoint .ppt)

  • How to add comments in JavaScript
  • Local and global variables
  • How to write your first compiler
  • Basic Assembler instructions (MOVE and ADD)

week 2 and 3: Homework     Class 2 Slides (*.mht)   Class 2 Slides Zipped (powerpoint .ppt)    Class 3 Exercises

  • Working with Strings and Integers
  • Working with JavaScript Objects
  • Designing and writing a comment manager
  • Designing of a data structure required to manage the source code
  • Online quiz to test your code

week 4 and 5:    Week 5 Functions Examples

Class 4 Exercises.doc     Home Exercise 2      Home Exercise 3

Class 4 Slides Zipped (powerpoint .ppt)

Slide Examples

  • Coding of strings using Regular Expressions
  • Writing code to split the source code into words
  • Designing a structure for the words and special characters
  • Online quiz to test your code

week 6: Home Exercise 4      Week 6 Examples      Download  (Data Structures)

 Week 6 on-line Slides (IE only) download also has PowerPoint slides

  • Writing functions
  • Building functions to tract variable names used in the compiled source code
  • Addressing schemes
  • Making a static program dynamic
  • More on complex object structures
  • Understanding and using JavaScript Properties
  • Assignment: Write a Variable Name Manager

week 7:  Home Exercise 5     Week 7 Examples

  • JScript, server side function calls
  • Reading and Writing to Disk
  • Reading Keyboard, Mouse, Touch Screen
  • Fundamentals of the Operating System
  • Fundamentals of Computer Hardware: CPU, Memory, Floating Point Processors, Video
  • Assignment: Write functions to Read / Write to disk, keyboard, mouse and touch screen

week 8 and 9:  Compiler Maker   Class Slides  Video

  • Mid-Term Project/Test: "Write a pretty-print program"
    • Must process any JavaScript code (even your own)
    • Color code keywords, variables and numbers
    • Extra Credit: Write an Obfuscator instead

week 10:  Best Practices     Class Slides

  • Compiler reduction Tables
  • Designing the reduction functions to compile JavaScript into Assembler
  • You will be given a token analyzing table to call upon for your reduction functions

week 11 and 12:

  • Memory Management
  • Stacks, Hashing
  • Dynamic memory requirements: allocation and de-allocation
  • Strings, Arrays, Binary, and Floating Point

week 13, 14 and 15:

  • Assembler 101, Registers, Operations
  • Differences in Hardware
  • Building op-code tables and machine independent code tables
  • Running your compiler

week 16:

  • Final Project: Testing your compiler
    • Generate an executable of your own compiler



Copyright 2016 Collins Software, All Rights are Reserved