20230619
如果链接失效,请提一个issue.
If any of the links failed, please submit an issue.
延迟发布
由于时间问题,先把所选的模块放在这里,之后再撰写详细介绍。
One Course 一门课
Stanford CS298/EDUC298: Seminar on Teaching Introductory Computer Science
https://web.stanford.edu/class/cs298/
One Assignment 一项作业
https://rcore-os.cn/rCore-Tutorial-Book-v3/index.html
One Paper 一篇论文
Ke Zhang, Yisong Chang, Mingyu Chen, Yungang Bao, and Zhiwei Xu. 2019. Computer Organization and Design Course with FPGA Cloud. In Proceedings of the 50th ACM Technical Symposium on Computer Science Education (SIGCSE '19).
Read the Abstract 阅读摘要
Computer Organization and Design (COD) is a fundamentally required early-stage undergraduate course in most computer science and engineering curricula. During the two sessions (lecture and project part) of one COD course, educational platforms play an important role in cultivating students' computational thinking, especially the ability of viewing the hardware and software in a computer system as a whole (computer system thinking ability for short in this paper). In order to improve teaching quality, in this paper, we discuss the deployment of an inexpensive in-house Field Programmable Gate Array (FPGA) cloud platform, which can provide students with hardware-software co-design methodology and practice. The platform includes 32 FPGA nodes and the scale can be dynamically changed. Each cloud node is heterogeneously composed of an ARM processor and a tightly-coupled reconfigurable fabric to provide students with hands-on hardware and software programming experiences. We illustrate our efforts to make the FPGA cloud as an easy-to-use resource pool to elastically support a class with 92 undergrads via Internet access and to monitor students' experimental behaviors. We also present key insights in our teaching activities that indicate such appliance is feasible to provide practice of both basic principles and emerging co-design techniques for students. We believe that our cost-effective FPGA cloud is of significant interests to educators looking forward to improving computer system-related courses.