Much work these days is done using software. Analysts need to develop a comfort with building, maintaining, and improving high-quality software, even if they are not primarily employed as a software engineer or developer. This course focuses on equipping students with the skills to build robust software that can be used to answer questions. It focuses on how to effectively write short programs, as part of a small team, in a reproducible way. Software that is built correctly can be used by other teams, not just the person who originally wrote it.
Students will know how to:
- Create and read configuration files for programs, and know when to use them
- Describe, use, and write Application Programming Interfaces
- Reading documentation, writing documentation
- Using HTTP-based APIs in Python
- Writing Python APIs
- Know how to create bug reports and prioritize requests.
- Proficiently test software, handle errors, and track provenance
- Know how to create Python packages.
- Instructor: Simeon M Wong, MHSc(BME). [email protected]
- TA: Tong Su. [email protected]
Learners are assessed based on the course outcomes, which are demonstrated with the in-class exercises and the summative assignment that will be completed both progressively in class, and at home.
The course is a live-coding class. Students are expected to follow along with the coding, creating files and folders to navigate and manipulate. Students should be active participants while coding and are encouraged to ask questions throughout. Although slides will be available for students to reference, they should be referenced before or after class, as during class will be dedicated to coding with the instructor.
Below are the folders contained in this repo with a description of what they contain and information on how to use them.
This folder contains the homework and assignments for the class.
- Generally homework is ungraded and due before the next class for feedback from the teaching team
- The summative assignment is due by the end of the course
This folder contains materials and references for each lesson, including slides and sample code.
- Classes will generally be a mix of didactic teaching and live-coding
- Learners are encouraged to follow along by typing in code along with the instructor during class
- The live coding exercises are also reproduced in the slides for reference
- Michaela Drouillard created the initial version of this course, under the guidance of Rohan Alexander.
- Revised by Simeon Wong for the Data Sciences Institute
"You are never taught how to build quality software" via Hacker News https://news.ycombinator.com/item?id=38570261