In this era of smart devices, new technologies, gadgets, apps, and numerous systems and services available over online, teaching an introductory programming course by traditional lecture method faces challenges to dra...
详细信息
ISBN:
(纸本)9781728175201
In this era of smart devices, new technologies, gadgets, apps, and numerous systems and services available over online, teaching an introductory programming course by traditional lecture method faces challenges to draw student's attention;especially in their freshman year. In this work, we discuss our experience in teaching an introductory CS course by infusing both interactive and collaborative learning in pedagogy so that students can learn using interactive platforms, tools, technologies, systems, and services as available to them and collaboration within and among groups. For interactive learning, students used an interactive programming environment (e.g. *** classroom) as well as online eBooks. We designed several in-class exercises, assignments, small lab-based projects with example codes and expected outputs, and unit tests by using built-in unit tests library. We also, in the middle of semester, introduced collaborative learning through teamwork on well-defined projects during the learning time and submitted at the end. The collaborations include use of basic task management tools and multi-player tool of *** that the students can critic, supplement, improve peer works and learn. To evaluate the impact of this infusion, a pre- and post-survey were conducted on student cohort in two different semesters. The initial evaluation of the survey results and performances (final project and final grades) show evidence to conclude that the proposed pedagogical approach increased student motivation and engagement and facilitated learning to entry-level computerscience students.
Over the last decade, Data science has emerged as one of the most important subjects that has had a major impact on industry. This is due to the continual development of scientific methods, algorithms, processes, and ...
详细信息
Over the last decade, Data science has emerged as one of the most important subjects that has had a major impact on industry. This is due to the continual development of scientific methods, algorithms, processes, and computational tools that help to extract knowledge from raw data efficiently and cost-effectively, compared with early-generation tools. Professional data scientists create code that processes, analyses and extracts actionable insights from high volumes of data. This process requires a deep understanding of mathematical principles, statistics, business knowledge, and computerscience. But most importantly, the data science development chain requires knowledge of a high-level programming tool and its dependencies. This is a major problem in some aspects due to the steep learning curve. In this paper, we describe and present a modularized Data science curriculum for undergraduate learners that relies on no-code software development tools as programming aids for non-computerscience majors. No-code development tools have been added to the traditional teaching pedagogy to improve students' motivation and conceptual understanding of coding despite their limited programming skills. The study aims to assess the impacts of visual programming languages on the performance of non-computerscience majors on programming problems. The study's sample consists of 50 fourth-year students from the Faculty of science and Technology at the Midlands State University. A post-survey questionnaire and assessment items were administered to the control and experimental groups. Results show that the students drawn from the experimental group benefited from the use of a visual programming language. These results offer evidence-based recommendations for incorporating high-performance no-code software development tools in the formal curriculum to aid teaching and learning data scienceprogramming for students of diverse academic backgrounds.
This paper describes experiences in teaching Python programming as part of a large-enrolment first-year subject, that is a foundation for an undergraduate major in data science and it is also taken by a wide variety o...
详细信息
ISBN:
(纸本)9781450392013
This paper describes experiences in teaching Python programming as part of a large-enrolment first-year subject, that is a foundation for an undergraduate major in data science and it is also taken by a wide variety of non-majors across the arts, sciences and business fields. The paper focuses on some central design decisions about the content, sequence, approach, and tool support, and we reflect on how they have worked out and what we changed, as we have taught the subject to about 2500 students over four offerings (including two which were entirely on-line due to the pandemic). Particular aspects that are the focus in this paper include: teaching programming through a sequence of common patterns/idioms for data exploration and analysis, rather than in the language-feature focus that is traditional in programming classes;read-then-write-until-correct presentation for each pattern;explicit presentation of a notional machine for execution, in stages as more language complexity is experienced;starting with core Python before then covering use of libraries such as pandas, matplotlib and scikit-learn.
RWTH Aachen University in Germany offers a bridge course that introduces students of a variety of study programs to the basics of imperative programming. Due to the high number of students and limited availability of ...
详细信息
ISBN:
(纸本)9781665455381
RWTH Aachen University in Germany offers a bridge course that introduces students of a variety of study programs to the basics of imperative programming. Due to the high number of students and limited availability of tutors, it is hard to provide instant individual feedback to all students, to notice how difficult the tasks are for the students, and to reliably monitor their progression during the course. This motivated us to use an Automatic Program Assessment System (APAS) to provide instant formative feedback to students and to systematically assess the course’s tasks. In this paper, we present our study in which we investigated (1) if the use of our APAS influences the students’ perceived difficulty of the programming tasks, (2) whether the use of our APAS increases the students’ progression speed, and (3) if the number of automated assessments triggered by the students can serve as an indicator of a task’s perceived difficulty. The results did not allow us to identify any meaningful differences between the study and control group with regards to the perceived difficulty and the progression speed. We found that the number of automated assessments can serve as a rough indicator for the task’s perceived difficulty. We also found initial indication that the use of the automated assessment helps to ensure that the students complete the tasks in full and as intended by the teachers and might improve code quality. This needs to be further investigated in future work.
computer-supported, robot-assisted collaborative programming (CSRACP) is a computer-supported collaborative learning (CSCL) mode used in programming education. CSRACP allows students to work in groups with the support...
详细信息
computer-supported, robot-assisted collaborative programming (CSRACP) is a computer-supported collaborative learning (CSCL) mode used in programming education. CSRACP allows students to work in groups with the support of robots to achieve programming functions and complete complex tasks. This research applied multimodal learning analytics (MMLA) to examine the effects of three pedagogical scaffoldings (i.e., conceptual, task-oriented, and meta-cognitive scaffolding) on student pairs' CSRACP activities in higher education. The results revealed that students under conceptual scaffolding had the low-level cognitive engagement, task-oriented regulation, and low-level socio-emotional expression, with the lowest programming task score;students under task-oriented scaffolding had the operation-driven cognitive engagement, observation-oriented regulation, and low-level socio-emotional expression, with the highest programming task score;and students under meta-cognitive scaffolding had the communication-driven cognitive engagement, exploration-oriented regulation and high-level socio-emotional expression, with the medium programming task score. Based on these findings, pedagogical and analytical implications were proposed to promote CSRACP in higher education.
Unified programming models can effectively improve program portability on various heterogeneous high-performance *** unified programming models put a lot of effort to code portability but are still far from achieving ...
详细信息
Unified programming models can effectively improve program portability on various heterogeneous high-performance *** unified programming models put a lot of effort to code portability but are still far from achieving good performance *** this paper,we present a preliminary design of a performance-portable unified programming model including four aspects:programming language,programming abstraction,compilation optimization,and scheduling ***,domain-specific languages introduce domain knowledge to decouple the optimizations for different applications and *** unified programming abstraction unifies the common features of different architectures to support common ***-level compilation optimization enables comprehensive performance optimization based on multi-level intermediate ***-aware lightweight runtime scheduling system improves the resource utilization of heterogeneous *** is a perspective paper to show our viewpoints on programming models for emerging heterogeneous systems.
Less than twenty years after computerscience was able to establish itself as an academic discipline, a group of US computer scientists organized a conference on the history of programming languages. The conference is...
详细信息
Less than twenty years after computerscience was able to establish itself as an academic discipline, a group of US computer scientists organized a conference on the history of programming languages. The conference is distinguished from other self-historicization projects by the organizer's claim to present an "accurate" account of their own discipline's history. However, the actors encountered challenges in terms of how to present their own history "objectively." How to deal with incomplete memories? How to avoid putting others in a bad light? There was far from agreement on these points and heated discussions ensued. Strategies had to be developed and compromises made to make the project a reality. The conference was intended to contribute to the history of computerscience and the organizers sought exchange with professional historians. However, the project met with little interest among them. Rather, the discussion between the computer scientists and the historians shows how the history of science also struggled with questions of how to deal suitably with the past. In this respect, the computer Scientists' Conference not only illuminates the history of computerscience, but also offers a new perspective on the history of the history of science.
Parallel patterns, views, and spaces are promising abstractions to capture the programmer's intent as well as the contextual information that can be used by an underlying runtime to efficiently map software to par...
详细信息
ISBN:
(纸本)9780738143057
Parallel patterns, views, and spaces are promising abstractions to capture the programmer's intent as well as the contextual information that can be used by an underlying runtime to efficiently map software to parallel hardware. These abstractions can be valuable in cases where an algorithm must accommodate requirements of code and performance portability across hardware architectures and vendor programming models. Kokkos is a parallel programming model for host- and accelerator architectures that relies on these abstractions and targets these requirements. It consists of a pure C++ interface, a specification, and a programming library. The programming library exposes patterns and types and maps them to an underlying abstract machine model. The abstract machine model offers a generic view of parallel hardware. While Kokkos is gaining popularity in large-scale HPC applications at some DOE laboratories, we believe that the implemented concepts are of interest to a broader audience including academia as they may contribute to a generic, vendor, and architecture-independent education of parallel programming. In this work, we give an insight into the design considerations of this programming model and list important abstractions. Further, we document best practices obtained from giving virtual classes on Kokkos and give pointers to resources that the reader may consider valuable for a lecture on generic parallel programming for students with preexisting knowledge on this matter.
This paper investigates how high school students in an introductory computerscience (CS) course approach computing in the logic programming (LP) paradigm. This qualitative study shows how novice students operate with...
详细信息
This paper investigates how high school students in an introductory computerscience (CS) course approach computing in the logic programming (LP) paradigm. This qualitative study shows how novice students operate within the LP paradigm while engaging in foundational computing concepts and skills: students are engaged in a cyclical process of abstraction, reasoning, and creating representations of their ideas in code while also being informed by the (procedural) requirements and the revision/debugging process. As these computing concepts and skills are also expected in traditional approaches to introductory K-12 CS courses, this paper asserts that LP is a viable paradigm choice for high school novices.
暂无评论