A Project-Based Course on Software Development for (Engineering) Research

被引:1
|
作者
Niemeyer, Kyle E. [1 ]
机构
[1] Oregon State Univ, Corvallis, OR 97331 USA
来源
关键词
Research software; Teaching software development; Software best practices;
D O I
10.1007/978-3-030-22750-0_32
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
This paper describes the motivation and design of a 10-week graduate course that teaches practices for developing research software; although offered by an engineering program, the content applies broadly to any field of scientific research where software may be developed. Topics taught in the course include local and remote version control, licensing and copyright, structuring Python modules, testing and test coverage, continuous integration, packaging and distribution, open science, software citation, and reproducibility basics, among others. Lectures are supplemented by in-class activities and discussions, and all course material is shared openly via GitHub. Coursework is heavily based on a single, term-long project where students individually develop a software package targeted at their own research topic; all contributions must be submitted as pull requests and reviewed/merged by other students. The course was initially offered in Spring 2018 with 17 students enrolled, and will be taught again in Spring 2019.
引用
收藏
页码:401 / 407
页数:7
相关论文
共 50 条
  • [1] Cognitive aspects in a project-based course in software engineering
    Dulipovici, M
    Robillard, PN
    [J]. ITHET 2004: PROCEEDINGS OF THE FIFTH INTERNATIONAL CONFERENCE ON INFORMATION TECHNOLOGY BASED HIGHER EDUCATION AND TRAINING, 2004, : 353 - 359
  • [2] Self-grading in a project-based software engineering course
    Ellis, HJC
    Mitchell, R
    [J]. 17TH CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING, PROCEEDINGS, 2004, : 138 - 143
  • [3] THE SIMULATED WORKING ENVIRONMENT IN A PROJECT-BASED SOFTWARE ENGINEERING COURSE
    ROBILLARD, PN
    LEBLANC, D
    [J]. COMPUTERS & EDUCATION, 1988, 12 (04) : 471 - 477
  • [4] Evolving a Project-based Software Engineering Course: A Case Study
    Delgado, David
    Velasco, Alejandro
    Aponte, Jairo
    Marcus, Andrian
    [J]. 2017 IEEE 30TH CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING (CSEE&T), 2017, : 77 - 86
  • [5] Assessing Team Development in an Engineering Project-Based Course
    Davis, Chad E.
    Wolfinbarger, Kim Graves
    [J]. 2018 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE), 2018,
  • [6] Unreined Students or Not: Modes of Freedom in a Project-Based Software Engineering Course
    Nytro, Oystein
    Anh Nguyen-Duc
    Traetteberg, Hallvard
    Loras, Madeleine
    Farschian, Babak Amin
    [J]. 2020 IEEE 32ND CONFERENCE ON SOFTWARE ENGINEERING EDUCATION AND TRAINING (CSEE&T), 2020, : 26 - 35
  • [7] Hints on Designing and Running Project-based Exams for a Software Engineering Course
    Raibulet, Claudia
    Fontana, Francesca Arcelli
    Pigazzini, Ilaria
    [J]. 2022 IEEE/ACM FIRST INTERNATIONAL WORKSHOP ON DESIGNING AND RUNNING PROJECT-BASED COURSES IN SOFTWARE ENGINEERING EDUCATION (DREE 2022), 2022, : 15 - 19
  • [8] Cooperative project-based learning in a web-based software engineering course
    Piccinini, Nicola
    Scollo, Giuseppe
    [J]. EDUCATIONAL TECHNOLOGY & SOCIETY, 2006, 9 (04): : 54 - 62
  • [9] Bioinstrumentation: A Project-Based Engineering Course
    Kyle, Aaron M.
    Jangraw, David C.
    Bouchard, Matthew B.
    Downs, Matthew E.
    [J]. IEEE TRANSACTIONS ON EDUCATION, 2016, 59 (01) : 52 - 58
  • [10] Application of Project-Based Learning to a Software Engineering course in a hybrid class environment
    Ceh-Varela, Edgar
    Canto-Bonilla, Carlos
    Duni, Dhimitraq
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2023, 158