skip to main content
US FlagAn official website of the United States government
dot gov icon
Official websites use .gov
A .gov website belongs to an official government organization in the United States.
https lock icon
Secure .gov websites use HTTPS
A lock ( lock ) or https:// means you've safely connected to the .gov website. Share sensitive information only on official, secure websites.


Title: WIP: Updating CS1 to a 21st-Century Model of Computing
This work in progress innovative practice paper documents ways in which current introductory computing courses are designed for an earlier generation of computers. We describe our plans for updating these courses for modern systems and programming practices and share details of the development of exemplar courses that will be adoptable by diverse institutions and programs teaching introductory programming courses.  more » « less
Award ID(s):
2321017
PAR ID:
10630285
Author(s) / Creator(s):
; ; ; ; ;
Publisher / Repository:
IEEE
Date Published:
ISSN:
2377-634X
ISBN:
979-8-3503-5150-7
Page Range / eLocation ID:
1 to 5
Format(s):
Medium: X
Location:
Washington, DC, USA
Sponsoring Org:
National Science Foundation
More Like this
  1. null (Ed.)
    A recent study about the effectiveness of subgoal labeling in an introductory computer science programming course both supported previous research and produced some puzzling results. In this study, we replicate the experiment with a different student population to determine if the results are repeatable. We also gave the experimental task to students in a follow-on course to explore if they had indeed mastered the programming concept. We found that the previous puzzling results were repeated. In addition, for the novice programmers, we found a statistically significant difference in performance based on whether the student had previous programming courses in high school. However, this performance difference disappears in a follow-on course after all students have taken an introductory computer science programming course. The results of this study have implications for how quickly students are evaluated for mastery of knowledge and how we group students in introductory programming courses. 
    more » « less
  2. Gate-keeping courses provide students with their first and formal exposure to a deep understanding of science. Such courses influence students' decision to pursue STEM education and continue their college experience. Our records indicate that the many STEM students perform poorly or marginally in the introductory required courses and decide to change their major to non-STEM degree programs. One way to address this is using active learning techniques. The objective of this paper is to describe our experiences with the use of few of the active learning techniques in introductory computer programming courses offered in our Computer Science Program. One of these programming courses are required of all computer science majors and other course is usually taken by engineering, technology and science majors. The findings presented in this paper may be used by interested parties involved in STEM curriculum. 
    more » « less
  3. Nowadays, cyberattack incidents are happening on a daily basis. As a result, the demand for a larger and more challenging workforce is increasing. To handle this demand, academic institutions offer cybersecurity courses and degree programs into their curricula; however, more efforts are needed to address the high demand of the cybersecurity workforce. This work aims to bridge the gap between workforce shortage and the number of qualified graduates to fill the positions. We approach this by introducing cybersecurity concepts at the early stage of undergraduate curricula of computer science and engineering programs. Secure programming is critical as many cybersecurity incidents happen due to software vulnerabilities. However, most UG-level programming courses pay little attention to secure programming practices. As a result, many students graduate with limited knowledge of security vulnerabilities that might plague the developed software. Our goal in this work is to introduce secure programming at introductory level programming courses so that students should be aware of cybersecurity issues and use this security mindset in advanced level courses and projects in their degree programs. To accomplish this goal, we developed intuitive and interactive modules emphasizing secure programming in C++ and Java courses to help students become secure software developers. These modules will be used alongside the coursework to emphasize certain vulnerabilities within the programming environment of a specific language and allow students to learn cybersecurity topics, enforcing a solid foundation and understanding. We developed cybersecurity educational modules for C++ and Java as they are amongst the popular languages and used in introductory programming courses. While designing these modules, we kept in mind that the topics must be relevant to real-world issues in the software industry. We used a variety of resources and benchmarks to ensure the authenticity of our chosen topics, including Common Weakness Enumeration (CWE) and Common Vulnerability and Exposures (CVE). While choosing module topics to develop, we had some restrictions. For example, the topics must be introductory and easy to understand. These modules are geared towards freshman or sophomore-level UG students who have just started programming. The developed security modules have four components: power-point slides, lab description, code template for the lab, and complete solution. The complete solution for each module will be provided to the instructors to check students’ work if they adopt the modules in their courses. The modules developed for a C++ programming course include labs on input validation, integer overflow, random number generation, function call with incorrect argument type, and dangling pointers. In Java, we developed lab modules for input validation, integer overflow, null object reference, random number generator, and data encapsulation. 
    more » « less
  4. Carmo, M. (Ed.)
    To succeed in the 21stcentury, students need to acquire skills that are critical to the workforce such as collaboration, social skills, and technology literacy (World Economic Forum, 2016). Individuals with disabilities (D) must develop the same skills as their peers without disabilities. Unfortunately, college students with disabilities often find computing courses frustrating and are more vulnerable to lower academic self-concept, academic challenges, and disability stigma (Kim & Kutscher, 2021). Although computing disciplines often provide good job opportunities, Students with D who enrolled in computing courses are especially at risk of falling behind and dropping out of introductory programming courses (Richman et al., 2014). To address the problem, we examined the use of pair programming, a collaborative approach to programming, as a pedagogic method to improve students with disabilities’ attitudes toward programming in undergraduate computer courses. There is a need to study effective instructional approaches that can facilitate learning and improve the outcomes of students with D. 
    more » « less
  5. Background and Context. Prior experience (PE) has been shown to be related to computing students' performance, persistence, and help-seeking behavior. However, most works studied prior programming experience in introductory programming (CS1) courses, while other forms of PE in other contexts are underexplored. Objectives. We seek to study the relationship between all kinds of relevant PE and help-seeking behavior in course-affiliated resources within and beyond the typical CS1 context. Method. We analyzed N=2,625 students' self-reported PE and course-affiliated help-seeking records, originating from 19 offerings of six courses at a post-secondary US institution. Four of the six courses are non-programming or non-introductory courses. Findings. We found pronounced negative relations between PE and students' frequency of seeking one-on-one student-staff interactions, as well as positive relations between PE and students' self-reported progress from these interactions. When multiple forms of PE are tracked, the PE that is more aligned with the course activities has a more pronounced effect. We found little relation between PE and students' behavior in class discussion forums. Implications. Our results highlight that (1) the relationship between PE and help-seeking extends beyond the CS1 context; and (2) this relationship differs between help resources and between course contexts. This motivates providing resource-specific and course-specific training on helping different student populations. 
    more » « less