Difference between revisions of "Fall 2021: Advanced Programming in Java"

From MKWiki
Jump to navigation Jump to search
 
(36 intermediate revisions by the same user not shown)
Line 15: Line 15:
 
!Readings
 
!Readings
 
|-
 
|-
| style="width: 5%" | Lecture 01 (01/04/21, 06/04/21)
+
| style="width: 15%" | Unit 1: Lecture 00 (Last Semester)
| style="width: 60%" |  <div style="text-align:justify"> '''''Introduction''''': History of Java, Java Features, First Sample Program, Java Virtual Machine(JVM) Architecture.</div>
+
| style="width: 60%" |  <div style="text-align:justify"> (1) '''''Introduction''''': History of Java, Java Features, First Sample Program, Java Virtual Machine(JVM) Architecture. <br>
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/1Intro.pdf '''1.pdf''']
+
(2) '''''OOPs Principles''''': Object, Class, Encapsulation, Abstraction, Inheritance, Polymorphism. <br>
| Chapter 1 (R1)
+
(3) '''''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 Statements (Selection Statements-if, switch, Interation Statements - for, while, and do-while. The Enhanced For Loop (For-Each Loop). Jump Statements (break, continue, return). <br>
 +
(4) '''''Introducing Classes''''': Class Fundamentals, Declaring Objects, Introducing Methods, Constructors(Default, No-argument, Parameterized), The ''this'' keyword, Garbage Collection, The ''finalize( )'' Method. <br>
 +
(5)  '''''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: 10%" | [http://mkbhandari.com/mkwiki/data/summer2021/1Intro.pdf '''0.1.pdf''']  [http://mkbhandari.com/mkwiki/data/summer2021/2OOPs.pdf '''0.2.pdf'''][http://mkbhandari.com/mkwiki/data/summer2021/3BBB.pdf '''0.3.pdf'''] [http://mkbhandari.com/mkwiki/data/summer2021/4Intro2Classes.pdf '''0.4.pdf''']  [http://mkbhandari.com/mkwiki/data/summer2021/5CloserLook.pdf '''0.5.pdf''']
 +
| style="width: 15%"| Chapter 1 -7 (R1)
 
|-
 
|-
| Lecture 02 (08/04/21)
+
| Unit 1: Lecture 01 (22/07/21, 23/07/21)
| '''''OOPs Principles''''': Object, Class, Encapsulation, Abstraction, Inheritance, Polymorphism.
+
| <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 Classes. Using final with Inheritance. Using final to Prevent Overriding. The Object Class. </div>
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/2OOPs.pdf '''2.pdf''']
+
| [http://mkbhandari.com/mkwiki/data/summer2021/6Inheritance.pdf '''1.pdf''']
| Chapter 2 (R1)
 
|-
 
| Lecture 03 (09/04/21, 13/04/21, 16/04/21, 20/04/21)
 
|  <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''']
 
| Chapter 3,4,5 (R1)
 
|-
 
| Lecture 04 (22/04/21, 27/04/21)
 
|  <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''']
 
| Chapter 6 (R1)
 
|-
 
| Test 1 (04/05/21)
 
| colspan="3" | '''''Syllabus''''': Chapter 1 - Chapter 6, of the Referenc Book, as per the course guidelines.
 
|-
 
| colspan="4" style="text-align: center; color: red;" |  Online Teaching suspended from May 4, 2021(afternoon) - May 16, 2021.
 
|-
 
| Lecture 05 (18/05/21, 19/05/21, 28/05/21)
 
|  <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''']
 
| Chapter 7 (R1)
 
|-
 
| Lecture 06 (01/06/21, 03/06/21)
 
| <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''']
 
 
| Chapter 8 (R1)
 
| Chapter 8 (R1)
 
|-
 
|-
| Lecture 07 (08/06/21, 09/06/21, 10/06/21)
+
| Unit 2-3: Lecture 02 (30/07/21, 06/08/21, 27/08/21, 03/09/2021)
 
|  <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 '''2.pdf''']
 
| Chapter 9 (R1)
 
| Chapter 9 (R1)
 
