Computer Science


Why Study Computer Science at W&L?
Computing has transformed life. Advances in computing have enabled breakthroughs in genetics, protein modeling, medicine, weather simulations and all scientific fields. Video games and movie graphics are increasingly realistic. Children acquire various skills using fun, educational software. The Internet has revolutionized commerce, transportation and communication. Policies and laws have been reimagined to account for the new world created in cyberspace.
As a general-purpose discipline, computer science attracts students from all types of backgrounds. The projects they work on are limited only by the human imagination. With a solid foundation in computer science, W&L students have the knowledge and skills to tackle tomorrow’s challenges. Since computing is integral to so many other disciplines, some students pursue computer science along with another major.
Honors Program
The Honors Program in computer science is an enrichment opportunity for students who demonstrate superior achievement in computer science. Honors work consists of research for and preparation of an honors thesis, followed by a presentation of the completed thesis at a departmental seminar to which the public is invited.
Research and Internship Opportunities
Students may pursue individual or team-based research projects under faculty supervision in many specialized areas, during either the summer or the academic year. Such projects have often led to honors theses and placements in highly selective graduate programs. Our students are encouraged to intern during the summer to gain industry experience at government labs and at small and large companies.
Sample Courses
Artificial Intelligence
Basic concepts of heuristic search, game playing, natural language processing and intelligent systems, with a focus on writing programs in these areas. Course combines a discussion of philosophical issues with hands-on problem solving.
Software Development
An examination of the theories and design techniques used in software development. Topics include the software life cycle, design patterns, the Unified Modeling Language, unit testing, refactoring, rapid prototyping and program documentation.
Theory of Computation
A study of the principles of computer science embodied in formal languages, automata, computability and computational complexity. Topics include context-free grammars, Turing machines and the halting problem.
Video Game Design
In this course, students learn to design and program video games using Python and the Pygame module. Concepts covered include video game code organization utilizing object-oriented programming, OOP design patterns, 2D animation, artificial intelligence and responding to user feedback.
Meet the Faculty
At W&L, students enjoy small classes and close relationships with professors who educate and nurture.








