Warren Carithers Headshot

Warren Carithers

Associate Professor
Department of Computer Science
Golisano College of Computing and Information Sciences

585-475-5393
Office Hours
Spring 2019: 3:30-5pm Tuesday and Thursday, 4-5pm Wednesday
Office Location
Office Mailing Address
102 Lomb Memorial Drive Rochester, NY 14623-5608

Warren Carithers

Associate Professor
Department of Computer Science
Golisano College of Computing and Information Sciences

Education

BS, MS, University of Kansas

585-475-5393

Personal Links

Currently Teaching

CSCI-610
3 Credits
Foundations of Computer Graphics is a study of the hardware and software principles of interactive raster graphics. Topics include an introduction to the basic concepts, 2-D and 3-D modeling and transformations, viewing transformations, projections, rendering techniques, graphical software packages and graphics systems. The course will focus on rasterization techniques and emphasize the hardware rasterization pipeline including the use of hardware shaders. Students will use a standard computer graphics API to reinforce concepts and study fundamental computer graphics algorithms. Programming projects and a survey of the current graphics literature will be required. Note: students who complete CSCI-510 may not take CSCI-610 for credit.
CSCI-352
3 Credits
An in-depth study of operating system concepts. Topics include process synchronization, interprocess communication, deadlock, multiprogramming and multiprocessing, processor scheduling and resource management, memory management, static and dynamic relocation, virtual memory, file systems, logical and physical I/O, device allocation, I/O processor scheduling, process and resource protection. Programming projects involving the development of or modification to operating system kernel features will be required.
CSCI-453
3 Credits
Computer Architecture is a study of the design of both modern and classic computer hardware. Topics include: a review of classical computer architectures; the design of operation codes and addressing modes, data formats, and their implementation; internal and external bus structures; architectural features to support virtual storage and page-replacement policies, high-level language features, and operating systems. Students will write programs which simulate the organization of several different processor architectures to help further their understanding of design choices.
CSCI-243
3 Credits
Students will be introduced to the details of program structure and the mechanics of execution as well as supportive operating system features. Security and performance issues in program design will be discussed. The program translation process will be examined. Programming assignments will be required.
CSCI-452
3 Credits
Application of operating system concepts to the design of hardware interfaces for a multiprogramming environment. Laboratory work includes the development of a multiprogramming (optionally, multiprocessing) kernel with system call and interrupt handling facilities, and the building of device drivers for a variety of peripheral devices. This course provides extensive experience with those aspects of systems programming that deal directly with the hardware interface. A significant team programming project is a major component of this course.
CSCI-250
3 Credits
An introduction to the hardware and software organization of computer systems. The course emphasizes a multilevel model of computer organization. Topics include the digital logic level; the micro architecture level; the machine instruction set level; the operating system level; and the assembly language level. Programming assignments will be required.
CSCI-719
3 Credits
This course examines current topics in Computer Graphics. This is intended to allow faculty to pilot potential new graduate offerings. Specific course details (such as prerequisites, course topics, format, learning outcomes, assessment methods, and resource needs) will be determined by the faculty member(s) who propose a specific topics course in this area. Specific course instances presented will be identified as belonging to the Computer Graphics and Visualization cluster.