|
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 2011.
Day/Time: Thursdays 4:10 - 6:00 PM.
Location: 233 Seeley W. Mudd Building
First Lecture is on Mar 24, 2010.
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
Date |
Topics |
Notes |
Mar 24 |
- Introduction
- Java design philosophy
- Java IDE -- Netbeans
- Java data types, operators, control structures
|
Lecture1 |
Mar 31 |
- Java data types and variables
- Java control structures
|
Lecture2 |
Apr 07 |
- Java String
- Java functions
- Concept of class and objects
|
Lecture3 |
Apr 14 |
- OOP concepts of Java
- Data encapsulation
- Inheritance
|
Lecture4 |
Apr 21 |
- OOP concepts -- Inheritance contd.
- Polymorphism
- Packages -- creating packages and their usage
|
Lecture5 |
Apr 28 |
- Exception handling in Java
- Summary of the course and review
|
Final |
Pre-requisites
- Some experience in programming or a programming language is highly
recommended for this class.
- If not, students should be willing to learning programming "quickly".
Work load
- Four programming assignments: 70%
- Final: 30%
Homeworks and exams
- Homeworks will be posted on my web page (this page).
Please complete them and submit them in Courseworks.
Please DO NOT mail them to me.
- Each programming assignment is due by 4 PM the following Thursday.
- Late submission policy: No late submissions please,
(unless of course, you have a really, really good reason!).
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 10 23:35:14 EDT 2011
| | |