Tamer AbdulRadi

Software engineer, writes distributed systems for living.

Structure & Interpretation of Computer Programs

02 Jan 2015

This course is about the art of programming, how to think and write beautiful, readable code. This course is not about Javascript details, we are only using Javascript to demonstrate programming concepts that can be applied using other languages too.

#Target Audience

##Contents The course is based on the first 3 chapters of SICP and it’s Javascript version, in addition to some extra content. The following is highlights of some topics to be discussed in the course.

  1. Introduction
    • Where can I use Javascript
    • What is an interpreter
    • Exploring tools
  2. Basics of programming (Expressions, Combinations, Abstractions, Conditionals and Predicates)
  3. Functions
    • Functions as a way of abstraction
    • What is recursion (Linear, Tree, and Logarithmic)
    • recursion vs loop
  4. How to analyse performance and memory consumption of programs
  5. Higher order functions, and Closures
  6. Immutable Data (Building your own datastructres)
    • Hierarchical Data using Closures
    • Strings
    • Sets
    • Binary Trees
  7. Mutable Data (Building your own datastructres)
    • Lists
    • Queues
    • Tables

##Duration We are going to simulate a real work environment. The course consists of 6 classes, each class is 9 hours long, including breaks.

##Location The course will be held in Mansoura, Egypt.

##Homework Exercises in the book are important part of the experience. Your solutions should be published on your Github account, so that you can show off your work. Best solution will be merged into the main repo. If you don’t know about Github or Git. Don’t worry, I’ll introduce them.

##About instructor If you want know me better, please check the following links:

#Course Fees This course is FREE! However,

##Insurance To guarantee commitment. You have to pay an amount of money as a deposit. You should be able to receive your money back at the end of the course, only if you attended all the sessions, and attempted all the homeworks. If you missed any of them, a penalty will be deducted!

Note: I won’t be able to refund any money once I reserve the venue.

##Penality System

##Conclusion This course is designed for those who are passonate about programming, and willing to do to their best learning it. If you are not willing to work hard, you will be wasting your money!
Challenge accepted? Register now!

Twitter Facebook Google+