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

Ramana Isukapalli's Columbia University Page


I am teaching W3101: Programming Languages, Java, in Spring 2013.
Day/Time: Tuessdays 4:00 - 6:00 PM.
Location: 253 Engineering Terrace
First Lecture is on Jan 29, 2013.

My contact information

I work at Alcatel-Lucent.
Columbia email:

Course outline

This course covers Java. At a high level, we will cover the various programming aspects of Java -- starting from basic data types and control structures to object oriented programming concepts like inheritance and polymorphism. 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 Java programs.

Weekly schedule


Pre-requisites

  • Some experience in programming or a programming language is recommended for this class.
  • If not, students should be willing to learning programming "quickly".

Work load

  • Five programming assignments: 70%
  • Final: 30%

Homeworks and exams


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 Java available on the web. Some of them are given below. Please go through them. Lecture notes will be provided prior to each lecture.

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 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 Java 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: Mon Jan 20 23:35:14 EDT 2013