Software Engineering For Scientists
BIODS 253: Software Engineering for Scientists
Winter 2020-2021
Instructors: Instructors: Vijay Pandurangan and Teri Klein
Units: 2.
Grading options: letter mark, credit/nocredit (pass/fail). Do you want to audit this course? Fill out this form
Overview
Standardized Software Engineering techniques, such as cloud computing, virtualization, automated testing, and source control, are becoming increasingly critical for science and research. Software Engineering for Scientists is designed to help researchers, scientists, and non-domain-experts gain hands-on knowledge of the tools and practices that will make your day-to-day work more efficient and less error-prone. Students will learn to adopt the most important and germane of the techniques used in the real world (from startups to large companies) and will provide a good understanding of the tools, approaches, and tradeoffs inherent in writing any kind of program.
Course Syllabus
Week |
Subject |
Content |
1 |
Introduction |
|
2 |
Overview and Summary of Computer Science |
|
3 |
Using the shell |
|
4 |
Source Control |
|
5 |
Tests |
|
6 |
Code Reviews |
|
7 |
Libraries, and Repeatability with Conda, virtual environments |
Add bullet points |
8 |
Cloud computing |
|
9 |
Security |
|
Course Format
Class is scheduled for Tuesdays from 10:30am-11:50am. In addition, a recorded lecture (15-30 minutes long) will be made available and will be required to be watched before each class meeting. The lecture will cover one or more topics from both a theoretical and practical perspective. Students will be able to try to work on these techniques. Lectures will be interactive; we will spend time answering questions the students might have, and talking about how these learnings could be useful to their research.
Office Hours
Thursday 10:30AM to noon PT.
Assignment
We intend for this class to be directly applicable to the work/research of the students. To that end, we hope that each student can use the skills learned here on a project they are working on for another class or research. We will work with each student to ensure that the scope of the project is sufficient to demonstrate mastery of the skills taught here. If a student doesn’t have an appropriate project, we will assign one.
Auditing
If students wish to audit the course, please email vjp@stanford.edu with a cc to teri.klein@stanford.edu
Course Summary:
Date | Details | Due |
---|---|---|