Mark Floryan headshot

Mark Richard Floryan

Associate Professor
Unit: School of Engineering and Applied Science
Department: Department of Computer Science
Office location and address
Rice Hall 203
85 Engineers Way
Charlottesville, Virginia 22903
B.S. ​University of Virginia, 2008
M.S. University of Massachusetts, 2010​
Ph.D. ​University of Massachusetts, 2013

I focus on computer science education and the ways in which computing can improve education more generally. I teach core computer science courses (e.g., Data Structures, Algorithms) as well as electives related to my field (e.g., Game Design, Artificial Intelligence, HCI). As a researcher, I strive to get undergraduate students involved in research activities and to continue to investigate the ways in which games, artificial intelligence, and human centered design can create more personalized educational experiences for all.

CS 2150: Program and Data Representation
Credits: 3
Introduces programs and data representation at the machine level. Data structuring techniques and the representation of data structures during program execution. Operations and control structures and their representation during program execution. Representations of numbers, arithmetic operations, arrays, records, recursion, hashing, stacks, queues, trees, graphs, and related concepts. Prerequisite: CS 2102 and CS 2110, both with grades of C- or higher.
ECE 2501: Special Topics in Electrical and Computer Engineering
Credits: 1–5
A second-level undergraduate course covering a topic not normally covered in the course offerings. The topic usually reflects new developments in the electrical and computer engineering field. Offering is based on student and faculty interests.
CS 2501: Special Topics in Computer Science
Credits: 1–3
Content varies, depending on instructor interests and the needs of the Department. Taught strictly at the undergraduate level. Prerequisite: Instructor permission; additional specific requirements vary with topics.
CS 3205: HCI in Software Development
Credits: 3
Human-computer interaction and user-centered design in the context of software engineering. Examines the fundamental principles of human-computer interaction. Includes evaluating a system's usability based on well-defined criteria; user and task analysis, as well as conceptual models and metaphors; the use of prototyping for evaluating design alternatives; and physical design of software user-interfaces, including windows, menus, and commands. Prerequisite: CS 2110 with a grade of C- or higher
CS 4102: Algorithms
Credits: 3
Introduces the analysis of algorithms and the effects of data structures on them. Algorithms selected from areas such as sorting, searching, shortest paths, greedy algorithms, backtracking, divide-and-conquer, and dynamic programming. Data structures include heaps and search, splay, and spanning trees. Analysis techniques include asymtotic worst case, expected time, amortized analysis, and reductions between problems. Prerequisite: CS 2150 or CS 2501 topic DSA2 with a grade of C- or higher, and CS 2102 or CS 2120 with grades of C- or higher, and APMA 1090 or MATH 1210 or MATH 1310.
CS 4710: Artificial Intelligence
Credits: 3
Introduces artificial intelligence. Covers fundamental concepts and techniques and surveys selected application areas. Core material includes state space search, logic, and resolution theorem proving. Application areas may include expert systems, natural language understanding, planning, machine learning, or machine perception. Provides exposure to AI implementation methods, emphasizing programming in Common LISP. Prerequisite: CS 2150 or CS 2501 topic DSA2 with a grade of C- or higher.
CS 4730: Computer Game Design
Credits: 3
This course will introduce students to the concepts and tools used in the development of modern 2-D and 3-D real-time interactive computer video games. Topics covered in this include graphics, parallel processing, human-computer interaction, networking, artificial intelligence, and software engineering. Prerequisite: CS 2150 with a grade of C- or higher.
CS 4980: Capstone Research
Credits: 1–3
This course is one option in the CS fourth-year thesis track. Students will seek out a faculty member as an advisor, and do an independent project with said advisor. Instructors can give the 3 credits across multiple semesters, if desired. This course is designed for students who are doing research, and want to use that research for their senior thesis. Note that this track could also be an implementation project, including a group-based project. Prerequisite: CS 2150 with a grade of C- or higher
CS 4993: Independent Study
Credits: 1–3
In-depth study of a computer science or computer engineering problem by an individual student in close consultation with departmental faculty. The study is often either a thorough analysis of an abstract computer science problem or the design, implementation, and analysis of a computer system (software or hardware). Prerequisite: Instructor permission.
CS 4998: Distinguished BA Majors Research
Credits: 3
Required for Distinguished Majors completing the Bachelor of Arts degree in the College of Arts and Sciences. An introduction to computer science research and the writing of a Distinguished Majors thesis. Prerequisites: CS 2150 with a grade of C- or higher and CS BA major status.
CS 6890: Industrial Applications
Credits: 1
A graduate student returning from Curricular Practical Training can use this course to claim one credit hour of academic credit after successfully reporting, orally and in writing, a summary of the CPT experience to his/her academic advisor.
CS 7993: Independent Study
Credits: 1–12
Detailed study of graduate course material on an independent basis under the guidance of a faculty member.
CS 8897: Graduate Teaching Instruction
Credits: 1–12
For master's students who are teaching assistants.
CS 8999: Thesis
Credits: 1–12
Formal record of student commitment to thesis research for the Master of Science degree under the guidance of a faculty advisor. May be repeated as necessary.
CS 9897: Graduate Teaching Instruction
Credits: 1–12
For doctoral students who are teaching assistants.

ACM Professor of the Year, UVa 2013-2014

Best Paper Award Nomination; ASEE Zone 1 Conference 2014

Best Poster Award; 16th International Conference on Artificial Intelligence in Education 2013