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
Currently Teaching
CSCI-243
The Mechanics of Programming
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-352
Operating Systems
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-452
Systems Programming
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-510
Introduction to Computer Graphics
3 Credits
Introduction to 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 will be required.
CSCI-711
Global Illumination
3 Credits
This course will investigate the theory of global illumination (GI) in computer image synthesis. Seminal computer graphics papers will be used to explore the various components of the GI pipeline and explain how the path of light in a virtual scene can be simulated and used to create photorealistic imagery. The course will emphasize the theory behind various GI rendering tools and libraries available for image synthesis. The student will put theory into practice via a set of programming assignments and a capstone project. Topics will include light and color, three-dimensional scene specification, camera models, surface materials and textures, GI rendering methods, procedural shading, tone reproduction, and advanced rendering techniques. Readings and summaries of Computer Graphics literature will be required.