Research-oriented teaching of PDC topics in integration with other undergraduate courses at multiple levels: A multi-year report

https://doi.org/10.1016/j.jpdc.2017.01.004Get rights and content

Highlights

  • An integration plan for research-oriented teaching of relevant topics from PDC.

  • The work is encouraged from the IEEE/TCPP Core curriculum initiative on PDC.

  • Software Engineering, Computer Networks, Computer Architecture under integration.

  • Validation by statistical analysis of pre-post feedback and students’ performance.

Abstract

Parallel and distributed computing (PDC) is finding its usage from system, algorithms, and architecture perspectives in research and industries of many domains. Due to its ever-increasing applications and benefits, the need of skilled manpower in the area of PDC is also increasing. It is felt that if the basic knowledge taught through the core course of PDC is supplemented with the discussion of PDC topics in integration with other computer science courses, then it will not only provide the students with more opportunities to ‘think in parallel’, but will also motivate them to harness the best of PDC. In this paper, we present our experiences of performing research-oriented teaching of PDC topics in integration with other undergraduate courses since 2014 to 2016 spread over multiple semesters. The courses mainly include Software Engineering, Computer Networks, Computer Architecture, Network Programming, and Network based Laboratory taught to undergraduate level students of Computer Science and Engineering. Our integration plan is encouraged from the objectives of NSF/TCPP–IEEE core curriculum initiative on PDC. Most of these courses are compulsory courses for undergraduate students of our department. In addition to the goals of the respective courses, we tried to fulfill many pedagogical goals corresponding to the PDC course. The teaching-contents of these courses have been adapted to also cover the aspects of PDC. A well-defined methodology for selection of PDC topics for integration, selection of topics for laboratory projects and home assignments, conduct of examinations (mid-term/end-term), pre-post feedback and evaluation, and other related activities has been planned. The methodology is intended to fulfill the priorly set goals and to achieve the intended learning outcomes (ILOs). This paper presents the methodology used, detailed topics and integration plan of PDC topics along with corresponding bloom levels, ILOs, evaluation strategies, and performance evaluation based on the students’ feedback and statistical analysis. Success of integration has been validated by performing statistical analysis of students’ pre-post feedback and performance in examinations.

Introduction

Parallel and distributed computing (PDC) based technology is found to be useful in diverse sections of manufacturing and development. Now-a-days, PDC based technology is being used extensively in designing various methods and algorithms in government laboratories as well as in corporate industries. Also, a lot of public and private sector events and initiatives are emphasizing the need of adopting parallel thinking at the academic and research level. So, it is felt that the formal training of the students in PDC and making them to ‘think in parallel’ while performing design or development activities can be beneficial to them in all their future endeavors. Motivated from the TCPP Core Curriculum  [22] and the market-needs, it was planned to integrate the PDC topics from TCPP Core Curriculum in teaching of various courses of Computer Science and Engineering at undergraduate level. Initially, we analyzed the complete course-structure of our undergraduate program. After a recent revision, we have incorporated some elective courses with the theme matching with the TCPP core curriculum such as Parallel and Distributed Algorithms, Cloud Computing, High Performance Computing, and Distributed Systems. Further, some of the core courses such as introductory course on Computer Science, introductory course on Programming, Data Structures, Algorithm Design, Compiler Design, and Programming Languages also cover the topics related to PDC as per specifications given in TCPP Core Curriculum Initiative  [22]. After going through the TCPP Core Curriculum Initiative  [22] document, we learned that some of the other remaining courses can be targeted for integration of PDC topics. Hence, we planned to integrate the topics from TCPP core curriculum into our courses on Computer Architecture, Computer Networks, Network Programming, Network based laboratory, and Software Engineering. Out of these, the courses of Computer Architecture and Software Engineering are taught at the second year level, courses of Computer Networks and Network based laboratory are taught at the third year level, and the course of Network Programming is taught at the final year level of the under-graduation. Apart from the topics mentioned in TCPP core curriculum for integration in these courses, we also planned to have some project component in the courses to enable integration of some more topics from PDC with these courses. Research-oriented teaching was performed through discussion on emerging trends, assigning projects on research problems, conducting critical-reviews, and discussing new ideas. Some invited lectures related to these courses were also conducted with the help of experts from industry and academia. In this paper, we have discussed our experiences of applying this integration in teaching to undergraduate level computer science and engineering students. We performed the integration at conceptual level as well as at the practical level. This paper presents the methodology used in integration, detailed topics and integration plan along with corresponding bloom level, intended learning outcomes, evaluation strategies used, students’ feedback on the integration plan, performance evaluation using pre-post analysis and statistical analysis, and our overall observations. Some of the experiences documented in this paper have been presented concisely as posters in [16], [17], [18]. Following are the contributions of this paper:

  • Main novelty of this work lies in the way we covered various PDC topics in integration with other existing courses.

  • A concrete and detailed integration plan for research-oriented teaching of PDC topics with other undergraduate courses is presented.

  • The integration has been performed in incremental fashion at different levels of under-graduation and the efforts of multiple years since fall 2014 have been reported.

  • The success of integration plan has been validated through analysis of students’ pre-post feedback and their performance in examinations.

  • Statistical analysis and a control group based analysis have been performed on the pre-post students’ evaluation to validate the effectiveness of the integration plan. From the statistical analysis, some fruitful observations have been drawn.

