Difference between revisions of "Summer 2022: Programming in Java"

From MKWiki
Jump to navigation Jump to search
 
(23 intermediate revisions by the same user not shown)
Line 46: Line 46:
 
| Chapter 8 (R1)
 
| Chapter 8 (R1)
 
|-
 
|-
| Chapter 09 (15/06/22, )
+
| Chapter 09 (15/06/22, 21/06/22)
 
|  <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)
 
|-
 
|-
| Chapter 10
+
| Chapter 10 (22/06/22, 28/06/22)
 
|  <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)
 
|-
 
|-
| Chapter 13
+
| colspan="5" | (29/06/2022), '''''Assignment No. 2''''', Groups Formation, Assignment discussion, peer-learning encouraged.
 +
|-
 +
| Chapter 13 (05/07/2022)
 
|  <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)
 
|-
 
|-
| Chapter 24,25,26
+
| Chapter 24,25,26 (06/07/2022, 12/07/2022)
 
|  <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.
Line 75: Line 77:
 
== Assignments and Tests==
 
== Assignments and Tests==
 
===Class Assignments===
 
===Class Assignments===
* '''''Assignment No. 1''''', Posted on Google Classroom, '''Submission Deadline''': 30/05/2022
+
* '''''Assignment No. 1''''', Individual Assignment, Posted on Google Classroom, '''Submission Deadline''': 30/05/2022
 +
* '''''Assignment No. 2''''', Group Assignment, Discussed in the class, '''Submission Deadline''': 07/05/2022
  
 
===Tests and Quizzes===
 
===Tests and Quizzes===
* Test 1 : 21/06/2022, [http://mkbhandari.com/mkwiki/data/summer2021/1Intro.pdf '''Paper.pdf'''], [http://mkbhandari.com/mkwiki/data/summer2021/1Intro.pdf '''Solution.pdf''']
+
* Test 1 : 21/06/2022, [http://mkbhandari.com/mkwiki/data/summer2022/test1.pdf '''Test1.pdf'''], [http://mkbhandari.com/mkwiki/data/summer2022/test1Sol.pdf '''Solution.pdf''']
 
* Quiz 1: 01/06/22
 
* Quiz 1: 01/06/22
* Test 2
+
* Test 2: 12/07/2022, [http://mkbhandari.com/mkwiki/data/summer2022/test2.pdf '''Test2.pdf'''],
* Quiz 2
 
  
 
== Resources ==
 
== Resources ==
Line 150: Line 152:
 
| Inheritance
 
| Inheritance
 
|  
 
|  
|  
+
* Shubh (AD-1290)
 +
* Devender  (AD-1238)
 +
* Dishan  (AD-1240)
 +
* Manish Meena (1258)
 +
* Vijay  (AD-1299)
 +
| [http://www.mkbhandari.com/mkwiki/data/summer2022/Scribe6.pdf Scribe6.pdf]
 
|-
 
|-
 
| 9
 
| 9
Line 160: Line 167:
 
| Exception Handling
 
| Exception Handling
 
|  
 
|  
|  
+
* Awani Sharma (AD-1225)
 +
* Bharti Yadav  (AD-1229)
 +
* Ankit (AD-1214)
 +
* Himanshu Verma (1247)
 +
* Shivi Chauhan (AD-1287)
 +
* Tanu (AD-1297)
 +
| [http://www.mkbhandari.com/mkwiki/data/summer2022/Scribe8.pdf Scribe8.pdf]
 
|-
 
|-
 
| 11
 
| 11
 
| IO and File Handling
 
| IO and File Handling
|  
+
|
|  
+
* Arpit Bhardwaj (AD-1219)
 +
* Ayush Bhardwaj (AD-1226)
 +
* Aman Sharma (AD-1208)
 +
| [http://www.mkbhandari.com/mkwiki/data/summer2022/Scribe9.pdf Scribe9.pdf]
 
|-
 
|-
 
| 12
 
| 12
Line 223: Line 239:
 
| 10
 
| 10
 
| Exception Handling
 
| Exception Handling
| Running
+
| Completed
|  
+
| 28/06/2022
 
|-
 
|-
 
| 11
 
| 11
 
| IO and File Handling
 
| IO and File Handling
|  
+
| Completed
|  
+
| 05/07/2022
 
|-
 
|-
 
| 12
 
| 12
 
| Event Handling and AWT
 
| Event Handling and AWT
|  
+
| Completed
|  
+
| 12/07/2022
 
|-
 
|-
 
| 13
 
| 13

Latest revision as of 15:53, 26 July 2022

Logistics

  • Class Timings: Tuesdays 10:45 am - 12:45 pm (3rd and 4th slot) and Wednesdays 8:45 am - 10:45 am (1st and 2nd slot)
  • Classroom: R68 (Seminar Hall Building)
  • Lab Timings: Tuesdays 1:00 pm - 5:00 pm (5th - 8thslot)
  • Labs: CS Lab 3, 4, and 5

Course Overview

Lectures

Lecture Topic Lecture Slides Readings
Chapter 01 (08/04/22, 20/04/22, 27/04/22)
Introduction: History of Java, Java Features, First Sample Program, Java Virtual Machine(JVM) Architecture.
1.pdf Chapter 1 (R1)
Chapter 02 (05/05/22) OOPs Principles: Object, Class, Encapsulation, Abstraction, Inheritance, Polymorphism. 2.pdf Chapter 2 (R1)
Chapter 03,04,05 (10/05/22, 11/05/22)
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)
Chapter 06 (18/05/22)
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)
Chapter 07 (24/05/22, 25/05/22)
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)
Chapter 08 (31/05/22, 07/06/22, 14/06/22)
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)
Chapter 09 (15/06/22, 21/06/22)
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)
Chapter 10 (22/06/22, 28/06/22)
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)
(29/06/2022), Assignment No. 2, Groups Formation, Assignment discussion, peer-learning encouraged.
Chapter 13 (05/07/2022)
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)
Chapter 24,25,26 (06/07/2022, 12/07/2022)
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)
Chapter 25,25,26
Introducing Swing, Exploring Swring: online
Book Reading + Online Tutorials] Chapter 24,25,26 (R1)

