The Master's in Computer Software and Media Applications at the University of Virginia is a practitioner-focused graduate programme that combines advanced software engineering with multimedia systems, human–computer interaction and digital media technologies. It suits students who want to design and build interactive applications — from web and mobile services to games, AR/VR and multimedia platforms — and who value a mix of technical depth and project-led learning.
What you'll study
This programme blends core computer science topics with specialised courses in software for media-rich environments. You study advanced software engineering principles alongside modules that address media processing, interactive systems and user-centred design.
- Core software modules: advanced programming, software architecture and design patterns, distributed and cloud-based systems, testing and DevOps practices.
- Media and interaction: human–computer interaction (HCI), digital audio and image processing, computer graphics and rendering, multimedia systems and streaming.
- Intelligent and data-driven components: applied machine learning for media, computer vision, natural language processing for interactive applications.
- Application development: mobile and web application frameworks, game development fundamentals, AR/VR prototyping and performance optimisation.
- Project work: a substantial capstone or practicum project in which you design, implement and evaluate a software system or media application, often in collaboration with faculty, industry partners or interdisciplinary teams.
- Optional research or thesis: for students interested in research, a thesis route is typically available under faculty supervision.
Structure
The curriculum typically combines taught coursework with a major project component. Full-time students usually complete the programme in one to two years, depending on whether they choose a coursework-plus-project or a thesis pathway. Teaching methods include lectures, lab sessions, team projects and industry-aligned practicum placements.
Entry requirements
Applicants are normally expected to hold a bachelor’s degree in computer science, software engineering, electrical engineering, information technology or a closely related discipline. Admissions decisions consider the whole application package.
- Academic background: undergraduate degree with a strong foundation in programming, data structures, algorithms and discrete mathematics. Applicants with substantial professional experience in software development may also be considered if their background demonstrates the necessary technical competence.
- Supporting materials: academic transcripts, a personal statement describing technical interests and project experience, and two or three letters of recommendation from academic or professional referees.
- Technical portfolio: applicants focusing on media or interaction design are encouraged to submit a portfolio of projects (code samples, apps, media demos or design artefacts).
- English language: proof of English proficiency is required for applicants whose first language is not English, in line with university policies.
- Standardised tests: requirements for tests such as the GRE vary by cohort and may be optional; check the department’s admissions guidance for current practice.
Career prospects
Graduates are prepared for roles that sit at the intersection of software engineering and media/interaction design. Career destinations commonly include industry and research-oriented positions.
- Software engineer or senior developer focusing on application platforms, cloud services or backend systems.
- Multimedia systems developer working on streaming platforms, video/audio processing or content-delivery technologies.
- Front-end engineer, UX engineer or interaction designer building rich web and mobile interfaces.
- Game developer, graphics programmer or AR/VR engineer creating real-time interactive experiences.
- Machine learning engineer specialising in computer vision, audio analysis or natural language interfaces for media applications.
- Product manager or technical lead roles in startups and technology companies, or continued academic study at the doctoral level.
Why study at University of Virginia
The University of Virginia offers a strong, research-informed computing environment within a well-resourced engineering school. You benefit from access to experienced faculty whose work spans software engineering, multimedia computing, HCI and AI, as well as well-equipped labs and studio spaces for prototyping interactive systems.
- Interdisciplinary opportunities: collaborations with other schools and centres support projects that combine computing with design, the arts, business and health.
- Industry engagement: proximity to a growing regional tech ecosystem and active employer engagement helps with project partnerships, internships and graduate hiring.
- Student support and careers: dedicated career services, student societies and hackathon communities provide practical experience and networking opportunities.
- Project-led learning: an emphasis on capstone and practicum work ensures graduates leave with portfolio-ready projects demonstrating applied skills.
Explore more on ScholarshipsAds