Home > Experiential Learning
Page 1 of 2
1 2

GALA: A Gamified Approach To Learning Algorithms

Abstract In a typical Computer Science undergraduate programme, students take a two-course sequence in Data Structures and Algorithms (DSA). These courses build on an introductory programming course which usually offers only a light introduction to these topics (e.g., the list data structure implemented as an array, and simple algorithms such as

Read More

Experiential Learning of Networking Technologies: Understanding Traversal of a Packet in Internet

Introduction In this series of articles on Experiential Learning of Networking Technologies, we have discussed a number of network protocols starting from HTTP [7] at application layer, TCP [3] and UDP [1] protocols at transport layers that provide end to end communications, and IP addressing [2] and routing for packet delivery

Read More

Experiential Learning of Networking Technologies Understanding IP Routing

MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}}); In the previous article [1], we have studied assignment of IP address [2] to a host, and its role in connecting to internet and communicating with other devices. We explored concept of a network number which is determined using IP address and subnet mask. When network number

Read More

Experiential Learning of Networking Technologies: Understanding Network Layer & IP Addressing

Introduction So far in our articles [1], we have discussed a) Internet and network in general, such as, its functioning, network delays and performance, diagnostic tools to use etc. b) Application layer with detailed focus on HTTP protocol, its message structure, and use of HTTP headers in designing web applications, and

Read More

Experiential Learning Of Networking Technologies: Evolution Of Socket Programming – Part I

MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}}); 1  Introduction In the 21st century, the internet has become essential part of everyday tasks including banking, interacting with government services, education, entertainment, text/voice/video communication, etc. Individuals access the internet using client-side applications such as a browser or an app on their mobile phone or laptop/desktop. This client-side

Read More
Experiential Learning

Experiential Learning of Networking Technologies: Understanding TCP Flow Control and Congestion Control

Authors RAM P. RUSTAGI CSE Dept, KSIT Bangalore VIRAJ KUMAR Divecha Centre for Climate Change, IISc Bangalore Abstract In a TCP connection, the underlying network drops packets when it lacks the capacity to deliver all the packets sent by the sender to the receiver. This phenomenon is called congestion. TCP at the sender’s side will not receive acks for

Read More

Experiential Learning of Networking Technologies: Understanding TCP Flow Control

Authors RAM P. RUSTAGI Department of CSE, KSIT Bangalore VIRAJ KUMAR, Divecha Centre for Climate Change, IISc Bangalore Abstract In any TCP-based client-server communication, the application layer is implemented in the application program whereas the transport layer (i.e., TCP protocol) is implemented in the underlying operating system. TCP achieves reliability using acknowledgement packets and retransmitting any packets that

Read More

Experiential Learning of Networking Technologies: Understanding TCP States – Part 2

MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}}); Authors   Ram P. Rustagi Department of CSE, KSIT Bangalore Viraj Kumar Divecha Centre for Climate Change, IISc Bangalore Abstract This article focuses on the states of a TCP connection once one of the endpoints decides to terminate the connection. This so-called teardown phase involves the exchange of numerous messages (for reasons we will

Read More

Experiential Learning of Networking Technologies: Understanding TCP States – Part 1

Authors   Ram P. Rustagi CSE Department, KSIT Viraj Kumar CAOS - Indian Institute of Science Abstract   The transport layer TCP in a network stack provides end-to-end reliable delivery to the application layer. A reliable connection implies that data will be delivered in-order, error-free and without loss or data duplication. Developers will occasionally face situations where TCP

Read More

Understanding Transport Layer Basics – Experiential Learning Series

Authors   Ram P. Rustagi Professor, CSE Dept, KSIT Viraj Kumar Professor, CAOS, IISc   Abstract  The transport layer in a network stack provides end-to-end connectivity to the application layer. In the internet stack, there are two main transport layer implementations in use: TCP (which provides reliable service delivery) and UDP (which does not). Unfortunately, many people misconstrue

Read More
Page 1 of 2
1 2