-
Notifications
You must be signed in to change notification settings - Fork 0
Course IDE and Tools
The IT 140 course IDE is the collection of software used to design, write, run, test, debug, and manage your course programs.
IDE usually means integrated development environment. In IT 140, the term is used broadly for the complete set of programming tools configured for the course.
Students take IT 140 on different computers and operating systems. A standard course environment helps:
- Course instructions work consistently
- Examples and screenshots match what students see
- Automated tests run with the expected software
- Instructors and technical support reproduce problems
- Students focus on programming instead of tool differences
The exact installation commands can differ by operating system, but the supported environments are designed to provide the same core course capabilities.
| Tool | What You Use It For |
|---|---|
| Python 3.12 | Write and run Python programs |
| Visual Studio Code (VS Code) | Create, edit, run, test, debug, and organize course files |
| Git | Track files and work with Git repositories |
| GitHub CLI | Work with GitHub from the command line when directed |
| pytest | Run course-provided automated tests |
| pytest-cov | Measure which parts of a program are exercised by tests |
The course also configures VS Code extensions that support common IT 140 tasks.
| VS Code Support | Purpose |
|---|---|
| Python extension | Python language support |
| Ruff | Code formatting and code-quality feedback |
| Draw.io Integration | Flowcharts and diagrams |
| Pseudocode Support | Pseudocode files and syntax highlighting |
| Code Spell Checker | Spelling checks in code and documentation |
| Office Viewer | View supported course files inside VS Code |
You are not expected to master every tool in Module One. You will learn the tools as you use them during the course.
The Codio Virtual Desktop (CVD) is the IT 140 reference environment.
The CVD is a hosted Linux desktop that you open through the course. Course screenshots, demonstrations, troubleshooting reproduction, and primary testing use this environment.
Because the CVD begins from a course-managed system image, its starting configuration is more consistent than a personal computer.
If a local course IDE is temporarily unavailable, the CVD can also provide a way to continue your course work.
For setup instructions, use the Module One Setup Tasks repository:
https://github.com/GC-STEM/it140-m1-setup-tasks
The course automation also has platform-specific implementations for supported local environments.
Depending on the current course release, these may include:
- Microsoft Windows
- macOS on supported Apple hardware
- Ubuntu Desktop Linux
Support status can change as platforms are tested and released. Check the main repository README for the current status:
https://github.com/GC-STEM/it140
For compatibility checks and installation instructions, always use the Setup Tasks repository rather than the automation folders directly.
The automation package contains course-managed files such as:
- Platform scripts
- The controlled course manifest
- The manifest schema
- Managed settings and assets
These files help supported environments reach the same expected configuration.
Your programs, assignment repositories, Git history, and other coursework are separate from those course-managed automation files. The automation is designed to preserve student coursework while maintaining the approved course environment.
Do not edit course-managed scripts, manifests, schemas, or engineering files unless a course activity specifically instructs you to do so.
A manifest is a structured list of approved configuration information.
The IT 140 automation uses a JSON manifest to identify items such as:
- Required course capabilities
- Approved software
- Supported platforms
- Software sources
- Managed settings
- Log locations
Different operating systems may install the same capability in different ways. The shared manifest helps the platform scripts work toward the same course environment instead of maintaining unrelated software lists.
Students normally do not need to open or edit the manifest.
The course materials are designed and supported using the approved course IDE.
Other tools may be capable of writing Python programs, but using a different software stack can create differences in:
- Python versions
- File formats
- Testing behavior
- Editor features
- Course instructions
- Technical support
If you choose tools outside the supported environment, your instructor or technical support may not be able to reproduce or support problems caused by those differences.
For the least friction, use the course-supported environment described in the current Setup Tasks instructions.