Difference between revisions of "Summer 2022: Programming in Java"
Jump to navigation
Jump to search
Line 20: | Line 20: | ||
| Chapter 1 (R1) | | Chapter 1 (R1) | ||
|- | |- | ||
− | | Lecture 02 | + | | Lecture 02 |
| '''''OOPs Principles''''': Object, Class, Encapsulation, Abstraction, Inheritance, Polymorphism. | | '''''OOPs Principles''''': Object, Class, Encapsulation, Abstraction, Inheritance, Polymorphism. | ||
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/2OOPs.pdf '''2.pdf'''] | | style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/2OOPs.pdf '''2.pdf'''] | ||
| Chapter 2 (R1) | | Chapter 2 (R1) | ||
|- | |- | ||
− | | Lecture 03 | + | | Lecture 03 |
| <div style="text-align:justify"> '''''Data Types, Variables, Arrays, Operators, Control Statements''''': The Primitive Data Types(Integers, Floating-Point Types, Characters, Booleans). Variables and their scope and lifetime. Type Conversion and Casting. Arrays (One-dimensional Arrays, Multidimensional Arrays) declaration, initialization, and usage. Operators (Arithmetic, Increment and Decrement, The Bitwise Operators, Compound Assignments, Relational Operators, Ternary Operator, Operator Precedence). Control Statemetns (Selection Statemetns-if, switch, Interation Statements - for, while, and do-while. The Enchanced For Loop (For-Each Loop). Jump Statements (break, continue, return). </div> | | <div style="text-align:justify"> '''''Data Types, Variables, Arrays, Operators, Control Statements''''': The Primitive Data Types(Integers, Floating-Point Types, Characters, Booleans). Variables and their scope and lifetime. Type Conversion and Casting. Arrays (One-dimensional Arrays, Multidimensional Arrays) declaration, initialization, and usage. Operators (Arithmetic, Increment and Decrement, The Bitwise Operators, Compound Assignments, Relational Operators, Ternary Operator, Operator Precedence). Control Statemetns (Selection Statemetns-if, switch, Interation Statements - for, while, and do-while. The Enchanced For Loop (For-Each Loop). Jump Statements (break, continue, return). </div> | ||
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/3BBB.pdf '''3.pdf'''] | | style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/3BBB.pdf '''3.pdf'''] | ||
| Chapter 3,4,5 (R1) | | Chapter 3,4,5 (R1) | ||
|- | |- | ||
− | | Lecture 04 | + | | Lecture 04 |
| <div style="text-align:justify"> '''''Introducing Classes''''': Class Fundamentals, Declaring Objects, Introducing Methods, Constructors(Default, No-argument, Parameterized), The ''this'' keyword, Garbage Collection, The ''finalize( )'' Method. </div> | | <div style="text-align:justify"> '''''Introducing Classes''''': Class Fundamentals, Declaring Objects, Introducing Methods, Constructors(Default, No-argument, Parameterized), The ''this'' keyword, Garbage Collection, The ''finalize( )'' Method. </div> | ||
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/4Intro2Classes.pdf '''4.pdf'''] | | style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/4Intro2Classes.pdf '''4.pdf'''] | ||
| Chapter 6 (R1) | | Chapter 6 (R1) | ||
|- | |- | ||
− | | Lecture 05 | + | | Lecture 05 |
| <div style="text-align:justify"> '''''A Closer Look at Methods and Classes''''': Overloading Methods, Automatic Type Conversions in Method Overloading. Overloading Constructors. Using Objects as Parameters. Copy Constructor. A Closer Look at Argument Passing(Call-by-Value, Call-by-Reference). Returning Objects. Recursion (Base Condition, Progressive Approach). Introducing Access Control (public, private, protected, default (package-private)). Understanding Static(static variable, methods, and blocks). Introducing Final. Nested and Inner Classes (how to define and use an inner class). Exploring the String Class. Using Command-Line Argument. Varargs: Variable-Length Arguments(self-study) </div> | | <div style="text-align:justify"> '''''A Closer Look at Methods and Classes''''': Overloading Methods, Automatic Type Conversions in Method Overloading. Overloading Constructors. Using Objects as Parameters. Copy Constructor. A Closer Look at Argument Passing(Call-by-Value, Call-by-Reference). Returning Objects. Recursion (Base Condition, Progressive Approach). Introducing Access Control (public, private, protected, default (package-private)). Understanding Static(static variable, methods, and blocks). Introducing Final. Nested and Inner Classes (how to define and use an inner class). Exploring the String Class. Using Command-Line Argument. Varargs: Variable-Length Arguments(self-study) </div> | ||
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/5CloserLook.pdf '''5.pdf'''] | | style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/5CloserLook.pdf '''5.pdf'''] | ||
| Chapter 7 (R1) | | Chapter 7 (R1) | ||
|- | |- | ||
− | | Lecture 06 | + | | Lecture 06 |
| <div style="text-align:justify"> '''''Inheritance''''': Inheritance Basics. Types of Inheritance in Java. A simple example of Inheritance(Single Inheritance). Member access and Inheritance, A more practical example. A Superclass Variable Can Reference a Subclass Object. Using '''''super'''''. Using Super to Call Superclass Constructors. Creating a Multilevel Hierarchy. When Constructors are Executed? Method Overriding. Method Overriding vs Overloading. Dynamic Method Dispatch. Why Overridden Methods? Applying Method Overriding. Using Abstract Classess. Using final with Inheritance. Using final to Prevent Overridding. The Object Class. </div> | | <div style="text-align:justify"> '''''Inheritance''''': Inheritance Basics. Types of Inheritance in Java. A simple example of Inheritance(Single Inheritance). Member access and Inheritance, A more practical example. A Superclass Variable Can Reference a Subclass Object. Using '''''super'''''. Using Super to Call Superclass Constructors. Creating a Multilevel Hierarchy. When Constructors are Executed? Method Overriding. Method Overriding vs Overloading. Dynamic Method Dispatch. Why Overridden Methods? Applying Method Overriding. Using Abstract Classess. Using final with Inheritance. Using final to Prevent Overridding. The Object Class. </div> | ||
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/6Inheritance.pdf '''6.pdf'''] | | style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/6Inheritance.pdf '''6.pdf'''] | ||
| Chapter 8 (R1) | | Chapter 8 (R1) | ||
|- | |- | ||
− | | Lecture 07 | + | | Lecture 07 |
| <div style="text-align:justify"> '''''Packages and Interfaces''''': Introduction to Packages. Defining a Package. Package Example. Finding Packages and CLASSPATH. Access Protection. An Access Example. Importing Packages. Introduction to Interfaces. Defining an Interface. Implementing Interfaces. Accessing Implementations Through Interface References. Partial Implementations. Nested Interfaces. Applying Interfaces. Variables in Interfaces. Extending Interfaces. Default Interface Methods. Multiple Inheritance Issues. static Methods in an Interface. </div> | | <div style="text-align:justify"> '''''Packages and Interfaces''''': Introduction to Packages. Defining a Package. Package Example. Finding Packages and CLASSPATH. Access Protection. An Access Example. Importing Packages. Introduction to Interfaces. Defining an Interface. Implementing Interfaces. Accessing Implementations Through Interface References. Partial Implementations. Nested Interfaces. Applying Interfaces. Variables in Interfaces. Extending Interfaces. Default Interface Methods. Multiple Inheritance Issues. static Methods in an Interface. </div> | ||
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/7PKGInterface.pdf '''7.pdf'''] | | style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/7PKGInterface.pdf '''7.pdf'''] | ||
| Chapter 9 (R1) | | Chapter 9 (R1) | ||
|- | |- | ||
− | | Lecture 08 | + | | Lecture 08 |
| <div style="text-align:justify"> '''''Exception Handling''''': Exception Handling Fundamentals(five keywords:'''''try, catch, throw, throws, finally'''''). Exception Types. Uncaught Exception.Using try and catch. Displaying a Description of an Exception. Multiple catch Clauses. Nested try Statements. throw. throws. throw vs. throws. finally. final vs. finally vs. finalize. Java’s Built-in Exceptions. Hierarchy of Java Exception Classes. Creating your own Exception Subclass </div> | | <div style="text-align:justify"> '''''Exception Handling''''': Exception Handling Fundamentals(five keywords:'''''try, catch, throw, throws, finally'''''). Exception Types. Uncaught Exception.Using try and catch. Displaying a Description of an Exception. Multiple catch Clauses. Nested try Statements. throw. throws. throw vs. throws. finally. final vs. finally vs. finalize. Java’s Built-in Exceptions. Hierarchy of Java Exception Classes. Creating your own Exception Subclass </div> | ||
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/8ExceptionH.pdf '''8.pdf'''] | | style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/8ExceptionH.pdf '''8.pdf'''] | ||
| Chapter 10 (R1) | | Chapter 10 (R1) | ||
|- | |- | ||
− | | Lecture 09 | + | | Lecture 09 |
| <div style="text-align:justify"> '''''Java I/O and File Handling''''': I/O Stream Basics, Byte Stream and Character Stream, The Predefined Stream, Reading Console Input, Writing Console Output, Reading and Writing Files, Try-with Resources [ Self Study ]</div> | | <div style="text-align:justify"> '''''Java I/O and File Handling''''': I/O Stream Basics, Byte Stream and Character Stream, The Predefined Stream, Reading Console Input, Writing Console Output, Reading and Writing Files, Try-with Resources [ Self Study ]</div> | ||
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/9IOnFH.pdf '''9.pdf'''] | | style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/9IOnFH.pdf '''9.pdf'''] | ||
| Chapter 13 (R1) | | Chapter 13 (R1) | ||
|- | |- | ||
− | | Lecture 10 | + | | Lecture 10 |
| <div style="text-align:justify"> '''''Event Handling, Introducing the AWT: Working with Windows, Graphics and Text, Using AWT Controls, Layout Managers, and Menus''''': The AWT class hierarchy. The Delegation Event Model. Events, Event sources, Event classes, Event Listeners, Relationship between Event sources and Listeners. Creating GUI applications using AWT.</div> | | <div style="text-align:justify"> '''''Event Handling, Introducing the AWT: Working with Windows, Graphics and Text, Using AWT Controls, Layout Managers, and Menus''''': The AWT class hierarchy. The Delegation Event Model. Events, Event sources, Event classes, Event Listeners, Relationship between Event sources and Listeners. Creating GUI applications using AWT.</div> | ||
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/10EHnAWT.pdf '''10.pdf'''] + Book Reading + Online Tutorials. | | style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/10EHnAWT.pdf '''10.pdf'''] + Book Reading + Online Tutorials. | ||
| Chapter 24,25,26 (R1) | | Chapter 24,25,26 (R1) | ||
|- | |- | ||
− | | Lecture 11 | + | | Lecture 11 |
| <div style="text-align:justify"> '''''Introducing Swing, Exploring Swring''''': online</div> | | <div style="text-align:justify"> '''''Introducing Swing, Exploring Swring''''': online</div> | ||
| style="width: 15%" | Book Reading + Online Tutorials] | | style="width: 15%" | Book Reading + Online Tutorials] |
Revision as of 13:55, 23 April 2022
Contents
Logistics
- Class Timings: Wednesdays and Fridays 8:45 am - 10:45 am (1st and 2nd slot)
- Classroom: R68 (Seminar Hall Building)
- Lab Timings: Tuesdays and Wednesdays 10:45 am - 12:45 pm (3rd and 4thslot)
Course Overview
- As per the Delhi University Course Guidelines
Lectures
Lecture | Topic | Lecture Slides | Readings |
---|---|---|---|
Lecture 01 (08/04/22, 20/04/22) | Introduction: History of Java, Java Features, First Sample Program, Java Virtual Machine(JVM) Architecture.
|
1.pdf | Chapter 1 (R1) |
Lecture 02 | OOPs Principles: Object, Class, Encapsulation, Abstraction, Inheritance, Polymorphism. | 2.pdf | Chapter 2 (R1) |
Lecture 03 | Data Types, Variables, Arrays, Operators, Control Statements: The Primitive Data Types(Integers, Floating-Point Types, Characters, Booleans). Variables and their scope and lifetime. Type Conversion and Casting. Arrays (One-dimensional Arrays, Multidimensional Arrays) declaration, initialization, and usage. Operators (Arithmetic, Increment and Decrement, The Bitwise Operators, Compound Assignments, Relational Operators, Ternary Operator, Operator Precedence). Control Statemetns (Selection Statemetns-if, switch, Interation Statements - for, while, and do-while. The Enchanced For Loop (For-Each Loop). Jump Statements (break, continue, return).
|
3.pdf | Chapter 3,4,5 (R1) |
Lecture 04 | Introducing Classes: Class Fundamentals, Declaring Objects, Introducing Methods, Constructors(Default, No-argument, Parameterized), The this keyword, Garbage Collection, The finalize( ) Method.
|
4.pdf | Chapter 6 (R1) |
Lecture 05 | A Closer Look at Methods and Classes: Overloading Methods, Automatic Type Conversions in Method Overloading. Overloading Constructors. Using Objects as Parameters. Copy Constructor. A Closer Look at Argument Passing(Call-by-Value, Call-by-Reference). Returning Objects. Recursion (Base Condition, Progressive Approach). Introducing Access Control (public, private, protected, default (package-private)). Understanding Static(static variable, methods, and blocks). Introducing Final. Nested and Inner Classes (how to define and use an inner class). Exploring the String Class. Using Command-Line Argument. Varargs: Variable-Length Arguments(self-study)
|
5.pdf | Chapter 7 (R1) |
Lecture 06 | Inheritance: Inheritance Basics. Types of Inheritance in Java. A simple example of Inheritance(Single Inheritance). Member access and Inheritance, A more practical example. A Superclass Variable Can Reference a Subclass Object. Using super. Using Super to Call Superclass Constructors. Creating a Multilevel Hierarchy. When Constructors are Executed? Method Overriding. Method Overriding vs Overloading. Dynamic Method Dispatch. Why Overridden Methods? Applying Method Overriding. Using Abstract Classess. Using final with Inheritance. Using final to Prevent Overridding. The Object Class.
|
6.pdf | Chapter 8 (R1) |
Lecture 07 | Packages and Interfaces: Introduction to Packages. Defining a Package. Package Example. Finding Packages and CLASSPATH. Access Protection. An Access Example. Importing Packages. Introduction to Interfaces. Defining an Interface. Implementing Interfaces. Accessing Implementations Through Interface References. Partial Implementations. Nested Interfaces. Applying Interfaces. Variables in Interfaces. Extending Interfaces. Default Interface Methods. Multiple Inheritance Issues. static Methods in an Interface.
|
7.pdf | Chapter 9 (R1) |
Lecture 08 | Exception Handling: Exception Handling Fundamentals(five keywords:try, catch, throw, throws, finally). Exception Types. Uncaught Exception.Using try and catch. Displaying a Description of an Exception. Multiple catch Clauses. Nested try Statements. throw. throws. throw vs. throws. finally. final vs. finally vs. finalize. Java’s Built-in Exceptions. Hierarchy of Java Exception Classes. Creating your own Exception Subclass
|
8.pdf | Chapter 10 (R1) |
Lecture 09 | Java I/O and File Handling: I/O Stream Basics, Byte Stream and Character Stream, The Predefined Stream, Reading Console Input, Writing Console Output, Reading and Writing Files, Try-with Resources [ Self Study ]
|
9.pdf | Chapter 13 (R1) |
Lecture 10 | Event Handling, Introducing the AWT: Working with Windows, Graphics and Text, Using AWT Controls, Layout Managers, and Menus: The AWT class hierarchy. The Delegation Event Model. Events, Event sources, Event classes, Event Listeners, Relationship between Event sources and Listeners. Creating GUI applications using AWT.
|
10.pdf + Book Reading + Online Tutorials. | Chapter 24,25,26 (R1) |
Lecture 11 | Introducing Swing, Exploring Swring: online
|
Book Reading + Online Tutorials] | Chapter 24,25,26 (R1) |
Assignments and Tests
Home Assignments
- Home Assignment (HA) No. 1"
Class Assignments
- Assignment No. 1
- Assignment No. 2
Tests and Quizes
- Test 1
- Quiz 1
- Test 2
- Quiz 2
Resources
- R1: Schildt, H. (2018). Java: The Complete Reference. 10th edition. McGraw-Hill Education.
- Additional R1: Balaguruswamy, E. (2014). Programming with JAVA: A Primer. 5th edition. India: McGraw Hill Education.
- Additional R2: Horstmann, C. S. (2017). Core Java - Vol. I – Fundamentals (Vol. 10). Pearson Education.
- Additional R3: Schildt, H., & Skrien, D. (2012). Java Fundamentals - A Comprehensive Introduction. India: McGraw Hill Education.
- Web 1: The Java™ Tutorials [1]
- Web 2: Java T Point Tutorial [2]
- Web 3: NTU notes on Java [3]
Course Running Status (Completed)
Unit/Chapter | Topic | Status | Remarks |
---|---|---|---|
1 | The History and Evolution of Java | Running | |
2 | An Overview of Java | ||
3 | Data Types, Variables and Arrays | ||
4 | Operators | ||
5 | Control Statements | ||
6 | Introducing Classes | ||
7 | A Closer Look at Methods and Classes | ||
8 | Inheritance | ||
9 | Packages and Interfaces | ||
10 | Exception Handling | ||
11 | IO and File Handling | ||
12 | Event Handling and AWT | ||
13 | Introducing Swing, Exploring Swing |