In this paper, we conducted an experimental study by performing integration of PDC topics with other undergraduate courses in a planned manner. We aim to find empirical evidences to answer the following research questions:

  • 1.

    How does the proposed research-oriented teaching of PDC topics in integration with other courses perform?

  • 2.

    How does the proposed research-oriented teaching of PDC topics in integration with other courses perform in comparison to the existing conventional teaching?

  • 3.

    Does the integration of PDC topics with an existing other course adversely affect the performance of the students in that course?

  • 4.

    Is the integration of PDC topics in other existing courses accepted by students?

  • 5.

    Does the work contribute from pedagogical point of view to the existing literature?

Apart from introduction in Section  1, rest of the paper is organized as follows. Section  2 presents background and motivation. Similar related works are presented in Section  3. Our overall goal and integration plan is explained in Section  4. Section  5 provides the underlying idea of research-oriented teaching. Section  6 depicts the details of integration of PDC topics with Software Engineering and Computer Architecture courses. Integration of PDC topics with Computer Networks, Network based laboratory, and Network Programming courses is discussed in Section  7. Section  8 presents evaluation of the proposed integration plan. Discussion on the work presented in this paper and the comparative analysis with the existing works are given in Section  9. Section  10 presents threats to validity and the paper has been concluded in Section  11.

Section snippets

Background and motivation

Software Engineering broadly deals with the systematic development of software systems. Learning Software Engineering enables the students to understand intricacies of developing the software including phases of the development and maintenance such as feasibility study, requirements gathering, analysis and specification, design, coding and unit testing, system testing and integration testing, deployment, and maintenance  [23]. The objective of this course is to make the students industry-ready,

Related works

In this section, we have discussed some of the most relevant and recent works devoted to the integration of PDC topics with other courses. One of the major initiatives that boosted this type of integration is NSF/IEEE–TCPP curriculum initiative on parallel and distributed computing  [22].

A work in  [15] discusses the integration of PDC topics into four undergraduate courses. The plan for the revision of existing course contents and the design of contents for the guest lectures are discussed. A

Overall goal and plan of integration

Main objective of the integration plan presented in this paper is to ensure that every undergraduate student of computer science and engineering discipline is exposed to PDC from system, programming, architecture, and algorithms perspectives. To fulfill this objective, we have chosen the courses, for proposed integration of PDC topics, most of which are compulsory courses to be learned by every student. Through these courses, we covered many important PDC topics. Apart from these courses,

Integration of research in teaching

Some of the popular approaches for integration of research in teaching are presented in  [11], [13]. The work in  [11] has proposed three types of teaching strategies under research-teaching nexus: research-led, research-based, and research-oriented. In research-led teaching, most of the teaching contents are based upon the research findings of the instructor and curriculum is inclined towards the research interests of the staff. In research-based teaching, the roles of teacher and student are

Integration with software engineering and computer architecture courses

This section discusses the goals of integration of PDC topics with courses of Software Engineering and Computer Architecture. Course-structures along with bloom levels, integration with research, and evaluation strategy of the courses are also discussed.

Goals and learning outcomes

In addition to the goals devoted to the core courses of Computer Networks, Network Programming and Network based laboratory, we tried to fulfill many pedagogical goals corresponding to the PDC course. More emphasis was given on the parallel programming practices from PDC topics during the project work. Following major pedagogical goals corresponding to PDC course was aimed:

a. Making students understand the basic concepts of PDC and developing interest of students in parallel programming.

b.

Evaluation of integration approach

In this section, effectiveness of the presented integration approach is validated using statistical analysis by comparing the pre-test and post-test students’ evaluation as well as pre-test and post-test students’ feedback. We have also enumerated our observations from this analysis.

Discussion and comparative analysis

