Difference between revisions of "Fall 2022: Internet Technologies"

From MKWiki
Jump to navigation Jump to search
 
(70 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Logistics ==
 
== Logistics ==
*Class Timings: '''Tuesdays''' 10:45 am - 12:45 pm (3<sup>rd</sup> and 4<sup>th</sup> slot) and  '''Wednesdays''' 8:45 am - 10:45 am (1<sup>st</sup> and 2<sup>nd</sup> slot)
+
*Class Timings: '''Mondays''' and  '''Tuesdays''' 10:45 am - 12:45 pm (3<sup>rd</sup> and 4<sup>th</sup> slot)
*Classroom: R68 (Seminar Hall Building)
+
*Classroom: R34 / Conference Room (above Principal's office)
*Lab Timings: '''Tuesdays''' 1:00 pm - 5:00 pm (5<sup>th</sup> - 8<sup>th</sup>slot)
+
*Lab Timings: '''Wednesdays''' 8:45 am - 12:45 pm (1<sup>st</sup> - 4<sup>th</sup>slot)
 
*Labs: CS Lab 3, 4, and 5
 
*Labs: CS Lab 3, 4, and 5
  
 
== Course Overview ==
 
== Course Overview ==
* As per the Delhi University [http://cs.du.ac.in/uploads/ug_guidelines/BSc-H-CS/II/LOCF_Programming%20in%20Java%20Sem%20II%20guidelines%20and%20practical%20list.pdf Course Guidelines]
+
* As per the Delhi University [https://cs.du.ac.in/uploads/ug_guidelines/BSc-H-CS/VI/DM%20Guidelines%2014Jan2022.pdf Course Guidelines]
  
 
== Lectures ==
 
== Lectures ==
{| class="wikitable" style="text-align:left; width: 100%";  
+
{| class="wikitable" style="text-align: justify; width: 100%";  
 
|-
 
|-
 
!Lecture
 
!Lecture
Line 16: Line 16:
 
!Readings
 
!Readings
 
|-
 
|-
| style="width: 10%" | Chapter 01 (08/04/22, 20/04/22, 27/04/22)
+
| style="width: 10%; " | Unit/Chapter 1.3 (26/07/22)
| 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%" |  '''''Introduction to Internet''''': What is Internet? Evolution of the Internet. Working of the Internet. Difference between Intranet and Internet.
| style="width: 10%" | [http://mkbhandari.com/mkwiki/data/summer2021/1Intro.pdf '''1.pdf''']
+
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/fall2022/1.3Internet.pdf '''1.3.pdf'''] <br> [http://mkbhandari.com/mkwiki/data/fall2022/Milestones.pdf '''Key Milestones.pdf''']  
 
| Chapter 1 (R1)
 
| Chapter 1 (R1)
 
|-
 
|-
| Chapter 02 (05/05/22)
+
| Unit/Chapter 3.1 (01/08/22, 02/08/22)
| '''''OOPs Principles''''': Object, Class, Encapsulation, Abstraction, Inheritance, Polymorphism.
+
| '''''Web Servers''''': Introduction to Web Servers. Working, Configuring, Hosting, and Managing Web Servers(class assignment). Client-side Technologies, Server-side Technologies, Hybrid Technologies.
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/2OOPs.pdf '''2.pdf''']
+
| [http://mkbhandari.com/mkwiki/data/fall2022/3.1WebServers.pdf '''3.1.pdf''']
| Chapter 2 (R1)
+
| Chapter 1-2 (R1)
 
|-
 
|-
| Chapter 03,04,05 (10/05/22, 11/05/22)
+
| Unit/Chapter 3.2 (22/08/22)
| <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>
+
| '''''Proxy Servers''''': Introduction, Working, Types of Proxies, setting up and managing a proxy server.
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/3BBB.pdf '''3.pdf''']
+
| [https://www.varonis.com/blog/what-is-a-proxy-server/   Online ]
| Chapter 3,4,5 (R1)
+
| Up to Proxy server risks
 
|-
 
|-
| Chapter 06 (18/05/22)
+
| Unit/Chapter 4.2(a) (22/08/22)
| <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>
+
| Introduction to '''''forums, blogging''''', portfolio, developing a responsive website.
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/4Intro2Classes.pdf '''4.pdf''']
+
| [https://imtips.co/blog-or-forum.html Online]
| Chapter 6 (R1)
+
| Except Common FAQ’s on Forums and Blogs)
 
|-
 
|-
| Chapter 07 (24/05/22, 25/05/22)
+
| Unit/Chapter 4.2(b) (23/08/22, 29/08/22, 05/09/22, 06/09/22, 12/09/22, 13/09/22, 19/09/22, 26/09/22, 27/09/22, 10/10/22, 11/10/22)
|  <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>
+
JavaScript, jQuery, AJAX and JSON <br>
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/5CloserLook.pdf '''5.pdf''']
+
(1) Basic JavaScript Instruction <br>
| Chapter 7 (R1)
+
(2) Functions, Methods & Objects <br>
 +
(3) Decisions and Loops <br>
 +
(4) Document Object Model  <br>
 +
(5) Events <br>
 +
(6) jQuery <br>
 +
(7) AJAX, JSON
 +
| [http://mkbhandari.com/mkwiki/data/fall2022/4.2JS.pdf '''4.2JS.pdf'''] <br>
 +
[http://mkbhandari.com/mkwiki/data/fall2022/4.2DOM.pdf '''4.2DOM.pdf'''] <br>
 +
[http://mkbhandari.com/mkwiki/data/fall2022/4.2jQuery.pdf '''4.2jQuery.pdf'''] <br>
 +
[http://mkbhandari.com/mkwiki/data/fall2022/4.2AJAXandJSON.pdf '''4.2AJAXnJSON.pdf''']  
 +
| Chapter 2-8 (R2) <hr> Partial PDFs have been uploaded, and contents were covered from the Reference Book in the classroom this semester. You are required to Read from the Reference Books as per the DUCS IT guidelines.
 
|-
 
|-
| Chapter 08 (31/05/22, 07/06/22, 14/06/22)
+
| Student Presentations:
<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>
+
(1) '''NodeJS''' - ''Aditi Kumari, Shreya Singh, Tanisha Sharma, Yashi choudhary, Yash lohia''<br>
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/6Inheritance.pdf '''6.pdf''']
+
(2) '''Bootstrap''' - ''Raj Khatri, Pratham Sharma, Prakash Kr. Singh, Purbak Sengupta''<br>
| Chapter 8 (R1)
+
(3) '''Search Engines-Components, Working and Optimisation''' - Rajat Sharma, Rishabh Sharma, Ramit Yadav, Shashank Kestwal <br>
|-
+
(4) '''Search Engines-Crawling, BOTs''' - Nilesh Pandey, Divyam Singh, Shahnwaz Khan, Amit Rawat <br>
| Chapter 09 (15/06/22, 21/06/22)
+
(5) '''Cookies and Sessions''' - <br>  
|  <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>
+
(6) '''Network Address Translation''' - <br>
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/7PKGInterface.pdf '''7.pdf''']
+
(7) '''Subnet Masking''' - <br>
| Chapter 9 (R1)
+
(8) '''Dynamic and Static Routing''' - <br>  
|-
+
(9) '''Domain Name Server''' - <br>
| Chapter 10 (22/06/22, 28/06/22)
+
(10) '''Internet Protocols''' - <br>  
<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>
+
(11) '''Networking Tools - ping, ipconfig''' - <br>
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/8ExceptionH.pdf '''8.pdf''']
+
(12) '''Networking Tools - tracert, netstat''' -
| Chapter 10 (R1)
+
|  
|-
 
| 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>
 
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/9IOnFH.pdf '''9.pdf''']
 
| Chapter 13 (R1)
 
|-
 
| 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>
 
| style="width: 15%" | [http://mkbhandari.com/mkwiki/data/summer2021/10EHnAWT.pdf '''10.pdf'''] + Book Reading + Online Tutorials.
 
| Chapter 24,25,26 (R1)
 
|-
 
| Chapter 25,25,26
 
|  <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==
 
===Class Assignments===
 
===Class Assignments===
* '''''Assignment No. 1''''', Individual Assignment, Posted on Google Classroom, '''Submission Deadline''': 30/05/2022
+
* '''''Assignment No. 1''''', Uploaded on Google Classroom, '''Submission Deadline''': 01/11/2022.
* '''''Assignment No. 2''''', Group Assignment, Discussed in the class, '''Submission Deadline''': 07/05/2022
+
* '''''Group Assignment/ Presentations'''''
  
 
===Tests and Quizzes===
 
===Tests and Quizzes===
* 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''']
+
* '''Test 1''' : 18/10/2022
* Quiz 1: 01/06/22
 
* Test 2: 12/07/2022, [http://mkbhandari.com/mkwiki/data/summer2022/test2.pdf '''Test2.pdf'''],
 
  
 
== Resources ==
 
== Resources ==
* '''R1''': Schildt, H. (2018). Java: The Complete Reference. 10th edition. McGraw-Hill Education. <br>
+
* '''R1''': Learning PHP, MySQL, JavaScript, CSS & HTML5, (Robin Nixon), 3rd Edition, O’Reilly Media. <br>
* '''Additional R1''': Balaguruswamy, E. (2014). Programming with JAVA: A Primer. 5th edition. India: McGraw Hill Education.
+
* '''R2''': JavaScript and JQuery – Interactive Front-end Web Development, (Jon Duckett), John Wiley and Sons, Inc. <br>
* '''Additional R2''': Horstmann, C. S. (2017). Core Java - Vol. I – Fundamentals (Vol. 10). Pearson Education.
+
* '''R3:''' Web Design with HTML and CSS Digital Classroom, (Jeremy Osborn, Jemmifer Smith and AGI Creative Team), Wiley Publishing, Inc.
* '''Additional R3''': Schildt, H., & Skrien, D. (2012). Java Fundamentals - A Comprehensive Introduction. India: McGraw Hill Education. <br>
 
* '''Web 1:''' The Java™ Tutorials [https://docs.oracle.com/javase/tutorial/]
 
* '''Web 2:''' Java T Point Tutorial  [https://www.javatpoint.com/java-tutorial]
 
* '''Web 3:''' NTU notes on Java [https://www3.ntu.edu.sg/home/ehchua/programming/index.html#Java]
 
 
 
 
 
== Scribe (Lecture summaries by students)==
 
{| class="wikitable" style="text-align:left; "
 
|-
 
! 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)
 
| [http://www.mkbhandari.com/mkwiki/data/summer2022/Scribe1.pdf Scribe1.pdf]
 
|-
 
| 2
 
| An Overview of Java
 
 
* Himanshi Nagar (AD-1246)
 
* Nimisha Sharma (AD-1264)
 
* Pinky (AD-1268)
 
* Yashyaswini Fogat (AD-1605)
 
| [http://www.mkbhandari.com/mkwiki/data/summer2022/Scribe2.pdf 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)
 
| [http://www.mkbhandari.com/mkwiki/data/summer2022/Scribe3.pdf Scribe3.pdf]
 
|-
 
| 6
 
| Introducing Classes
 
|
 
* Ambedkar Ainampudi (AD-1209)
 
* Deepak Prajapati (AD-1235)
 
* Satender Kumar (AD-1284)
 
* Shorya Bhatnagar (AD-1288)
 
|  [http://www.mkbhandari.com/mkwiki/data/summer2022/Scribe4.pdf Scribe4.pdf]
 
|-
 
| 7
 
| A Closer Look at Methods and Classes
 
|
 
* ANJALI  (AD-1211)
 
* DEEPIKA  (AD-1237)
 
* MEGHA (AD-1251)
 
* PRANAV  (AD-1270)
 
| [http://www.mkbhandari.com/mkwiki/data/summer2022/Scribe5.pdf Scribe5.pdf]
 
|-
 
| 8
 
| 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
 
| 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)
 
| [http://www.mkbhandari.com/mkwiki/data/summer2022/Scribe8.pdf Scribe8.pdf]
 
|-
 
| 11
 
| IO and File Handling
 
|
 
|
 
|-
 
| 12
 
| Event Handling and AWT
 
|
 
|
 
|-
 
| 13
 
| Introducing Swing, Exploring Swing
 
|
 
|
 
|}
 
 
 
== Course Running Status (Running/Completed)==
 
{| class="wikitable" style="text-align:left; "
 
|-
 
!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
 
|
 
|
 
|}
 

Latest revision as of 21:47, 28 August 2023

Logistics

  • Class Timings: Mondays and Tuesdays 10:45 am - 12:45 pm (3rd and 4th slot)
  • Classroom: R34 / Conference Room (above Principal's office)
  • Lab Timings: Wednesdays 8:45 am - 12:45 pm (1st - 4thslot)
  • Labs: CS Lab 3, 4, and 5

Course Overview

Lectures

Lecture Topic Lecture Slides Readings
Unit/Chapter 1.3 (26/07/22) Introduction to Internet: What is Internet? Evolution of the Internet. Working of the Internet. Difference between Intranet and Internet. 1.3.pdf
Key Milestones.pdf
Chapter 1 (R1)
Unit/Chapter 3.1 (01/08/22, 02/08/22) Web Servers: Introduction to Web Servers. Working, Configuring, Hosting, and Managing Web Servers(class assignment). Client-side Technologies, Server-side Technologies, Hybrid Technologies. 3.1.pdf Chapter 1-2 (R1)
Unit/Chapter 3.2 (22/08/22) Proxy Servers: Introduction, Working, Types of Proxies, setting up and managing a proxy server. Online Up to Proxy server risks
Unit/Chapter 4.2(a) (22/08/22) Introduction to forums, blogging, portfolio, developing a responsive website. Online Except Common FAQ’s on Forums and Blogs)
Unit/Chapter 4.2(b) (23/08/22, 29/08/22, 05/09/22, 06/09/22, 12/09/22, 13/09/22, 19/09/22, 26/09/22, 27/09/22, 10/10/22, 11/10/22) JavaScript, jQuery, AJAX and JSON

(1) Basic JavaScript Instruction
(2) Functions, Methods & Objects
(3) Decisions and Loops
(4) Document Object Model
(5) Events
(6) jQuery
(7) AJAX, JSON

4.2JS.pdf

4.2DOM.pdf
4.2jQuery.pdf
4.2AJAXnJSON.pdf

Chapter 2-8 (R2)
Partial PDFs have been uploaded, and contents were covered from the Reference Book in the classroom this semester. You are required to Read from the Reference Books as per the DUCS IT guidelines.
Student Presentations: (1) NodeJS - Aditi Kumari, Shreya Singh, Tanisha Sharma, Yashi choudhary, Yash lohia

(2) Bootstrap - Raj Khatri, Pratham Sharma, Prakash Kr. Singh, Purbak Sengupta
(3) Search Engines-Components, Working and Optimisation - Rajat Sharma, Rishabh Sharma, Ramit Yadav, Shashank Kestwal
(4) Search Engines-Crawling, BOTs - Nilesh Pandey, Divyam Singh, Shahnwaz Khan, Amit Rawat
(5) Cookies and Sessions -
(6) Network Address Translation -
(7) Subnet Masking -
(8) Dynamic and Static Routing -
(9) Domain Name Server -
(10) Internet Protocols -
(11) Networking Tools - ping, ipconfig -
(12) Networking Tools - tracert, netstat -

Assignments and Tests

Class Assignments

  • Assignment No. 1, Uploaded on Google Classroom, Submission Deadline: 01/11/2022.
  • Group Assignment/ Presentations

Tests and Quizzes

  • Test 1 : 18/10/2022

Resources

  • R1: Learning PHP, MySQL, JavaScript, CSS & HTML5, (Robin Nixon), 3rd Edition, O’Reilly Media.
  • R2: JavaScript and JQuery – Interactive Front-end Web Development, (Jon Duckett), John Wiley and Sons, Inc.
  • R3: Web Design with HTML and CSS Digital Classroom, (Jeremy Osborn, Jemmifer Smith and AGI Creative Team), Wiley Publishing, Inc.