Skip to main content

Understanding Course Code Ranges and Patterns in Stellic

Updated this week

When building degree audits in Stellic, you'll often need to specify which courses can fulfill certain requirements. Rather than listing every possible course individually, Stellic allows you to define course code ranges and patterns that automatically identify all qualifying courses.

This guide explains how course code matching works and how to effectively use ranges and patterns in your audit requirements.

Understanding Course Ranges & Patterns

Course Range: A course range defines which courses fulfill a requirement by setting upper and lower boundaries. For example, a range from MATH-100 to MATH-299 includes all 100 and 200 level MATH courses.

Course Pattern: For more complex matching beyond numeric ranges, Stellic supports flexible pattern matching using wildcards (tildes and asterisks) that accommodate diverse course numbering schemes.

Symbol

Purpose

Example

*

Matches any single character

10* matches 100, 10A

**

Matches any two characters

2** matches 200, 2AB

***

Matches any three characters

1*** matches 1000, 1ABC

~

Matches any trailing characters

MATH-1~ matches MATH-1, MATH-100, MATH-101LAB

These symbols can be combined to create precise patterns that capture exactly the courses you want to include in your requirements.

The Tilde (~): Multi-Character Wildcard

The tilde symbol (~) is a powerful tool for creating flexible course code ranges and patterns in Stellic audits.

The tilde functions as a multi-character wildcard that can only be placed at the end of a course code. It tells Stellic that any number or kind of characters can follow the prefix.

Valid Usage:

  • MATH-1~ ✅ Correct placement

Invalid Usage:

  • M~TH-100 ❌ Cannot be used in the middle of characters

Matching Examples

When you use the tilde in your course ranges, it expands to match various course formats:

Pattern

Match

No Match

MATH-1~

MATH-1, MATH-10, MATH-100, MATH-101A, MATH-101LAB, MATH-101_IS

MATH-2, MATH-200

BIO-2~

BIO-2, BIO-20, BIO-200, BIO-201LAB, BIO-2XX

BIO-1, BIO-300

CS-3~

CS-3, CS-30, CS-300, CS-301, CS-301A, CS-301WEB

CS-2, CS-400

Benefits

The tilde allows you to create concise, maintainable ranges that automatically accommodate:

  • Varying course number lengths (for example, 1, 10, 100, 1000)

  • Course codes with letter suffixes (for example, A, LAB, WEB)

  • Course codes with other character or underscore suffixes (for example, ENGH 101_ID)

  • Special course designations unique to your institution

This flexibility ensures your audit requirements remain accurate as your course catalog evolves over time.

The Asterisk (*): Single-Character Wildcard

Unlike the tilde, which allows unlimited expansion, asterisks serve as strictly defined placeholders. Each asterisk represents exactly one character position, creating fixed-length patterns.

  • * = exactly one character (letter or number)

  • ** = exactly two characters

  • *** = exactly three characters

Fixed-Length Examples

Pattern

Match

No Match

10*

100, 101, 10A, 10B

1000 (too long), 10 (too short)

2**

200, 201, 2AB, 2XX

2000 (too long), 20 (too short)

3***

3000, 301A, 3ABC

30000 (too long), 300 (too short)

Asterisks with Course Code - Wildcard

When used with course codes, asterisks behave differently - they become a multi-character wildcard that can represent a subject code of any length (2+ characters). This allows matching against variable-length department codes while maintaining the exact course number requirement.

Pattern

Match Examples

No Match Examples

* 100

AR 100, MATH 100, PSYC 100, ENGL 100

ART 101, MATH 200, PSYC 150

** 101

CS 101, BIO 101, HIST 101, CHEM 101

CS 100, BIO 201, HIST 102

*** 200

ECON 200, PHYS 200, SPAN 200, COMM 200

CS 100, ECON 201, PHYS 100, SPAN 300

**** 300

PSYC 300, ANTH 300, GEOL 300, MUSC 300

PSYC 301, ANTH 200, GEOL 400, CS 300

***** 400

ENGLISH 400, BIOLOGY 400, HISTORY 400

ENGLISH 401, BIOLOGY 300, HISTORY 500, ECON 400

Key Difference from Tilde

While MATH-1~ can match courses of any length (MATH-1, MATH-100, MATH-1000), the pattern MATH-1** will only match exactly four-character codes like MATH-100 or MATH-1AB.

Use asterisks when you need precise control over course code length and structure.

Combined Wildcards: Asterisk + Tilde

When you combine asterisks with a tilde, you create hybrid patterns that first require specific character positions to be filled (asterisks), then allow unlimited expansion (tilde).

How It Works:

  • Asterisks define the minimum required character positions

  • The tilde must come at the end and allows any additional characters

  • All asterisk positions must be filled before the tilde expansion applies Pattern Examples:

Pattern

Match

No Match

2***~

2101, 2999, 200A, 20000B

20A, 200, 3000

1***~

1234, 1000-MATH, 1030B

101, 200A

2**~

2999, 2100A, 2AAA

10, 4000

Key Rules:

  1. Asterisk positions are mandatory - they must be filled with exactly one character each

  2. Tilde expansion is optional - it can match zero or more additional characters

  3. Order matters - asterisks come first, tilde comes last

Alphanumeric Course Code Matching

Stellic supports course codes that combine numbers and letters (for example, 101A, 400H, 200LAB).

The system splits each course code into two parts for separate evaluation:

  • Numeric portion: The numbers (for example, "102" from "102L")

  • Alphabetic portion: The letters (for example, "L" from "102L")

Both parts must fall within their respective ranges for the course to match.

Basic Example

Range

Course Code

Result

Explanation

000A to 999Z

102L

Matches

102 is between 000-999 AND L is between A-Z

Important Matching Rules

When Both Range Boundaries Have Letters

If your range includes letters in both the start and end points (like 100A to 300Z), the course code must also have a letter to match:

  • 100A to 300Z with course 200 → ❌ Doesn't match (missing letter)

  • 100A to 300Z with course 200B → ✅ Matches

When Range Boundaries Have No Letters

If your range has no letters (like 400 to 499), courses with letters might still match depending on your institution. For example, 400 to 499 with course 400H → ✅ May match (behavior depends on wildcard usage)

Key Principle

Only the tilde (~) allows for flexible expansion between different format types. Without a tilde, course formats must match the pattern exactly. In other words, if your range or pattern specifies letters, the course must have letters in order to match.

Advanced Alphanumeric Patterns

Using Wildcards with Mixed Codes

The tilde (~) provides additional flexibility when working with alphanumeric course codes:

Range

Course Code

Result

Explanation

400~ to 499~

400H

Matches

Tilde allows letters after 400

3~ to 499

3XX

Matches

Wildcard accommodates varied formats

The tilde overrides strict formatting requirements, allowing courses with different structures to match the same range.

Asterisks with Alphanumeric Codes

Asterisks create precise length patterns that accommodate both numbers and letters:

Fixed-Length Patterns (without tilde):

  • Range 10* to 30* accepts only three-character codes:

    • 20A ✅ Matches (exactly 3 characters)

    • 200 ✅ Matches (exactly 3 characters)

    • 200A ❌ Doesn't match (4 characters exceed expected length)

Minimum-Length Patterns (with tilde):

  • Range 10*~ to 30*~ requires at least 3 characters but accepts longer codes:

    • 200 ✅ Matches (meets minimum length)

    • 2000 ✅ Matches (exceeds minimum, allowed by tilde)

    • 200A ✅ Matches (exceeds minimum, allowed by tilde)

This approach gives you precise control over course code structure while maintaining flexibility when needed.

Did this answer your question?