Skip to content

Course Automation

mike-snhu edited this page Aug 13, 2026 · 1 revision

Course Automation

IT 140 uses automation scripts to prepare and maintain a consistent course development environment across supported platforms.

You do not need to understand how every script works internally. You should understand what each stage is for and follow the exact commands provided in your course instructions.

The Five Automation Stages

The course uses the same general lifecycle across supported environments:

Prepare → Install → Configure → Verify → Update

Stage Purpose
Prepare Obtains or refreshes the course automation package so the other scripts are available
Install Installs or repairs required system-level course software
Configure Sets up course folders, tools, settings, extensions, integrations, and shortcuts for the current user
Verify Checks the environment and reports whether expected items are present and configured correctly
Update Maintains approved course software and course-managed assets after setup

The file extension changes by platform. For example, Windows uses PowerShell scripts while Linux-based environments use shell scripts.

Why Are There Separate Platform Scripts?

Windows, macOS, Linux, and the CVD do not install and configure software in exactly the same way.

They can differ in:

  • Command-line shells
  • Package managers
  • File paths
  • Permissions
  • Desktop environments
  • Software installation methods

The platform-specific scripts handle those differences while working toward the same course capabilities.

Do not run a script for a different platform just because its filename looks similar.

Initial Setup Is Not Identical Everywhere

A local computer usually begins with the following sequence:

Prepare → Install → Configure → Verify

The Codio Virtual Desktop already starts from a course-managed system image, so its initial sequence may use Update instead of a full Install.

Do not choose the sequence yourself. Follow the current Setup Tasks instructions for your environment:

https://github.com/GC-STEM/it140-m1-setup-tasks

Prepare

Prepare obtains or refreshes the IT 140 automation package.

It is designed to work when the package is not already installed. After it completes, the remaining approved course scripts are available for the selected environment.

Use the preparation commands provided by the course rather than manually downloading random script files.

Install

Install manages required system-level software for a local course environment.

Depending on the platform, it may need permission to install or repair approved applications and command-line tools.

Install is not intended to perform a major operating-system release upgrade.

Configure

Configure applies settings for your user account.

It may configure items such as:

  • Course folders
  • VS Code settings
  • VS Code extensions
  • Shortcuts
  • Approved account integrations
  • Other course-managed user settings

System-wide software installation and user configuration are kept as separate lifecycle stages so each stage has a clearer purpose.

Verify

Verify checks the environment without repairing or changing it.

It can report:

  • Passed checks
  • Warnings
  • Failures
  • A recommended next step

Because Verify is designed to be read-only, it is useful for checking the current state of a course environment and for troubleshooting.

If Verify reports a problem, follow its final instructions and keep the log path it reports.

Update

Update maintains approved course IDE software and course-managed assets after the environment has been prepared.

You may be directed to run Update later in the course when an approved course component changes or needs maintenance.

Update is not a replacement for Prepare, and it is not a general operating-system upgrade tool.

When the course tells you to run Update, follow the instructions for your platform.

Designed for Safe Reruns

Prepare, Install, Configure, and Update are designed so they can be rerun when an approved course-managed item is missing or damaged.

The automation is also designed to protect:

  • Student programs
  • Assignment and project repositories
  • Git history
  • Optional tools outside the managed course environment
  • Unrelated user settings

This does not mean you should run scripts randomly. Use them when directed by the course, a script's remediation message, or technical support.

Logs

Each lifecycle script creates a timestamped text log or transcript.

The standard course log folder is:

  • Windows: %USERPROFILE%\it140\logs\
  • CVD, macOS, and Linux: ~/it140/logs/

A log records information such as the script version, platform, actions performed, and where a failure occurred.

If a script ends with a warning or failure:

  1. Read the final summary.
  2. Keep the exact log path.
  3. Follow the recommended next step.
  4. Include the relevant log when requesting technical help.

Review logs before posting them publicly and remove private information if necessary.

What Should Students Not Edit?

The automation package contains controlled files such as:

  • Platform scripts
  • The course manifest
  • The manifest schema
  • Development and engineering artifacts

Students normally should not edit these files.

If a course activity ever asks you to modify one, the activity will provide specific instructions.

More Technical Detail

If you are curious about how the automation is organized, you can read the scripts guide:

https://github.com/GC-STEM/it140/blob/main/scripts/README.md

For the exact commands you should run as a student, use the Setup Tasks repository instead:

https://github.com/GC-STEM/it140-m1-setup-tasks

Clone this wiki locally