Introduction to Java

INFO1-CE9238

Professor:Sam Sultan [sam.sultan@nyu.edu]
Class website: [oit2.sps.nyu.edu/~sultans/java] (or) [samsultan.com/java]
Course Days: Mondays
Course Hours: 6:00pm - 9:30pm
Announcement(s):
  • 6/6/2018 - The class has changed location. Our new location is at 7 East 12 Street, room 229

  • +syllabus
    +course outline
    +grades & evaluation
    +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 DESCRIPTION:

    Learn the fundamental concepts of object-oriented programming and the Java programming language. Understand Java's write-once, run-anywhere philosophy and the Java Virtual Machine, which allows any Java program to run on any platform. Gain 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 encapsulation, inheritance, method overloading and overriding, exception handling, input/output data streams, memory management, and some Swing UI window components. Reinforce these new concepts with hands-on exercises and a complete Java programming project.


    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:


    BOOKS - (Required / Suggested)

    Required Books -

    Suggested Books -

    GRADE ASSIGNMENT AND EVALUATION:

    Your final grade will be based on the following:


    Details of Assignment and Evaluation.


    NYU SPS Grading Scale http://sps.nyu.edu/academics/academic-policies-and-procedures/graduate-academic-policies-and-procedures.html#Grades>

    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 (unless you previously notify me), to participate in every 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.

    If you are a non-credit student, and are not interested in a grade, or you do not submit your homeworks/project or take the exams, then you will receive a grade of an "NE" (Non-Evaluative). A grade of NE is final, and cannot be changed. A grade of NE cannot be applied as partial fulfillment for any NYU certificate program.

    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