PPL: Coroutines

COROUTINES

To understand coroutines first we should know about subroutines.

In computer programming, a subroutine is a sequence of program instructions that perform a specific task. For example a program for addition, subtraction. Subroutines is also known as function.






















Coroutines are generalizations of the subroutines.

A subroutine has the same starting point and the same endpoint all the time, while a coroutine has multiple entry points for suspending and resuming execution. Coroutines are cooperative, that means if a coroutine consume input data, another coroutine can consume it, and another coroutine can be used to display the output.

Coroutines are nothing but cooperative functions.

Coroutines are very similar to threads. However, coroutines are cooperatively multitasked, whereas threads are typically preemptively multitasked.


Viva Voce on Coroutines

Q1. Explain what is meant by a recursive subroutine.
Answer =A recursive subroutine is simply one that calls itself either directly or through a chain of calls involving other subroutines.

Q2. Coroutine is just another name for a subroutine. True/False.
Answer = True

Q3. A two pass assembler uses its machine opcode table in the first pass of assembly. True/False.
Answer = True

Q4. Explain what is meant by a recursive subroutine.
Answer =A recursive subroutine is simply one that calls itself either directly or through a chain of calls involving other subroutines.

Q5. How many coroutines can run at a given time?
Answer - Only one coroutine can run at a given time.

Q6. What is coroutine?
Answer = Coroutine is a function that allows pausing its own execution and resuming    from the exact same point after a condition is met.

Q7. How to Start Coroutine?
Answer = Coroutine can be start by using the StartCoroutine() function.

Q8. How to Stop Coroutine?
Answer = Coroutine can be stop by using the StopCoroutine() function.

Q9. Which type of method is used to start and stop coroutine?
Answer = It use IEnumerator based method to Start and Stop Coroutine.

Principles of Programming Languages

EasyExamNotes.com covered following topics in PPL.

Practicals:
Previous years solved papers:
A list of Video lectures
References:
  1. Sebesta,”Concept of programming Language”, Pearson Edu 
  2. Louden, “Programming Languages: Principles & Practices” , Cengage Learning 
  3. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill. 
  4. E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

Python Programming ↓ 👆
Java Programming ↓ 👆
JAVA EasyExamNotes.com covered following topics in these notes.
JAVA Programs
Principles of Programming Languages ↓ 👆
Principles of Programming Languages
EasyExamNotes.com covered following topics in these notes.

Practicals:
Previous years solved papers:
A list of Video lectures References:
  1. Sebesta,”Concept of programming Language”, Pearson Edu 
  2. Louden, “Programming Languages: Principles & Practices” , Cengage Learning 
  3. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill. 
  4. E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

    Computer Organization and Architecture ↓ 👆

    Computer Organization and Architecture 

    EasyExamNotes.com covered following topics in these notes.

    1. Structure of desktop computers
    2. Logic gates
    3. Register organization
    4. Bus structure
    5. Addressing modes
    6. Register transfer language
    7. Direct mapping numericals
    8. Register in Assembly Language Programming
    9. Arrays in Assembly Language Programming

    References:

    1. William stalling ,“Computer Architecture and Organization” PHI
    2. Morris Mano , “Computer System Organization ”PHI

    Computer Network ↓ 👆
    Computer Network

    EasyExamNotes.com covered following topics in these notes.
    1. Data Link Layer
    2. Framing
    3. Byte count framing method
    4. Flag bytes with byte stuffing framing method
    5. Flag bits with bit stuffing framing method
    6. Physical layer coding violations framing method
    7. Error control in data link layer
    8. Stop and Wait scheme
    9. Sliding Window Protocol
    10. One bit sliding window protocol
    11. A protocol Using Go-Back-N
    12. Selective repeat protocol
    13. Application layer
    References:
    1. Andrew S. Tanenbaum, David J. Wetherall, “Computer Networks” Pearson Education.
    2. Douglas E Comer, “Internetworking with TCP/IP Principles, Protocols, And Architecture",Pearson Education
    3. KavehPahlavan, Prashant Krishnamurthy, “Networking Fundamentals”, Wiley Publication.
    4. Ying-Dar Lin, Ren-Hung Hwang, Fred Baker, “Computer Networks: An Open Source Approach”, McGraw Hill.