Introduction to Java

INFO1-CE9238

Professor:Sam Sultan [sam.sultan@nyu.edu]
Class website: [oit2.scps.nyu.edu/~sultans/java] (or) [samsultan.com/java]
Course Days: Mondays
Course Hours: 6:00pm - 9:30pm
Announcement(s):

+ outline
+ books
+ grades policy
+ student listing
+ examples & demos
+ homework submission
+ student feedback
+ student evaluation & comments

Session - 1a 1b   2   3   4a 4b   5/6   7   8   9   10   Extra Topics: Eclipse   Swing  


ITS - Java Resources - Java Download PC/MAC - Java Documentation - Eclipse IDE - Java*Tester©
Site Helpful?

COURSE LEARNING GOALS:

1. Course Objectives:

This course is a foundation course for learning software programming using the Java language. The course will introduce the student to programming concepts, programming techniques, and other software development fundamentals. Students will learn the concepts of Object Oriented programming using Java. The course will present an extensive coverage of the Java programming language including how to write, compile and run Java applications.

The purpose of this course is to learn programming concept and Object Oriented fundamentals using Java. Students will receive a solid understanding of the Java language syntax and semantics including Java program structure, data types, program control flow, defining classes and instantiating objects, information hiding and encapsulations, inheritance, exception handling, input/output data streams, memory management and Swing window components.

2. Student Learning Outcomes:


COURSE REQUIREMENTS AND POLICIES:

See [Requirements and Policies]


BOOKS - (Required / Suggested)

Required Books -

Recommended Books -

GRADES AND GRADING POLICY

Your final grade will be based on the following:


Details of Assignment and Evaluation.

Grades are FINAL.

Please do not negotiate for a better grade. If you are expecting to receive a grade of an "A" at the end of the semester, then I expect you to attend all sessions, to participate in class, to turn in your homework on time, and to keep up with the class reading material. If you see yourself falling behind do not hesitate to ask for help. This will ensure that you stay current with the class, and will ensure that you get a good grade on your work.

Please Note: The Office of the University Registrar maintains individual records of students enrolled in NYU and is the only department authorized to record an official grade. Final grades are reported on NYU-Albert.
For more information: http://www.scps.nyu.edu/academics/academic-policies-and-procedures/graduate-academic-policies-and-procedures.html


To Receive Your Final Grade at the end of the semester, follow these steps:

  1. Log into Albert using your net id, at: https://admin.portal.nyu.edu/psp/paprod/EMPLOYEE/EMPL/h/?tab
  2. Click on "Student Center"
  3. Within your student center, in the "academics" section click on the dropdown: "other academic"
  4. From the dropdown select "grades"
  5. For complete instructions click http://www.sps.nyu.edu/academics/noncredit-offerings/academic-noncredit-policies-and-procedures.html#Obtaining_Grades


COURSE OUTLINE:

DATE SESSION TOPIC[s] COVERED
[Week 1] 1a 1b Introduction to Programming
What is a Programming Language
Compiled vs. Interpreted Languages
Procedural vs. Object Oriented Languages
The Java Environment
The Java Compiler, The JVM Java Virtual Machine
Downloading and Installing the SDK
What is Path and Classpath
Compiling and running a Java Program
The Java Language Keywords
Reading: Chapter 1
 
[Week 2] 2 Declaring Variables
Java Primitive Data Types
Variable Assignment
Casting to another Data Type
Automatic Data Type Promotion
Mathematical Operators
Operator Precedence
Comments and Documentation
Reading: Chapter 2
 
[Week 3] 3 Decision Making
The if statement, and the switch statement
Loops and Iterations
The for and while statements
Boolean Expressions
Logical Operators
Conditional Operators
Variable Scope
Creating and Using Methods
Reading: Chapter 3
 
[Week 4] 4a 4b The String class
String and Substring Operations
Comparing Strings for equality and inequality
Array of Strings
StringBuffer Objects
Declaring Arrays
Array of Arrays (Multi-dimensional Arrays)
Iterating through arrays
Sorting arrays
Sorting arrays with a comparator object
Reading: Chapter 4
 
[Week 5/6] 5/6 Object Oriented Concepts
Defining Classes
Defining Variables and Methods in a Class
Instantiating Objects
Defining Constructors

- Midterm Exam (week 6) -

Method Overloading
Packages
Access Control to Class Members
Abstraction and Encapsulation
Reading: Chapter 5
 
[Week 7] 7 Class Inheritance
Abstract Classes
Extending Classes
What is a Superclass, what is a Subclass
The Universal Superclass
The toString( ) Method
Determining the type of an Object
Inheritance and Polymorphism
Reading: Chapter 6
 
[Week 8] 8 What are Exceptions
Type of Exceptions
Handling Exceptions
The try/catch Block
Define and Throw your own Exception
Reading: Chapter 7
 
[Week 9] 9 Input and Output Streams
Using Readers, using Writers
Working with the File Object
Testing for Files and Directories
File Input and Output
Dealing with Buffers
Reading from Files, writing to Files
Reading: Chapters 8-11
 
[Week 10] 10 - Final Exam -
 
[Extra] Swing Creating windows
Swing components
Menus, text, buttons & other components
Using containers
The Flow Layout Manager
Adding menus to windows
Event Handling, Event Listeners
Reading: Chapters 17-19



All contents © Sam Sultan.
For more information, send e-mail to: sam.sultan@nyu.edu