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: Wednesdays 9:00 - 10:50AM.
Location: 252, Engineering Terrace.

First Lecture is on Mar 04.

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
    Mar 04
    • Overview of HTML and DHTML
    • Introduction to Javacript -- what it is, why it is needed.
    • Javascript variables, operators, control structures, pop up boxes
    Lecture1
    Mar 11
    • Functions, Exceptions, events
    Lecture2
    Mar 18 No class, Spring break No lecture
    Mar 25
    • Javascript events
    • OOP concepts of Javascript.
    Lecture3
    Apr 01
    • OOP concepts of Javascript, contd.
    Midterm
    Lecture4
    Apr 08
    • Midterm review
    • Term projects discussion
    • Closures
    • Cookies
    Lecture5
    Apr 15
    • AJAX overview
    • Miscellaneous topics
    • 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. Programs used in:

References

There is a lot of material available on the web. Any of these should be fine. Lecture notes will be provided prior to each lecture. In addition to these, you can use the following material:

Past Courses I taught in Columbia


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, in general, 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.

Academic dishonesty policy

The aim of the course is to learn C++ 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