Learning to program involves acquisition of various skills including problem solving, fundamental design techniques as well as critical thinking. Generally, most of the novice programmers struggle to develop all these important skill. The research community has addressed the problem in many different ways while involving improvisations in curriculum, pedagogical methods, cognitive aspects, supporting tools, and in designing assessments. This research aims to analyze and synthesize the existing literature in the aforementioned areas. Research articles pertaining to the area of Introductory Programming Courses (IPC) have been found using appropriate search queries, while nearly 60 research articles, published in last ten years, have been carefully selected by employing a systematic filtering process. The scope of this work only covers the research conducted for IPC in higher education. Main findings of this study show that "solution proposal" and "evaluation research" have been reported as two main research types adopted by these studies. Moreover, pedagogy, language choice and students' performance analysis are the most frequently addressed aspects of IPC; whereas, curriculum contents, assessment design, and teaching/learning through tools have appeared as less addressed aspects of IPC. Furthermore, a taxonomy of IPC has been presented based on the studied literature. Lastly, general considerations and future research directions have been presented for the practitioners and researchers in this area.
Cloud computing has become a very important computing model to process data and execute computationally concentrated applications in pay-per-use method. Resource allocation is a process in which the resources are allocated to consumers by cloud providers based on their flexible requirements. As the data is expanding every day, allocating resources efficiently according to the consumer demand has also become very important, keeping Service Level Agreement (SLA) between service providers and consumers in prospect. This task of resource allocation becomes more challenging due to finite available resources and increasing consumer demands. Therefore, many unique models and techniques have been proposed to allocate resources efficiently. In the light of the uniqueness of the models and techniques, the main aim of the resource allocation is to limit the overhead/expenses associated with it. This research aims to present a comprehensive, structured literature review on different aspects of resource allocation in cloud computing, including strategic, target resources, optimization, scheduling and power. More than 50 articles, between year 2007 and 2019, related to resource allocation in cloud computing have been shortlisted through a structured mechanism and they are reviewed under clearly defined objectives. It presents a topical taxonomy of resource allocation dimensions, and articles under each category are discussed and analysed. Lastly, salient future directions in this area are discussed.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.