Zachary Butler Headshot

Zachary Butler

Department of Computer Science
Golisano College of Computing and Information Sciences

Office Hours
Wednesday: 9:30-11:30 Thursday: 9:30-10:30 or by appointment
Office Location

Zachary Butler

Department of Computer Science
Golisano College of Computing and Information Sciences


BS in Electrical Engineering, Alfred University; Ph.D. in Robotics, Carnegie Mellon


Zack Butler is a Professor in the Department of Computer Science at RIT. He received his Ph.D. in Robotics from Carnegie Mellon in 2000. His research interests are in the general area of cooperative autonomous systems and computer science education. His publications have appeared in such venues as the International Journal of Robotics Research and the ACM Symposium of Computer Science Education. He is currently the PI on a grant from the National Science Foundation to study the use of pencil puzzles as a problem domain for introductory computing courses, and on a previous grant, developed a team of robots to autonomously roam the department and be easily programmed by students. He has taught a variety courses from the introductory level to the graduate level, including courses in Mobile Robot Programming and Puzzles for Computing that he developed.


Personal Links
Areas of Expertise

Currently Teaching

3 Credits
This course allows students to pursue two threads of research in computer science. One thread is the discovery and analysis of previous work in the field. Students will select, read and collectively discuss papers from conferences and journals in CS. A survey paper on a topic of the student's choice will be required. The other thread is an independent project. Students will select a topic, lay out weekly goals, and meet with the instructor weekly. A final report and presentation will be required.
4 Credits
This course serves as an introduction to computational thinking using a problem-centered approach. Specific topics covered include: expression of algorithms in pseudo code and a programming language; functional and imperative programming techniques; control structures; problem solving using recursion; basic searching and sorting; elementary data structures such as lists, trees, and graphs; and correctness, testing and debugging. Assignments (both in class and for homework) requiring a pseudo code solution and an implementation are an integral part of the course. An end-of-term project is also required.
3 Credits
Project capstone of the master's degree program. Students select from a set of possible projects and confirm that they have a project adviser. Students enroll in a required colloquium component that meets weekly, during which they present information, related to their projects. Projects culminate with delivery of a final report and participation in a poster session open to the public.
0 Credits
Students perform professional work related to Computer Science for which they are paid. Students work full time during the term for which they are registered. Students must complete a student co-op work report for each term for which they are registered; students are also evaluated each term by their employer. A satisfactory grade is given for co-op when both a completed student co-op work report and a completed, corresponding employer evaluation are received and when both documents are generally consistent. Co-op is an optional part of the MS in Computer Science degree. Graduate students are eligible to do a maximum of 364 days of co-op and students must register for co-op by the end of add/drop period for the appropriate term. See the CS graduate program coordinator or RIT's Office of Cooperative Education and Career Services for further details.
3 Credits
An introduction to the theories and algorithms used to create artificial intelligence (AI) systems. Topics include search algorithms, logic, planning, machine learning, and applications from areas such as computer vision, robotics, and natural language processing. Programming assignments and oral/written summaries of research papers are required.

In the News

Select Scholarship

Published Conference Proceedings
Butler, Zack, Ivona Bezakova, and Kimberly Fluet. "Qualitative Analysis of Open-ended Comments in Introductory CS Courses." Proceedings of the ACM Technical Symposium on Computer Science Education. Ed. Elizabeth Hawthorne and Manuel Perez-Quinones. New York, NY: ACM, Web.
Butler, Zack, Ivona Bezakova, and Kimberly Fluet. "Analyzing Rich Qualitative Data to Study Pencil-Puzzle-based Assignments in CS1 and CS2." Proceedings of the ACM Conference on Innovation and Technology in Computer Science Education. Ed. P Andreou. New York, NY: ACM, Web.
Taylor, Cynthia, et al. "Propagating the Adoption of CS Educational Innovations." Proceedings of the ITiCSE 2018 Companion. Ed. Guido Rossling. New York, NY: ACM, Web.
Butler, Zack and Bezakova, Ivona. "On Beyond Sudoku: Pencil Puzzles for Introductory Computer Science." Proceedings of the SIGCSE 2015. Ed. Adrienne Decker and Kurt Eiselt. Denver, CO: ACM, Web.
Butler, Zack, Rajendra Raj, and Minseok Kwon. "Integrating Highly-Capable Corobots into a Computing Curriculum." Proceedings of the Frontiers in Education. Ed. Randa Shehab, Jim Sluss, and Deborah Trytten. Oklahoma City, OK: n.p., 2013. Web.
Butler, Zack, et al. "Easily-programmable Corobots for Student Use." Proceedings of the International Conference on Advanced Robotics. Ed. Javier Ruiz de Solar. Montevideo, UY: n.p., 2013. Web.
Journal Paper
Butler, Zack. "Mazes: Not Just For Kids." ACM Inroads 7. 3 (2016): 72. Print.
Butler, Zack and Hays, Jacob. "Task Allocation for Reconfigurable Teams." Robotics and Autonomous Systems 68. 1 (2015): 59-71. Print.
Published Article
Hays, Jacob and Zack Butler. “Behavior-Based Control of Self-Reconfigurable Robot Teams for Sensor Placement.” Intelligent Autonomous Systems, 11 (2010): 239-248. Print. *