NB

Nathan J. Brunelle

Assistant Professor
Unit: School of Engineering and Applied Science
Department: Department of Computer Science
Office location and address
Rice Hall, Room 209
85 Engineers Way
Charlottesville, Virginia 22903
Education
PhD, University of Virginia (2017)
Biography

Nathan Brunelle is an Assistant Professor in the Department of Computer Science, at the University of Virginia. He was born and raised in Virginia Beach, VA where he attended The Ocean Lakes High School Math and Science Academy and was a member of Boy Scouts of America Troop 12. In 2007 he attained the rank of Eagle Scout and graduated from Ocean Lakes. From there he attended the University of Virginia where he double majored in mathematics and computer science. He graduated with distinction in 2011. He received his Masters in Computer Science in 2013. He defended his dissertation in 2017. Currently he is researching in the fields of applied algorithms, automata theory, and heterogeneous computing. He is also a curator of the UVA Computer Science Department's Computing Museum. His hobbies include: fishinghikingcampingSCUBA divingcookingphoto-bombing, and socializing.

CS 1110: Introduction to Programming
Credits: 3
A first course in programming, software development, and computer science. Introduces computing fundamentals and an appreciation for computational thinking. No previous programming experience required. Note: CS 1110, 1111, 1112, 1113, and 1120 provide different approaches to teaching the same core material; students may only receive credit for one of these courses.
CS 1111: Introduction to Programming
Credits: 3
A first course in programming, software development, and computer science. Introduces computing fundamentals and an appreciation for computational thinking. Prerequisite: Students should have some experience with programming. Note: CS 1110, 1111, 1112, 1113, and 1120 provide different approaches to teaching the same core material; students may only receive credit for one of these courses.
CS 1501: Special Topics in Computer Science
Credits: 1
Student led special topic courses which vary by semester.
CS 2102: Discrete Mathematics
Credits: 3
Introduces discrete mathematics and proof techniques involving first order predicate logic and induction. Application areas include finite and infinite sets, elementary combinatorial problems, and graph theory. Development of tools and mechanisms for reasoning about discrete problems. Prerequisite: CS 1110, 1111, 1112 or 1120 with a grade of C- or higher.
CS 2190: Computer Science Seminar
Credits: 1
Provides cultural capstone to the undergraduate experience. Students make presentations based on topics not covered in the traditional curriculum. Emphasizes learning the mechanisms by which researchers and practicing computer scientists can access information relevant to their discipline, and on the professional computer scientist's responsibility in society. The course requires second-year standing in the CS BS major for enrollment. Prerequisite: CS 2102 and 2110, both with a grade of C- or higher.
CS 3102: Theory of Computation
Credits: 3
Introduces computation theory including grammars, finite state machines, pushdown automata, and Turing machines. Prerequisites: CS 2102 and CS 2110 both with grades 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 2102 and 2150 with grades of C- or higher, and APMA 1090 or MATH 1210 or MATH 1310.
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 7995: Supervised Project Research
Credits: 3
Formal record of student commitment to project research for the Master of Computer Science degree under the guidance of a faculty advisor.
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.
CS 9999: Dissertation
Credits: 1–12
Formal record of student commitment to doctoral research under the guidance of a faculty advisor. May be repeated as necessary.