|-
 
|-
| Lecture 08 (23/06/21, 25/06/21)
+
| Unit 4: Lecture 03 (10/09/21, 17/09/21, 01/10/21)
 
|  <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''']
+
| [http://mkbhandari.com/mkwiki/data/summer2021/8ExceptionH.pdf '''3.pdf''']
 
| Chapter 10 (R1)
 
| Chapter 10 (R1)
 
|-
 
|-
| Lecture 09 (29/06/21)
+
| Unit 5: Lecture 04 (08/10/21, 15/11/21 )
|  <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''']
+
| [http://mkbhandari.com/mkwiki/data/summer2021/9IOnFH.pdf '''4.pdf''']
 
| Chapter 13 (R1)
 
| Chapter 13 (R1)
 
|-
 
|-
| Lecture 10 (02/07/21,06/07/21, 09/07/21)
+
| Unit 6: Lecture 05 (22/10/21, 29/10/21, 12/11/21 )
 
|  <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.
+
| [http://mkbhandari.com/mkwiki/data/summer2021/10EHnAWT.pdf '''5.pdf'''] + Book Reading + Online Tutorials.
| Chapter 24,25,26 (R1)
+
| Chapter 24, 25, 26 (R1)
|-
 
| Lecture 11 (13/07/21,16/07/21)
 
|  <div style="text-align:justify"> '''''Introducing Swing, Exploring Swring''''': online</div>
 
| style="width: 15%" | Book Reading + Online Tutorials]
 
| Chapter 24,25,26 (R1)
 
 
 
 
|}
 
|}
  
 
== Assignments and Tests==
 
== Assignments and Tests==
  
===Home Assignments===
+
* ''Assignment No. 1(a)'', Prepare 10 important questions from Lecture 1. It should reflect your understanding of the topic. Avoid discussing with your friends. It may reduce your score if similarities are found. [17/09/2021]
* ''Home Assignment (HA) No. 1'', Difference between JDK, JRE, and JVM. [06/04/2021]  <hr>
+
* ''Assignment No. 1(b)'', Answer the questions prepared in 1(a). [17/09/2021]  
* ''Home Assignment (HA) No. 2(a)'', Difference between Procedure Oriented Programming(POPs) and Object Oriented Programming(OOPs). [08/04/2021]
+
*  ''Assignment No. 1(c)'', Prepare 10 important questions from Lecture 2. It should reflect your understanding of the topic. Avoid discussing with your friends. It may reduce your score if similarities are found. [17/09/2021]
* ''Home Assignment (HA) No. 2(b)'', Write some real life examples (pictorial representation) of OOPs. [08/04/2021] <hr>
+
* ''Assignment No. 1(d)'', Answer the questions prepared in 1(c). [17/09/2021]  
* ''Home Assignment (HA) No. 3(a)'', WAP to read n elements in an array and finally print them. [16/04/2021]
 
* ''Home Assignment (HA) No. 3(b)'', WAP to calculate the sum and average of elements in the array. [16/04/2021]
 
* ''Home Assignment (HA) No. 3(c)'', WAP to find the largest and smallest element in the array. [16/04/2021]
 
* ''Home Assignment (HA) No. 3(d)'', WAP to find/search an element in the array(using linear search). [16/04/2021]
 
* ''Home Assignment (HA) No. 3(e)'', WAP to sort the elements of an array(using bubble sort). [16/04/2021] <hr>
 
* ''Home Assignment (HA) No. 4(a)'', WAP to print the prime numbers form given input m to n. [20/04/2021]
 
* ''Home Assignment (HA) No. 4(b)'', WAP to generate the Fibonacci Series upto a given limit. [20/04/2021] <hr>
 
* ''Home Assignment (HA) No. 5'', WAP to create a Student class consisting of rollNo, name, course, and subjects as its instance variables. Demostrate in how many different ways you can initialize the objects of Student class. Finally display the objects as output of the program. [22/04/2021] <hr>
 
* ''Home Assignment (HA) No. 6'', WAP to demonstrate the use of garbage collector in Java [27/04/2021] <hr>
 
