Skip to main content
Version: Current

Software Engineering for AI

Core SystemsModule 1 · Required

Build code that is understandable, testable, and easy for someone else to run. Keep applying these habits throughout Core Systems.

Illustration of application components and a build, test, deploy, and monitor workflow.

Structure your project

Separate application logic, configuration, and tests.

Verify behavior

Test normal cases and meaningful failures.

Collaborate and review

Use pull requests and verify AI-assisted changes.

Engineering workflow​

make your code understandable, testable, and easy for someone else to run.

Before you start: Engineering Fundamentals Python, Git, terminal, and debugging skills.

Learn​

  • Separate data preparation, model/inference logic, application code, and tests.
  • Manage dependencies and configuration; keep credentials outside committed code.
  • Write focused functions, meaningful names, useful errors, and logs that help diagnosis.
  • Use unit and integration tests to check behavior, including invalid inputs.
  • Work through issues, branches, pull requests, and review feedback.
  • Use a coding assistant with a clear task, relevant repository context, and acceptance criteria; inspect its diff and verify the result.

Resources​

book

Clean Code: A Handbook of Agile Software Craftsmanship

Further reading. If access is available. Focus on chapters 2, 3, 4, 7, and 9 for naming, functions, comments, error handling, and tests. Free resources below support the required practice.

documentation

uv: Working on projects

Required. Create a project, add dependencies, and run it in a reproducible environment.

documentation

pytest: Get Started

Required. Write tests and assertions, then use fixtures where shared setup is needed.

documentation

GitHub: Reviewing and testing AI-generated suggestions

Required. Focus on intended uses, limitations, and verification. Apply the principles to your available coding assistant.

article

LeetCode: Programming Skills

Further reading. For specific implementation gaps. This does not replace the project task.

Practice​

  • Refactor a notebook into a small Python project with a documented command to run it.
  • Write tests for normal inputs, boundary cases, and a realistic failure.
  • Implement one bounded change using an AI assistant. Review each changed file, test the result, and record an issue you corrected or a suggestion you rejected.
  • Submit the change through a pull request and respond to review.

Expected output​

A runnable repository, meaningful tests, setup instructions, and a reviewed change. You can explain the code and fix a bug during discussion. If a coding assistant is unavailable, review a mentor-provided generated patch and complete the same verification task.

Workload​

Use the provisional estimates where supplied. Other workloads remain pending pilot. Include implementation, debugging, review, and revision.

Finish this module​

Keep the required outputs and explain your decisions. Diagnose a relevant failure during review and revise incomplete evidence after feedback. Resource completion supports progress; the stated practical requirements determine completion.

Roadmap AssistantRoadmap Assistant