Reactive programming is a programming paradigm whereby programs are internally represented by a dependency graph, which is used to automatically (re)compute parts of a program whenever its input changes. In practice r...
详细信息
Even the simple task of returning data from functions becomes tricky, if the data to share becomes complex, or if the programmer has to cleanup the memory by himself or herself in case the programming language has no ...
详细信息
ISBN:
(纸本)9781450362061
Even the simple task of returning data from functions becomes tricky, if the data to share becomes complex, or if the programmer has to cleanup the memory by himself or herself in case the programming language has no support in form of destructors or garbage collectors. To address this topic, this paper provides best practices in form of design patterns on the topic of returning data and provides C code examples.
the proceedings contain 11 papers. the topics discussed include: gamification in software engineering education through visual novels;teaching cooperative problem solving;totally different and yet so alike - three con...
ISBN:
(纸本)9781450377522
the proceedings contain 11 papers. the topics discussed include: gamification in software engineering education through visual novels;teaching cooperative problem solving;totally different and yet so alike - three concepts to use scrum in higher education;motivating adult learners by introducing programming concepts with scratch;software engineering education of classical computing vs. quantum computing - a competency-centric approach;MuLE - a multi-paradigm language for education. the object-oriented part of the language;deliberate practice in programming - how is it carried out by programmer;CodeTripping - towards mastering app development using a web-based learning tool. A case study;tool-aided assessment of difficulties in learning formal design-by-contract;and towards the automation of grading textual student submissions to open-ended questions.
there are many things one can do wrong when using the C preprocessor's #ifdef statements. Such statements are often used to distinguish between hardware variants or operating system variants in the C code and when...
详细信息
ISBN:
(纸本)9781450362061
there are many things one can do wrong when using the C preprocessor's #ifdef statements. Such statements are often used to distinguish between hardware variants or operating system variants in the C code and when not used carefully, the C code easily becomes a mess of #ifdef cascades. this paper addresses this issue and provides best practices in form of patterns on how to organize variants in C code and on how to get rid of #ifdef statements.
Multiparty Session Types (MPST) is a typing discipline for communication protocols. It ensures the absence of communication errors and deadlocks for well-typed communicating processes. the state-of-the-art implementat...
详细信息
programming comprises a multitude of involved skills and abilities. To assess these, an even larger multitude of tasks exists, ranging from very complex to basal levels. Recent demands call for the assessment of basal...
详细信息
ISBN:
(纸本)9781450363013
programming comprises a multitude of involved skills and abilities. To assess these, an even larger multitude of tasks exists, ranging from very complex to basal levels. Recent demands call for the assessment of basal skills, withthe aim to figure out possible problems of learners more precisely. In order to read and interpret source code sufficiently, students must be able to recognize given concepts in a source code, e.g. to identify the objects and methods in an object-oriented program. Whether this skill relies solely on conceptual knowledge and the abilities in handling syntax is still unclear. this study gives evidence that isolated skills in these areas are outperformed by the interaction of both areas. We developed a test consisting of conceptual questions, fill-in-the-Java-keyword items and highlighting items. We investigated whether the knowledge about object orientation and the skills in handling Java syntax sufficiently predict the ability to recognize concepts in Java source code via a multiple linear regression. We found that the model with interaction term explains the data better compared to the null model, the isolated predictors or combined predictors without interaction term. this leads to the conclusion that even though programming consists of skills in certainly different areas, it is more important to interconnect these areas with each other than to teach them in an isolated manner.
the proceedings contain 3 papers. the topics discussed include: Peace COrP: learning to solve conflicts between contexts;the declarative nature of implicit layer activation;and push-based reactive layer activation in ...
ISBN:
(纸本)9781450349710
the proceedings contain 3 papers. the topics discussed include: Peace COrP: learning to solve conflicts between contexts;the declarative nature of implicit layer activation;and push-based reactive layer activation in context-orientedprogramming.
Pair programming (PP) has a long history both in the software industry and education. More recently, specially designed environments have made the application of Distributed Pair programming (DPP) possible, which enab...
详细信息
ISBN:
(纸本)9781912764419
Pair programming (PP) has a long history both in the software industry and education. More recently, specially designed environments have made the application of Distributed Pair programming (DPP) possible, which enables two programmers to work remotely. through these collaborative activities, students produce better programs, improve their performance and programming skills, and increase their self-confidence. Student attitudes towards Distributed Pair programming and the factors that affect them, remain largely unexplored, while some of the existing studies have yielded mixed results. One important aspect is to understand the underlying factors that contribute to a successful pairing formation, i.e., factors that make pairs very compatible. this paper focuses on the examination of possible factors which we felt had the potential to affect the compatibility of student pairs who worked remotely. the present study was conducted in the context of a 3rd semester undergraduate "object-orientedprogramming" course. the OOP concepts were approached through hands-on exercises completed in the lab sessions. Students carried out projects in pairs using the educational DPP system SCEPPSys. the analyzed data were collected from a pre and post questionnaire distributed to students before and after the end of the course, respectively. Pair Compatibility was examined in relation to pair perceived skill level, pair actual skill level, and pair programming self-esteem. Besides this, we examined if students' perceptions on the factors they believe hinder collaboration differ on the basis of their compatibility. the findings indicated that the compatibility rating differed significantly based on the partner's perceived technical competence. Also, students that rated their partners as very compatible had more similar actual skill level withtheir partners than those students who rated their partners as notcompatible or satisfactorily compatible. We did not find any relationship betwee
the proceedings contain 74 papers. the topics discussed include: seer: leveraging big data to navigate the complexity of performance debugging in cloud microservices;a framework for memory oversubscription management ...
ISBN:
(纸本)9781450362405
the proceedings contain 74 papers. the topics discussed include: seer: leveraging big data to navigate the complexity of performance debugging in cloud microservices;a framework for memory oversubscription management in graphics processing units;swizzle inventor: data movement synthesis for GPU kernels;scalable processing of contemporary semi-structured data on commodity parallel processors - a compilation-based approach;X-containers: breaking down barriers to improve performance and isolation of cloud-native containers;buffets: an efficient and composable storage idiom for explicit decoupled data orchestration;puddle: a dynamic, error-correcting, full-stack microfluidics platform;intelligence beyond the edge: inference on intermittent embedded systems;and compress objects, not cache lines: an object-based compressed memory hierarchy.
this paper discusses the opportunity of Functional programming for making students aware about data dependencies and their implications when using parallel and distributed computing infrastructures. Although other pro...
详细信息
ISBN:
(纸本)9781538695067
this paper discusses the opportunity of Functional programming for making students aware about data dependencies and their implications when using parallel and distributed computing infrastructures. Although other programming methodologies, such as objectorientedprogramming (OOP) are usually preferred to he taught at computer science degrees, the problem is that the sequential programming approach is inherent to the model, and once students have entered the framework, it is not easy for them to learn modern parallel programming models. thus, the methodology learned may act as a straitjacket, preventing students from taking advantage of the parallel architectures widely available. the idea presented here relies on choosing Functional programming as the methodology to be learned first. Moreover, when any selected language that embodies the functional model is shown to students, we propose to forbid loops, similarly as how go-to sentences are classically forbidden in high level programming languages, or global variables are forbidden to avoid side effects. Students must thus resort instead to recursive functions if data dependencies are present and a sequential order of operations is required, or to map functions when no dependencies exist. this way, students naturally develop the skill to automatically write parallel code within the functional programming context, and then the map/reduce model can be easily exploited in any context when parallel and distributed infrastructures are available. We describe preliminary results obtained when the model has been successfully tested with a group of middle school students.
暂无评论