9 research outputs found
Making the move from C to Python with mechanical engineering students
Work is underway in the Mechanical Engineering Department at San Jose State University to transition the first course in computer programming (ME 30 Computer Applications) and a follow-on course, ME 106 Fundamentals of Mechatronics, from C to Python. Both courses make extensive use of a microcontroller to teach the fundamentals in both subjects, and heretofore have used the C language and the Arduino platform, but now both courses have moved to Python and to the Adafruit Feather M4 Express board, which can run Python natively on its associated microcontroller. Prior to the transition to Python, ME 30 had a relatively high failure rate between about 10 - 35%. Since transitioning to Python, the failure rate dropped dramatically to about 3% in the fall of 2019. The paper will outline the previous structure of the courses, explain the motivation for transitioning from C to Python, and discuss the pros and cons of the transition observed to date
Curriculum for an Introductory Computer Science Course: Identifying Recommendations from Academia and Industry
The purpose of this study was to define the course content for a university introductory computer science course based on regional needs. Delphi methodology was used to identify the competencies, programming languages, and assessments that academic and industry experts felt most important. Four rounds of surveys were conducted to rate the items in the straw models, to determine the entries deemed most important, and to understand their relative importance according to each group. The groups were then asked to rank the items in each category and attempt to reach consensus as determined by Kendall\u27s coefficient of concordance. The academic experts reached consensus on a list of ranked competencies in the final round and showed a high degree of agreement on lists of ranked programming languages and assessments. The industry experts did not reach consensus and showed low agreement on their recommendations for competencies, programming languages, and assessments
Toward Predicting Success and Failure in CS2: A Mixed-Method Analysis
Factors driving success and failure in CS1 are the subject of much study but
less so for CS2. This paper investigates the transition from CS1 to CS2 in
search of leading indicators of success in CS2. Both CS1 and CS2 at the
University of North Carolina Wilmington (UNCW) are taught in Python with annual
enrollments of 300 and 150 respectively. In this paper, we report on the
following research questions: 1) Are CS1 grades indicators of CS2 grades? 2)
Does a quantitative relationship exist between CS2 course grade and a modified
version of the SCS1 concept inventory? 3) What are the most challenging aspects
of CS2, and how well does CS1 prepare students for CS2 from the student's
perspective? We provide a quantitative analysis of 2300 CS1 and CS2 course
grades from 2013--2019. In Spring 2019, we administered a modified version of
the SCS1 concept inventory to 44 students in the first week of CS2. Further, 69
students completed an exit questionnaire at the conclusion of CS2 to gain
qualitative student feedback on their challenges in CS2 and on how well CS1
prepared them for CS2. We find that 56% of students' grades were lower in CS2
than CS1, 18% improved their grades, and 26% earned the same grade. Of the
changes, 62% were within one grade point. We find a statistically significant
correlation between the modified SCS1 score and CS2 grade points. Students
identify linked lists and class/object concepts among the most challenging.
Student feedback on CS2 challenges and the adequacy of their CS1 preparations
identify possible avenues for improving the CS1-CS2 transition.Comment: The definitive Version of Record was published in 2020 ACM Southeast
Conference (ACMSE 2020), April 2-4, 2020, Tampa, FL, USA. 8 page
Recommended from our members
A recipe for game development assignments in CS2
CS2
classes
suffer
from
a
trend
of
dropping
enrollment,
poor
gender
diversity,
the
challenge
of
students
learning
a
secondary
programming
language,
and
difficulties
related
to
inadequate
(or
varied)
preparation
provided
by
CS1.
Surveying
educational
research
has
indicated
that
using
game
development
as
the
focus
for
assignments
can
mitigate
many
of
the
challenges
of
teaching
CS1.
This
paper
has
extracted
many
of
the
key
beneficial
components
of
game
development
assignments
in
CS1
and
provides
them
as
a
recipe
for
beneficially
augmenting
CS2
with
game
development
assignments.
It
is
expected
that
all
CS2
courses
can
be
enhanced
by
applying
the
elements
presented
within
this
recipe
First Programming Language for Humanities Majors-A Comparison of Java and Swift
While Java, C family, and Python are the top three languages used in introductory programming courses in higher education, Swift is seldom used. This study considers whether the Swift language can be used as a first language for introductory programming for humanities majors. Learning programming is important for students regardless of major to foster computational thinking and utilize programming for their study. Our department conducted two courses to learn programming in Java and Swift for the creation of digital contents and media studies. This paper presents the contents of both courses, results of examinations, and students’ self-reflections. The result indicates that students can learn the basic programming concepts in Swift in the same way as in Java, but the effect of the Swift course for the GUI and OO parts was inferior to that of the Java course. The finding from students’ self-reflections concerning programming shows that students perceived that their confidence was enhanced in both the Swift and the Java courses.論
Defining the Competencies, Programming Languages, and Assessments for an Introductory Computer Science Course
The purpose of this study was to define the competencies, programming languages, and assessments for an introductory computer science course at a small private liberal arts university. Three research questions were addressed that involved identifying the competencies, programming languages, and assessments that academic and industry experts in California’s Central Valley felt most important and appropriate for an introduction to computer science course.
The Delphi methodology was used to collect data from the two groups of experts with various backgrounds related to computing. The goal was to find consensus among the individual groups to best define aspects that would best comprise an introductory CS0 course for majors and non-majors. The output would be valuable information to be considered by curriculum designers who are developing a new program in software engineering at the institution. The process outlined would also be useful to curriculum designers in other fields and geographic regions who attempt to address their local education needs.
Four rounds of surveys were conducted. The groups of experts were combined in the first round to rate the items in the straw models determined from the literature and add additional components when necessary. The academic and industry groupings were separated for the remainder of the study so that a curriculum designer could determine not only the items deemed most important, but also their relative importance among the two distinct groups. The experts selected items in each of the three categories in the second round to reduce the possibilities for subsequent rounds. The groups were then asked to rank the items in each of the three categories for the third round. A fourth round was held as consensus was not reached by either of the groups for any of the categories as determined by Kendall’s W. The academic experts reached consensus on a list of ranked competencies in the final round and showed a high degree of agreement on lists of ranked programming languages and assessments. Kendall’s W, values, however, were just short of the required 0.7 threshold for consensus on these final two items. The industry experts did not reach consensus and showed low agreement on their recommendations for competencies, programming languages, and assessments
Development and Application of a Rasch Model Measure of Student Competency in University Introductory Computer Programming
University computer programming instruction nomenclature commonly uses the term Computer Science 1 (CS1) to describe introductory units of study. Success in CS1 is important as a pre-requisite for further study in programming and related disciplines. It is important to measure student progress and the antecedent influences. This study applied the Rasch Model and Messick’s Unified Theory of Validity to construct an interval level measure of CS1 competency with demonstrable suitability for this purpose