Syllabus — Research Methods
Course information
Instructor: Professor Newman
- Email: cdnvse@rit.edu
- Newman Office Hours: Tuesday/Thursday @ 10:15am - 11:30am in GOL-1690
TA: Christian Ashley
- Email: ca5138@rit.edu
- Ashley Office Hours: Tuesday/Thursday @ 2:30pm - 3:30pm in Team Rooms (ping on Discord if you can’t find him)
Course description
This course covers methods and tooling for reproducible, data-driven software engineering research. Topics include data collection from software ecosystems, data integrity and sampling, structural and text-based analysis, modeling and evaluation, and operationalizing reproducible research pipelines.
Learning outcomes
- Design and implement data-collection pipelines for software artifacts
- Assess data integrity, sampling bias, and reproducibility risks
- Extract structural and textual features from code and logs
- Build evaluation pipelines and interpret predictive models
Assessments & grading
- Weekly exercises and small assignments (40%)
- Quizzes on paper readings (20%)
- Final project write up and implementation (40%)
Late Policy
- 10% penalty per week late
Grading rubric and weights will be posted in the class repo and announced on the course page.
Schedule (high level)
See the full weekly schedule on the course home page: Schedule
Key topics by week:
- Weeks 1–3: Thinking like a data-driven engineer; data collection (DC0, DC1, DC2)
- Weeks 4–6: Data integrity, sampling, and preprocessing (DI1, DI2)
- Weeks 6–9: Data analysis, feature engineering, modeling, evaluation (DA1…)
- Weeks 10–15: Project selection, experimental design, operationalization, communication
Policies
- Academic integrity and responsible use of data are mandatory.
- AI agents are allowed, with the following guidelines:
- You may use AI agents to help you understand materials and coding assignments, including frameworks, programming languages, terminology, and other concepts you need assistance with.
- Code should be written by students, not agents. The goal is for you to develop hands-on understanding.
- The point of this course is for you to understand the pipeline architecture, learn about research methods and how they are applied to real problems, and implement the core pipeline of many research methodologies. This gives you a mechanical understanding of the steps you take when performing research. Using AI agents to understand the coding still serves this purpose.
- The best practice is to try coding on your own first and only fall back on agents if you get stuck.