Home / Courses / CMSC 335
University of Maryland Global Campus — Computer Science

CMSC 335: Object-Oriented and Concurrent Programming

A complete guide to UMGC's CMSC 335: Object-Oriented and Concurrent Programming — what this course covers, typical assignments, and where to get expert help when a deadline is close.

Undergraduate 3 Credits UMGC

Object-Oriented and Concurrent Programming builds complex, robust Java programs — task synchronization, threads, and event-driven GUI design.

What CMSC 335 covers

Prerequisite: CMSC 315 (or CMSC 350). A study of object-oriented and concurrent programming using features of Java. The goal is to design, implement, test, debug, and document complex robust programs in an object-oriented language. Concepts of object-oriented programming (such as composition, classification, and polymorphism) are explored.

Topics include the principles of concurrent programming (such as task synchronization, race conditions, deadlock, threads, and event-driven graphic user interface programs). Programming projects are implemented in Java.

Typical CMSC 335 assignments

Expect a Java project requiring you to implement concurrent programming behavior (threads, synchronization) while avoiding race conditions or deadlock.

Key topics in CMSC 335

Writing tips for CMSC 335

Follow the assignment instructions and rubric line by line

UMGC assignments for CMSC 335 are graded against a specific rubric or grading criteria your instructor provides — every requirement has to be visibly addressed. Skipping a requirement because it seems minor is one of the most common reasons a strong submission loses points.

Working, tested code matters as much as the write-up

Computer Science courses like CMSC 335 usually grade both the code itself (does it compile, run, and produce correct output) and the accompanying documentation or design write-up. A well-written report attached to code that doesn't run will still lose significant points.

Document your design decisions, not just the final code

Strong CMSC submissions explain the reasoning behind design choices — why a particular data structure, algorithm, or architecture was chosen — not just the final implementation. Evaluators check whether you understand the tradeoffs, not just whether the code works.

Stuck on your CMSC 335 assignment?

Our writers know UMGC's course structure and this class's typical assignments. Get an original, properly cited paper matched to your syllabus and rubric.

Get Expert Help

Why students seek help with CMSC 335

Students sometimes implement threads without addressing the synchronization needed to prevent race conditions or deadlock — the rubric typically wants that concurrency-safety handling shown explicitly, not threads implemented naively.

How GradeEssays helps with CMSC 335

Share your programming assignment and rubric, and your writer will build a Java solution with proper synchronization to prevent race conditions and deadlock.

Get Help With CMSC 335

Share your assignment instructions and rubric and we match you with a writer who knows this course and UMGC's grading standards.

Place Your Order View All Services

Prerequisites and course context

CMSC 335 requires Data Structures and Analysis (CMSC 315) or CMSC 350. It is itself one accepted path to the CMSC 495 capstone (paired with CMSC 330). Note: students may receive credit for only one of CMSC 300 or CMSC 335.

Related courses

Frequently asked questions

What prerequisite does CMSC 335 require?

CMSC 335 requires Data Structures and Analysis (CMSC 315) or CMSC 350.

Can another course substitute for CMSC 335?

Students may receive credit for only one of CMSC 300 or CMSC 335, since they cover the same object-oriented and concurrent programming content.