University of Maryland Global Campus

CMSC 105: Introduction to Programming in Python

A study guide to UMGC's CMSC 105, the applied introduction to Python that teaches variables, conditionals, loops, functions and lists.

Updated October 2026 · 5 min read

CMSC 105 at the University of Maryland Global Campus is an applied introduction to Python programming for students with little or no coding experience.

UMGC's current title is Introduction to Programming in Python (the course was formerly CMIS 102). Its objective is to create programs using variables, basic data types, conditionals, loops, functions and lists.

Hands-on work includes writing, testing and debugging code, applying basic secure programming practices, building programs incrementally, and using AI tools to support comprehension and refinement.

For many students it is the first time they have to think like a computer: precisely, step by step. Syntax errors are easy to fix; the real learning curve is breaking a problem into small steps and testing each one.

Course at a Glance

ItemDetails
UniversityUniversity of Maryland Global Campus (UMGC)
Course codeCMSC 105 (3 credits), formerly CMIS 102
LevelUndergraduate, introductory
LanguagePython
Credit noteCredit for only one of CMIS 102, CMIS 102A, CMSC 101 or CMSC 105
Typical workShort programs, debugging exercises, incremental projects with explanations

What CMSC 105 Covers

TopicWhat it means
Variables and data typesStoring numbers, text and true/false values
ConditionalsMaking decisions with if, elif and else
LoopsRepeating work with for and while
FunctionsPackaging steps into reusable, named blocks
ListsStoring and processing collections of values
Testing and debuggingFinding and fixing errors methodically
Secure habitsValidating input and handling errors safely

Key Concepts Explained

Building Incrementally

Write a few lines, run them, check the output, then add more. Small steps make errors easy to locate.

Example: To average a list of test scores, first print the list, then compute and print the total, then divide by the count. If the final average is wrong, you already know the total was right, so the error is in the division step.

Functions

Example:

def average(scores):
    if len(scores) == 0:
        return 0
    return sum(scores) / len(scores)

The check for an empty list prevents a division-by-zero crash, a simple example of defensive programming.

Validating Input

Never assume a user types what you expect. Converting input inside a try block and asking again on failure keeps a program from crashing and is a first step towards secure coding.

Typical Assignments and How to Approach Them

Assignment typeWhat it testsHow to approach it
Short programsUsing core constructs correctlyPlan steps in plain words before coding
Debugging tasksReading errors and tracing logicRead the error line, print values, test one fix at a time
Incremental projectCombining conceptsBuild and test one feature per step
ExplanationsUnderstanding your own codeDescribe what each part does and how you tested it

Using AI Tools the Right Way

UMGC's description explicitly includes using AI tools to support comprehension and refinement. That framing matters: AI is there to help you understand and improve code, not to produce it for you.

Good uses include asking an assistant to explain an error message, to describe what a line of code does, or to suggest test cases you missed. Always follow your instructor's rules on AI use and disclose it when asked. If you cannot explain a line in your program, you are not ready to submit it.

Planning Before You Code

Writing an algorithm in plain steps before coding saves time. For a program that grades a list of scores, the plan might be: read the scores, check each is a valid number between 0 and 100, compute the average, then print a letter grade.

Each step becomes a small piece of code you can test on its own. Turning the steps into comments at the top of your file also gives you ready-made documentation, and makes it easier to explain your program if the assignment asks how it works.

Where Students Get Stuck

Study Tips for CMSC 105

How We Help with CMSC 105

Send the assignment instructions, your code, any error messages and the rubric. A programming tutor can explain a concept, walk through your logic, help you debug, or provide a commented model example of a similar problem to learn from.

GradeEssays is independent of the University of Maryland Global Campus. Our help is tutoring and model material within UMGC's academic integrity policy; code you submit must be your own and meet your instructor's rules.

Understand Your CMSC 105 Python Code

Share the prompt and your attempt. A programming tutor walks you through the logic and debugging step by step.

Start My Python Help

Free revisions for 14 days · Full refund if late · Written from scratch for your order

Frequently Asked Questions

What language does CMSC 105 use?

Python. UMGC's current title is Introduction to Programming in Python.

Is CMSC 105 the same as CMIS 102?

CMSC 105 was formerly CMIS 102. UMGC allows credit for only one of CMIS 102, CMIS 102A, CMSC 101 or CMSC 105.

Do I need programming experience?

No prerequisite is listed in UMGC's description; the course starts with variables and basic data types.

Can I use AI tools in CMSC 105?

UMGC's description includes using AI tools to support comprehension and refinement. Follow your instructor's specific rules on how and when.

What comes after CMSC 105?

CMSC 105 (or CMIS 102) is the prerequisite for CMSC 115, which moves on to Java.

Can you write my Python assignments?

We explain, help you debug and give model examples of similar problems, but the code you submit must be your own.