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-250
Concepts of Computer Systems
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-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.