* ''Home Assignment (HA) No. 7(a)'', What are the different ways of method overloading in Java? What is method overloading with widening in Java. [31/05/2021]
 
* ''Home Assignment (HA) No. 7(b)'', WAP to find the sum of n natural numbers using recursion. [31/05/2021]
 
* ''Home Assignment (HA) No. 7(c)'', WAP to find reversre a string using recursion. [31/05/2021]
 
* ''Home Assignment (HA) No. 7(d)'', WAP to count the number of objects created from a class. [31/05/2021]
 
* ''Home Assignment (HA) No. 7(e)'', WAP to demonstrate the different string handling methods in java. [31/05/2021] <hr>
 
* ''Home Assignment (HA) No. 8(a)'', '''Prepare 10 important questions from the Lecture 6. It should reflect your understanding about the topic. Avoid discussing with your friends. It may reduce your score if similarities are found.'''  [05/06/2021]
 
* ''Home Assignment (HA) No. 8(b)'', '''Answer the questions prepared in 8(a).''' [05/06/2021] <hr>
 
* ''Home Assignment (HA) No. 9(a)'', Generate 5-10 errrors from the Lecture 07 ppt sample programs. The errors should be related to the concepts of inheritance, packages, and interfaces. [14/06/2021]
 
* ''Home Assignment (HA) No. 9(b)'', WAP to demonstrate how to achieve multiple inheritance in Java. [14/06/2021]
 
 
 
===Class Assignments===
 
* ''Assignment No. 1'', Posted on Google Classroom, '''Submission Deadline:''' 20/05/2021
 
* ''Assignment No. 2'', Posted on Google Classroom, '''Submission Deadline:''' 20/06/2021
 
  
===Tests and Quizes===
+
* ''Assignment No. 1(e)'', Generate 10 errors from the Lecture 2 ppt sample programs. The errors should be related to the concepts of inheritance, packages, and interfaces. [17/09/2021] <hr>
* Test 1, will be held on 04/05/2021. The Syllabus for Test 1 will be upto Chapter 6 + Class Assignment no. 1.
+
* '''Assignment No. 1, Submission Deadline: 28/09/2021''' <hr>
* Quiz 1, **/**/2021.
 
* Test 2, will be held on 02/07/2021. The Syllabus for Test 2 will be from Chapter 7-10 + Class Assignment no. 2.
 
* Quiz 2, **/**/2021.
 
  
 
== Resources ==
 
== Resources ==
Line 121: Line 69:
 
