Course Outline
Weekly schedule
Pre-requisites
Work Load
Homeworks and exams
Term Project
Sample Programs Used in the class
References
Tips and guidelines for good programming
Academic dishonesty policy
Past courses I taught at Columbia University

Ramana Isukapalli's Columbia University Page


Day/Time: Fridays 10:00 - 11:50 AM.
Location: 327, Seeley W. Mudd Building.

First Lecture is on Sep 10, 2010.

My contact information

I work at Alcatel-Lucent.
Columbia email:

Course outline

This course covers Javascript. At a high level, we will cover the programming tools of Javascript -- simple programming constructs like data types, control statements, etc. and slightly more advanced concepts like Javascript objects, forms, cookies, simple animation, etc. This will be a hands on course -- we will see many programming examples throughout the course. Homework assignments are intended to make the students familiar and confident of writing Javascript programs.

Weekly schedule

    Date Topics Notes
    Sep 10
    • Overview of HTML and DHTML
    • Introduction to Javacript -- what it is, why it is needed.
    • Javascript variables, operators, control structures, pop up boxes
    Lecture1
    Sep 17
    • Functions, Exceptions, Events
    Lecture2
    Sep 24
    • Javascript events
    • Cookies
    Lecture3
    Oct 01
    • Cookies, contd.
    • Midterm
    Midterm
    Lecture4
    Oct 08
    • Midterm review
    • OOP concepts of Javascript, contd.
    • Term projects discussions
    • Cookies
    Lecture5
    Oct 15
    • AJAX overview
    • HTML DOM
    • Summary of the course and review
    Lecture6

Pre-requisites

  • It is recommended that students taking this class be familiare with some programming language.
  • If not, they should be willing to learning programming "quickly".

Work load

  • Four programming assignments: 50%
  • Class Participation: 10%
  • A midterm: 15%
  • A Term Project: 25%

Homeworks and exams


Term Project

Here are some ideas for term projects. You are welcome (and in fact encouraged) to come up with your own ideas for term projects. Please discuss them with me before you start working on the.

Sample Programs Used in the class

I will be giving access to the sample programs that I use in the class. Please note that these programs are kept simple intentionally, to explain the concepts.

References

There is a lot of material related to Javascript available on the web. Some of them are given below. Please go through them. Lecture notes will be provided prior to each lecture.

Tips and guidelines for good programming

Here are some tips you may find useful when writing code. Please follow these when you submit your homeworks.
  • Include comments wherever you can. Make sure that your code can be easily understood by others (and you yourself, in future).
  • Use meaningful names for variables and constants.
  • If some code segmenet ( e.g., computing the outcome of some mathematical functions like factorial or exponent) has to be used in several places, it is better to have a separate function for it. In general, the same piece of code should not appear twice anywhere in your code. If you have to change it future, it is much easier to change it in one place, than in many places.

Past Courses I taught in Columbia


Academic dishonesty policy

The aim of the course is to learn Javascript in a relaxed and informal atmosphere. If you have problems following the course material or doing any homeworks, please discuss with me. Go through the academic dishonesty page and please do not cheat in the homeworks or in the exams. I will be forced to follow the rules strictly if such a situation arises.
Ramana Isukapalli
Last modified: Sun Mar 24 23:35:14 EDT 2009