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
- Object-oriented programming concepts
- Concurrent programming principles
- Task synchronization and race conditions
- Event-driven GUI programs
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.
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 ServicesPrerequisites 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
CMSC 335 requires Data Structures and Analysis (CMSC 315) or CMSC 350.
Students may receive credit for only one of CMSC 300 or CMSC 335, since they cover the same object-oriented and concurrent programming content.