Assignments and Tests

Class Assignments

  • Assignment No. 1, Individual Assignment, Posted on Google Classroom, Submission Deadline: 30/05/2022
  • Assignment No. 2, Group Assignment, Discussed in the class, Submission Deadline: 07/05/2022

Tests and Quizzes

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]


Scribe (Lecture summaries by students)

Unit/Chapter Topic Name of Students PPT/PDF/Video
1 The History and Evolution of Java
  • ASHISH (AD-1221)
  • AVISHKAR (AD-1224)
  • DEEPAK (AD-1234)
  • PRIYANSHU (AD-1274)
  • SUMIT (AD-1294)
Scribe1.pdf
2 An Overview of Java
  • Himanshi Nagar (AD-1246)
  • Nimisha Sharma (AD-1264)
  • Pinky (AD-1268)
  • Yashyaswini Fogat (AD-1605)
Scribe2.pdf
3, 4, 5 Data Types, Variables and Arrays, Operators, Control Statements
  • Nikhil Kalyan (AD-1262)
  • Arpit Saini (AD-1220)
  • Amritanshu (AD-1210)
  • Lalit Baghel (AD-1256)
Scribe3.pdf
6 Introducing Classes
  • Ambedkar Ainampudi (AD-1209)
  • Deepak Prajapati (AD-1235)
  • Satender Kumar (AD-1284)
  • Shorya Bhatnagar (AD-1288)
Scribe4.pdf
7 A Closer Look at Methods and Classes
  • ANJALI (AD-1211)
  • DEEPIKA (AD-1237)
  • MEGHA (AD-1251)
  • PRANAV (AD-1270)
Scribe5.pdf
8 Inheritance
  • Shubh (AD-1290)
  • Devender (AD-1238)
  • Dishan (AD-1240)
  • Manish Meena (1258)
  • Vijay (AD-1299)
Scribe6.pdf
9 Packages and Interfaces
10 Exception Handling
  • Awani Sharma (AD-1225)
  • Bharti Yadav (AD-1229)
  • Ankit (AD-1214)
  • Himanshu Verma (1247)
  • Shivi Chauhan (AD-1287)
  • Tanu (AD-1297)
Scribe8.pdf
11 IO and File Handling
  • Arpit Bhardwaj (AD-1219)
  • Ayush Bhardwaj (AD-1226)
  • Aman Sharma (AD-1208)
Scribe9.pdf
12 Event Handling and AWT
13 Introducing Swing, Exploring Swing

Course Running Status (Running/Completed)

Unit/Chapter Topic Status Remarks
1 The History and Evolution of Java Completed 27/04/2022
2 An Overview of Java Completed 05/05/2022
3, 4, 5 Data Types, Variables and Arrays, Operators, Control Statements Completed 11/05/2022
6 Introducing Classes Completed 18/05/2022
7 A Closer Look at Methods and Classes Completed 25/05/2022
8 Inheritance Completed 14/06/2022
9 Packages and Interfaces Completed 21/06/2022
10 Exception Handling Completed 28/06/2022
11 IO and File Handling Completed 05/07/2022
12 Event Handling and AWT Completed 12/07/2022
13 Introducing Swing, Exploring Swing