Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3368308.3415412acmconferencesArticle/Chapter ViewAbstractPublication PagesiteConference Proceedingsconference-collections
research-article

The Study of the Classic Producer-consumer Problem in a Series of IT Courses

Published:07 October 2020Publication History

ABSTRACT

It is a time-consuming task for the instructors to design the examples, assignments, and projects to meet the requirement of learning outcomes. Luckily, most of the courses in information technology major are relevant and some are closely related to each other. Therefore, we propose to take advantage of the same problem which can be analyzed from different aspects under a series of IT courses. It will not only reduce the burden of the instructors to design the brand-new exercises but also help students quickly understand the foundation of the problem from what they studied and embark on exploring the high-level topics in new courses.

In this paper, we use the classic producer-consumer problem as an example to present our proposition. This problem is generally shown up in operating systems course to illustrate the multi-process synchronization. We expand this problem from different angels and motivate the students to further explore other relevant topics: The objects? datatypes, properties, functions are declared in programming course and the built-in thread feature in some specific language like Java can also be demonstrated by this problem's solution. The design of data structure of the producer, the consumer, and the buffer can be discussed in data structure course. The collaboration between the producer and the consumer can be used for explaining the cause of deadlock in database course. Finally, the producer-consumer problem is used to clarify different application architectures in application/software design course. We expect that our methodology on IT education can illumine other educators looking to the similar mode in their program.

References

  1. "Information Technology Curricula 2017," Association for Computing Machinery (ACM) & IEEE Computer Society (IEEE-CS), 2017.Google ScholarGoogle Scholar
  2. A. Silberschatz, P. Galvin and G. Gagne, Operating System Concepts, Wiley, 2013.Google ScholarGoogle Scholar
  3. E. W. Dijkstra, "Cooperating sequential processes," in The origin of concurrent programming, Springer, 1968, pp. 65--138.Google ScholarGoogle Scholar
  4. I. Tinca, "The Evolution of the Producer-Consumer Problem in Java," 9 October 2018. [Online]. Available: https://dzone.com/articles/the-evolution-of-producer-consumer-problem-in-java. [Accessed 20 May 2020].Google ScholarGoogle Scholar
  5. A. J. Wellings, Concurrent and real-time programming in Java, Wiley Chichester, 2004.Google ScholarGoogle Scholar
  6. R. Lafore, Data Structures and Algorithms in Java (2nd Edition), Sams Publishing, 2002.Google ScholarGoogle Scholar
  7. C. Coronel and S. Morris, Database systems: design, implementation, & management, Cengage Learning, 2016.Google ScholarGoogle Scholar
  8. D. VanGomple, "More versatile networks boost motion control capabilities," 01 September 2000. [Online]. Available: https://www.machinedesign.com /automation-iiot/sensors/article/21827587/more-versatile-networks-boost-motion-control-capabilities. [Accessed 02 June 2020].Google ScholarGoogle Scholar
  9. M. Richards, Software architecture patterns, O'Reilly Media, Incorporated 1005 Gravenstein Highway North, Sebastopol, 2015.Google ScholarGoogle Scholar

Index Terms

  1. The Study of the Classic Producer-consumer Problem in a Series of IT Courses

                  Recommendations

                  Comments

                  Login options

                  Check if you have access through your login credentials or your institution to get full access on this article.

                  Sign in
                  • Published in

                    cover image ACM Conferences
                    SIGITE '20: Proceedings of the 21st Annual Conference on Information Technology Education
                    October 2020
                    446 pages
                    ISBN:9781450370455
                    DOI:10.1145/3368308

                    Copyright © 2020 ACM

                    Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

                    Publisher

                    Association for Computing Machinery

                    New York, NY, United States

                    Publication History

                    • Published: 7 October 2020

                    Permissions

                    Request permissions about this article.

                    Request Permissions

                    Check for updates

                    Qualifiers

                    • research-article

                    Acceptance Rates

                    Overall Acceptance Rate176of429submissions,41%

                  PDF Format

                  View or Download as a PDF file.

                  PDF

                  eReader

                  View online with eReader.

                  eReader