* '''Web 3:''' NTU notes on Java [https://www3.ntu.edu.sg/home/ehchua/programming/index.html#Java]
 
* '''Web 3:''' NTU notes on Java [https://www3.ntu.edu.sg/home/ehchua/programming/index.html#Java]
  
== Course Running Status (Completed)==
+
== Course Running Status (~100%)==
 
{| class="wikitable" style="text-align:left; "
 
{| class="wikitable" style="text-align:left; "
 
|-
 
|-
Line 128: Line 76:
 
!Status
 
!Status
 
!Remarks
 
!Remarks
 +
|-
 
|-
 
|-
 
| 1
 
| 1
| The History and Evolution of Java
+
| Inheritance
 
| Completed
 
| Completed
| 06/04/2021
+
| 23/07/2021
 
|-
 
|-
| 2
+
| 2-3
| An Overview of Java
+
| Packages and Interfaces
| Completed
 
| 08/04/2021
 
|-
 
| 3
 
| Data Types, Variables and Arrays
 
 
| Completed
 
| Completed
| 13/04/2021
+
| 03/09/2021
 
|-
 
|-
 
| 4
 
| 4
| Operators
+
| Exception Handling
 
| Completed
 
| Completed
| 16/04/2021
+
| 01/10/2021
 
|-
 
|-
 
| 5
 
| 5
| Control Statements
+
| File Handling
 
| Completed
 
| Completed
| 20/04/2021
+
| 15/11/2021
 
|-
 
|-
 
| 6
 
| 6
| Introducing Classes
+
| GUI Programming (Event Handling, AWT)
| Completed
 
| 27/04/2021
 
|-
 
| 7
 
| A Closer Look at Methods and Classes
 
| Completed
 
| 28/05/2021
 
|-
 
| 8
 
| Inheritance
 
| Completed
 
| 03/06/2021
 
|-
 
| 9
 
| Packages and Interfaces
 
| Completed
 
| 10/06/2021 
 
|-
 
| 10
 
| Exception Handling
 
| Completed
 
| 25/06/2021 
 
|-
 
| 11
 
| IO and File Handling
 
| Completed
 
| 29/06/2021 
 
|-
 
| 12
 
| Event Handling and AWT
 
| Completed
 
| 09/07/2021 
 
|-
 
| 13
 
| Introducing Swing, Exploring Swing
 
 
| Completed
 
| Completed
| 16/07/2021
+
| 12/11/2021
 
|}
 
|}

Latest revision as of 14:00, 16 November 2021

Logistics

  • Class Timings: Fridays 1:00 pm - 3:00 pm (5th and 6th slot)
  • Classroom: Online
  • Lab Timings: Thursdays 1:00 pm - 5:00 pm (5th - 8thslot)

Course Overview

Lectures

Lecture Topic Lecture Slides Readings
Unit 1: Lecture 00 (Last Semester)
(1) Introduction: History of Java, Java Features, First Sample Program, Java Virtual Machine(JVM) Architecture.

(2) OOPs Principles: Object, Class, Encapsulation, Abstraction, Inheritance, Polymorphism.
(3) 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 Statements (Selection Statements-if, switch, Interation Statements - for, while, and do-while. The Enhanced For Loop (For-Each Loop). Jump Statements (break, continue, return).
(4) Introducing Classes: Class Fundamentals, Declaring Objects, Introducing Methods, Constructors(Default, No-argument, Parameterized), The this keyword, Garbage Collection, The finalize( ) Method.

(5) 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)
0.1.pdf 0.2.pdf0.3.pdf 0.4.pdf 0.5.pdf Chapter 1 -7 (R1)
Unit 1: Lecture 01 (22/07/21, 23/07/21)
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 Classes. Using final with Inheritance. Using final to Prevent Overriding. The Object Class.
1.pdf Chapter 8 (R1)
Unit 2-3: Lecture 02 (30/07/21, 06/08/21, 27/08/21, 03/09/2021)
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.
2.pdf Chapter 9 (R1)
Unit 4: Lecture 03 (10/09/21, 17/09/21, 01/10/21)
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
3.pdf Chapter 10 (R1)
Unit 5: Lecture 04 (08/10/21, 15/11/21 )
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 ]
4.pdf Chapter 13 (R1)
Unit 6: Lecture 05 (22/10/21, 29/10/21, 12/11/21 )
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.
5.pdf + Book Reading + Online Tutorials. Chapter 24, 25, 26 (R1)

Assignments and Tests

  • Assignment No. 1(a), Prepare 10 important questions from Lecture 1. It should reflect your understanding of the topic. Avoid discussing with your friends. It may reduce your score if similarities are found. [17/09/2021]
  • Assignment No. 1(b), Answer the questions prepared in 1(a). [17/09/2021]
  • Assignment No. 1(c), Prepare 10 important questions from Lecture 2. It should reflect your understanding of the topic. Avoid discussing with your friends. It may reduce your score if similarities are found. [17/09/2021]
  • Assignment No. 1(d), Answer the questions prepared in 1(c). [17/09/2021]
  • Assignment No. 1(e), Generate 10 errors from the Lecture 2 ppt sample programs. The errors should be related to the concepts of inheritance, packages, and interfaces. [17/09/2021]
  • Assignment No. 1, Submission Deadline: 28/09/2021

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 (~100%)

Unit/Chapter Topic Status Remarks
1 Inheritance Completed 23/07/2021
2-3 Packages and Interfaces Completed 03/09/2021
4 Exception Handling Completed 01/10/2021
5 File Handling Completed 15/11/2021
6 GUI Programming (Event Handling, AWT) Completed 12/11/2021