|
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 Fall 2011.
Day/Time: Thursdays 4:00 - 6:00 PM.
Location: CLIC Lab (CSB 486).
First Lecture is on Sep 15, 2011.
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 |
Reference |
Sep 15 |
- Introduction
- Java design philosophy
- Java IDE -- Netbeans
- Java data types, operators
|
Lecture1 |
|
Sep 22 |
- Basic data typess
- Operators
- Input, output
- Control structures
- Strings
- Arrays
|
Lecture2 |
|
Sep 29 |
- Functions
- OOP concepts of Java
- Concept of class and objects
- Data encapsulation
|
Lecture3 |
- Classes and Objects
- Chapter 4 in B.Eckel's book -- Initialization and cleanup
- Chapter 5 in B.Eckel's book -- Hiding the implementation
|
Oct 06 |
- OOP concepts of Java, contd.
- Data encapsulation, contd.
- Inheritance
- Abstract classes and interfaces
|
Lecture4 |
- Interfaces and Inheritance
- Chapter 6 in B.Eckel's book -- Reusing classes
- Chapter 7 in B.Eckel's book -- Polymorphism
- Chapter 8 in B.Eckel's book -- Interfaces
|
Oct 13 |
- Packages -- creating packages and their usage
- Exceptions
|
Lecture5 |
|
Oct 20 |
- Misc topics -- this, super, finally
- 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
| | |