Use of research-oriented integration of PDC topics with other courses has attracted a significant amount of research, especially after the NSF/TCPP core curriculum initiative  [22]. The advantages of presented research-oriented teaching of PDC topics in integration with other courses at undergraduate level have been validated using statistical tests and other experimental studies. Based on the results obtained from the experimental study, we answer the research questions stated in the

Threats to validity

Experiments are associated with the potential threats to the validity that may impede the findings of the results. Some of the possible threats to validity are discussed here.

External validity: The experimental study presented in this paper is performed on the data collected while teaching students of an Indian institute. However, a concrete integration plan along with the detailed discussion on the way of integrating different topics has been presented. In addition, an incremental approach for

Conclusions

In this paper, we presented our detailed experiences of integrating PDC topics with the various courses taught to undergraduate students of Computer Science and Engineering. The detailed integration plan, motivation, related works, course structure, evaluation plan, students’ feedback, statistical analysis, and observations were discussed. From the observations and students’ feedback, the success of the presented integration method is reported. From the reported works, it was seen that the

Acknowledgments

This paper is based upon the work done under NSF/TCPP Early Adopter Awards Fall 2014 and Fall 2015. Author is thankful to Dr. S. Prasad (Coordinator, NSF/IEEE–TCPP Curriculum Initiative) for his constant guidance and motivation. Author is also thankful to Dr. M. Misra and Dr. S. Roy for participation in some activities of this project and to Mr. Santosh S. Rathore for helping in this paper. Author is thankful to IIT Roorkee for providing healthy and conducive teaching and research environment.

Sandeep Kumar is currently working as an assistant professor in the Department of Computer Science and Engineering, Indian Institute of Technology (IIT) Roorkee, India. He completed his Ph.D. in 2009. He has supervised one Ph.D. thesis, about thirty master dissertations, about fifteen undergraduate projects, and is currently supervising five Ph.D. students. He has published more than forty five research papers in international/national journals and conferences and has also written

References (25)

  • S. Bogaerts et al.

    Fall ’13, DePauw University: Parallelism early and often

  • D.M. Brandon

    Software Engineering for Modern Web Applications: Methodologies and Technologies

    (2008)
  • Y. Chen, Z. Zhou, Service-oriented computing and software integration in computing curriculum, in: 2014 IEEE...
  • J. Cohen et al.

    Applied Multiple Regression/Correlation Analysis for the Behavioral Sciences

    (2013)
  • A. Danner, T. Newhall, Integrating parallel and distributed computing topics into an undergraduate cs curriculum, in:...
  • D.M. Dimitrov et al.

    Speaking of research Pretest–posttest designs and measurement of change

    Work

    (2003)
  • P. Dugard et al.

    Analysis of pretest–posttest control group designs in educational research

    Educ. Psychol.

    (1995)
  • N. Giacaman, O. Sinnen, EA: Research-infused teaching of parallel programming concepts for undergraduate software...
  • E.M. Gardner

    Which is the correct statistical test to use?

    Br. J. Oral Maxillofac. Surg.

    (2008)
  • S.K. Ghafoor et al.

    Integrating parallel distributed computing topics throughout undergraduate CS curriculum: A work in progress

  • R. Griffiths

    Knowledge production and the research–teaching nexus: The case of the built environment disciplines

    Stud. High. Educ.

    (2004)
  • R. Guha, D. Al-Dabass, Impact of Web 2.0 and Cloud Computing Platform on Software Engineering, in: Proc. of 2010 IEEE...
  • Cited by (0)

    Sandeep Kumar is currently working as an assistant professor in the Department of Computer Science and Engineering, Indian Institute of Technology (IIT) Roorkee, India. He completed his Ph.D. in 2009. He has supervised one Ph.D. thesis, about thirty master dissertations, about fifteen undergraduate projects, and is currently supervising five Ph.D. students. He has published more than forty five research papers in international/national journals and conferences and has also written book/book-chapters with Springer (USA) and IGI Publications (USA). He has also filed two patents for his work done along with his students. Dr. Sandeep is the member of board of examiners and board of studies of various universities and institutions. He has collaborations in industry and academia. He is currently handling multiple national and international research/consultancy projects. He has received NSF/TCPP early adopter award-2014, 2015, ITS Travel Award 2011 and 2013 and others. He is member of IEEE and ACM. His name has also been enlisted in major directories such as Marquis Who’s Who, IBC and others. He is also working in collaboration with industries such as Adobe Research India Labs, and others. His areas of interest include Semantic Web, Web Services, and Software Engineering.

    View full text