Year after year, computing systems continue to grow in complexity at an exponential rate. While this can have far-ranging positive impacts on society, it has become extremely difficult to ensure the security of these systems in the field. Hardware security - in conjunction with more traditional cybersecurity topics like software and network security - is critical for designing secure systems. Moving forward, hardware security education must ensure the next generation of engineers have the knowledge and tools to address this growing challenge. A good foundation in hardware security draws on concepts from several different fields, including fundamental hardware design principles, signal processing and statistics, and even machine learning for modeling complex physical processes. It can be difficult to convey the material in a manageable way, even to advanced undergraduate students. In this paper, we describe how we have leveraged Python, and its rich ecosystem of open-source libraries, and scaffolding with Jupyter notebooks, to bridge the gap between theory and implementation of hardware security topics, helping students learn through experience.
more »
« less
PyRTL in Early Undergraduate Research
Undergraduate research experiences are a promising way to broaden participation in computer architecture research and have been shown to improve student learning, engagement, and retention. These outcomes can be more profound and lasting if students experience research early. However, there are many barriers to early research in computer architecture some of which include the gap between pedagogy and research, the lower emphasis on hardware design compared to software in first-year courses, and the lack of online resources. We propose lowering these barriers through a methodical approach by involving undergraduates in early research and by creating freely available and innovative educational tools for designing hardware.
We present the experience of a team of undergraduate students with research over one academic year using a Python hardware description language, PyRTL. PyRTL was developed to enable early entry into digital design. Its overarching goals are simplicity, usabil- ity, clarity, and extensibility, a stark contrast to traditional languages like Verilog and VHDL that have a steep learning curve. Instead of introducing traditional languages early in the undergraduate curriculum, PyRTL takes the opposite approach, which is to build on what students already know well: a popular programming language (Python), software design patterns, and software engineering principles. The students conducted their research in the context of the Early Research Scholars Program (ERSP), a program designed to expand access to research among women and underrepresented minority students in their second year through a well-designed support structure.
more »
« less
- PAR ID:
- 10114090
- Date Published:
- Journal Name:
- Workshop on Computer Architecture Education (WCAE’19)
- Page Range / eLocation ID:
- 1 to 8
- Format(s):
- Medium: X
- Sponsoring Org:
- National Science Foundation
More Like this
-
-
null (Ed.)In this paper we present an overview of the Early Research Scholars Program (ERSP), an NSF-sponsored research program (Division of Undergraduate Education) with the following objectives: 1. To excite participants through early exposure to computing research and the challenges facing computing researchers today. 2. To teach participants the fundamental skills involved in conducting research. 3. To create a diverse and supportive community within their department, with a particular focus on engaging students from groups currently underrepresented in computer science including women, African Americans, Latinxs, Native Americans and indigenous peoples. ERSP was first piloted at the U. of California San Diego, and has since broadened to include UCSB, UIC, and Stanford. Focusing on CS and ECE students early in their undergraduate career, we pair teams of undergraduate students with graduate student and faculty mentors for a year-long research experience. The data suggests this year-long experience improves student outcomes, including retention and a sense of belonging (in both the academic and research communities). We believe the ERSP model can be easily replicated at other institutions, with minimal investment from the host department.more » « less
-
null (Ed.)The design of computing systems has changed dramatically over the past decade, but most courses in advanced computer architecture remain unchanged. Computer architecture education lies at the intersection between computer science and electrical engineering, with practical exercises in classes based on appropriate levels of abstraction in the computing system design stack. Hardware-centric lab exercises often require broad infrastructure resources and tend to navigate around tedious practical implementation concepts, while software-centric exercises leave a gap between modeling and system implementation implications that students later need to overcome in professional settings. Vertical integration trends in domain-specific compute systems, as well as software-hardware co-design, are often covered in classroom lectures, but are not reflected in laboratory exercises due to complex tooling and simulation infrastructure. We describe our experiences with a joint hardware-software approach to exploring computer architecture concepts in class exercises, by using opensource processor hardware implementations, generator-based hardware design methodologies, and cloud-hosted FPGAs. This approach further enables scaling course enrollment, remote learning and a cross-class collaborative lab ecosystem, creating a connecting thread between computer science and electrical engineering experience-based curricula.more » « less
-
A recent Research Experience for Undergraduates (REU) program immersed undergraduate engineering and computer science students in research at the intersection of engineering and communicative disorders. In this first iteration, 9 students participated in research to support populations impacted by communication, voice, swallowing, and hearing disorders. Other features included clinical shadowing, mentoring by faculty from engineering/computer science, speech-language pathology, and audiology to provide technical and clinical perspectives. The REU experience culminated with presentation of the REU students’ research at a local speech- language pathology conference. Based on focus group feedback about the program, the participants experienced high levels of satisfaction with the end-of-program conference presentations but lower levels of satisfaction with mentoring. Our aim for following years is to improve the mentor training and shadowing integration to enhance the experience for REU students in future iterations.more » « less
-
Electronic devices have become indispensable in everyone’s life and so the computer hardware industry is demanding skilled professionals to design and physically implement devices to satisfy the market. However, misconceptions surrounding manufacturing jobs and the increasing initiatives to motivate students with engineering majors to focus on software-related topics such as artificial intelligence and blockchain are hindering students’ interest in hardware computing. Our project, funded by the NSF’s Improving Undergraduate STEM Education (IUSE) program, addresses the need to engage more students in explorations (and, eventually, design) of computer hardware by developing a set of games played on an easy-to-use hardware platform to understand and implement the fundamental concepts that are essential to modern computing systems (Figure 1). To encourage flexible and broad adoption, the games are conceived as standalone units within a curriculum design that leverages equitable pedagogical practices, experiential learning, and inquiry-based learning to cultivate engineering identity and persistence using situational interest and self-efficacy theories. We aim to offer the curriculum as an elective undergraduate course for all engineering majors at two US institutions and also research and evaluate the feasibility of implementing it as a summer program with high school students. Each module in the curriculum is divided into 5 phases: activation of prior knowledge, mini-lesson, gameplay, student-led work time, and debriefing. The games support collaboration rather than competition, and each lesson is tagged with equity spotlights, including Universal Design for Learning (UDL) and Culturally Sustaining Pedagogies (CSP) principles. Finally, informed by the Technological Pedagogical Content Knowledge (TPACK) framework, each lesson includes a teacher implementation guide and teacher educative materials to facilitate implementation (Figure 2). We have tested the first two games in the curriculum for usability and feasibility with a group of high school students. The topics of these games include binary arithmetic and Boolean logic gates. Participants were challenged to solve tasks using the hardware tools at their disposal. This usability and feasibility testing study provided us with important design and implementation implications.more » « less