Southern California is a vital center for research and development, providing undergraduates many options for gaining practical experience. Many juniors and seniors are hired each year to assist faculty with the many lab classes offered by the college. These are excellent ways to reinforce ideas learned in the classroom, to build a resume, and to "earn while you learn."
Many undergraduate students work side-by-side with faculty members on major research projects. Students have the opportunity to present the results of their research at regional, national and international conferences.
Faculty Research Interests
Stephanie August Cognitive science applications of artificial intelligence including interdisciplinary new media applications, natural language understanding, argumentation, and analogical reasoning. Dondi Dionisio Interaction design and computer graphics, as well as in applications that cross and bridge computer science with other disciplines. Philip Dorin Algorithms and programming, theory and computational complexity; and, more narrowly, on combinatorial optimization, modern (especially, nature-inspired) heuristics, and algorithms for cake-cutting and fair division. Barbara Marino Computer applications and image processing. Ray Toal Software systems, data organization, knowledge representation, language, learning, and intelligence --- with a focus on programming language design.
Facilities & Labs
W.M. Keck Computer Science Laboratory (Doolan 112)
This is the Computer Science Division's primary general-use lab and to a large degree is the hub of the undergraduate social scene. Students come to the lab to work, collaborate and play nearly every day of the week. At all times there is a Student Teaching Assistant on duty to assist users with the equipment and homework. Workstations in the lab provide Linux, Mac OS X and Windows 10 operating systems. The lab also provides game consoles, iPads, robot kits and similar devices for programming.
Artificial Intelligence Lab (Doolan 217)
The Artificial Intelligence Lab provides a collaborative environment with special tools and facilities to support courses that have artificial intelligence elements. Students can meet in the lab and use it for small project and team development. The lab also houses alternative computing devices and platforms for projects that involve such hardware.