Undergraduate degrees: B.A. or B.S.
This joint major combines elements of mathematics with those of computer and information science in a program that offers an alternative to a major in either single discipline.
The Best of Both Worlds
Are you fascinated by the challenges and excitement of computer and information science? Do you also have a consuming interest in mathematics? With this major, you can explore the realm of computer and information science while developing a mathematics anchor. If you want to gain knowledge in both fields, but don’t initially want to specialize in either, this may be the major for you.
The knowledge you gain in this major is hugely practical in the real world. Computer science offers the challenge and excitement of a dynamically evolving science, the discoveries and applications of which affect every aspect of modern life. You will choose classes from areas such as programming languages, modeling and simulation, human-computer interaction, and artificial intelligence.
A strong mathematics background will allow you great flexibility. The program emphasizes mathematics as part of a liberal arts education, so coursework provides basic mathematical and statistical training for students in social, biological, and physical sciences. Working in these fields, you will not only use mathematics to calculate percentages for data, but will know the proper formulae to analyze, compute, and utilize that data.
As a Mathematics and Computer Science major, you will be assigned two advisers, one in the Department of Mathematics and one in the Department of Computer and Information Science. One of the two will be designated as your adviser of record, but both will cooperate in planning your program. Because of the interrelationship between mathematics and computer science courses, it is especially important that you plan for the combined major by consulting closely with both advisers. Since both mathematics and computer science are sequential subjects, prerequisite planning should be discussed with your advisers.
Points of Interest
- Expand your mathematics background while acquiring skills for team-oriented, information-based occupations in the high-performance computing industry
- Through the mathematics department, you can join research groups investigating topics such as artificial intelligence, human-computer interaction, and theoretical computer science
- Work with faculty experts on the cutting edge of both fields to define your strengths and design a career path that makes sense to you
- Participate in the William Lowell Putnam examination, a nationally administered mathematics examination, which is offered each December. It contains twelve very challenging problems, and prizes are awarded to the top finishers in the nation
- Elements of Discrete Mathematics I, II, and III teach sets, mathematical logic, induction, sequences, functions, relations, theory of graphs and trees with applications, and permutations and combinations. Other topics include discrete probability, Boolean algebra, elementary theory of groups, and rings with applications
- Elementary Numerical Analysis I and II explore basic techniques of numerical analysis and their use on computers. Topics include root approximation, linear systems, interpolation, integration, and differential equations
- Introduction to Methods of Probability and Statistics includes discrete and continuous probability, data description and analysis, and sampling distributions. The class emphasizes confidence intervals and hypothesis testing
- Introduction to Computer Graphics exposes students to the geometrical transforms, interaction techniques, and shape representation schemes that are important in interactive computer graphics
- Introduction to Artificial Intelligence includes basic themes, issues, and techniques of artificial intelligence, including agent architecture, knowledge representation and reasoning, problem solving and planning, game playing, and learning
- Modeling and Simulation provides theoretical foundations and practical problems for the modeling and computer simulation of discrete and continuous systems. Includes simulation languages and empirical validation
Undergraduate majors and graduate students share a collaborative computing lab for exclusive use by CIS students. Research projects and hands-on systems and networking courses are held in the Intel Systems research and education laboratory, which houses specialized equipment including Intel multicore workstations, dual-boot PCs, and a variety of networking hardware resources. Graduate and undergraduate students engaged in active research also have access to the computing facilities of the associated research lab.
The mathematics and computer science major is interdisciplinary by nature. Finding the connections between courses in both disciplines creates a strong and practical major. You will also complete work in another scientific field such as biology, chemistry, physics, or psychology. Since communication skills are critical in technological fields, you must also complete at least one upper-division writing class such as technical writing or business communications.
Willow Baumann always loved math, but wasn’t sure that a degree in that field was precisely what she wanted. After signing up for a few CIS classes out of curiosity, she discovered that she really enjoyed programming as well. “For me, the MACS major was the perfect balance between these two interests,” she says. “I could still pursue my love of math, but could also apply it to real-world applications. The combination of the theoretical and the practical is really what reeled me in.”
One favorite class, computer science 211, gave Baumann the opportunity to develop an entire computer game from scratch. “This is where I became really interested in software development,” she says. Baumann has also used her skills during an internship [in the Knight Library] at the Center for Educational Technologies: Interactive Media, where she was involved in the creation of a database-driven evaluation form.
Though she didn’t have computer science experience, Sofi Takei knew that technology would be a practical addition to her math background, so she chose the MACS major. She especially enjoyed her software methodology course, and says that it provided applicable programming experience.
Takei landed a web team internship at Palo Alto Software where she expanded her classroom skills by working with ColdFusion, CSS, SQL, and other web related applications. “The internship definitely contributed to my employability,” she says.
Selected Faculty Work
Professor Zena Ariola's research interests are in the foundation of programming languages, lambda calculus, term rewriting systems, mathematical logic, and high-level hardware description languages. Professor Ariola teaches courses on programming languages concepts and mathematical logic.
Professor Stephen Fickas focuses his research on requirements engineering. One project, CogLink, resulted in the creation of e-mail for individuals with brain injuries (coglink.com). Further applications include navigation assistance for the visually impaired and brain injury survivors (go-outside.org) and the development of wearable computing devices for navigation assistance.
Associate Professor Anthony Hornof’s research is in human-computer interaction, and he has grant-funded research projects in cognitive modeling, eye tracking, and assistive technology. He is interested in making computers easier for people to use and learn, in finding new ways for people to use computers, and in supporting patterns of human creativity and expression.
David Levin is an assistant professor of mathematics. He teaches courses in statistical methods. His research interests include probability theory and stochastic processes, in particular Markov chains, random walks, and related potential theory.
Professor Andrzej Proskurowski's research interests concern the complexity of combinatorial optimization problems, as for instance in abstract communication protocols and structures which are robust with respect to site and link failures. He teaches courses in theoretical computer science, algorithms, and information structures, as well as patterns of problem solving.
Associate Professor of mathematics Hal Sadofsky teaches algebraic topology and calculus. He does research in algebraic topology, specifically in the study of stable homotopy theory. This is an area which uses tools from abstract algebra to study properties of continuous functions and of topological spaces.
Associate Professor of mathematics Hao Wang teaches upper division courses that range from theory to statistics. His research interests include the areas of probability, statistics, and mathematical finance. He also enjoys working on financial modeling, scenario generation, and Monte Carlo simulation.
Associate Professor Christopher Wilson teaches courses in database processing, data structures and computer information technology. His research addresses complexity classes derived from parallel computational models. These can be usefully compared to sequential classes to determine to what extent parallelism can be expected to speed up computations.
The courses selected for the program provide a solid foundation for professional work or for advanced study. Graduates from this major can enter industrial positions that require computer science skills and mathematical problem-solving ability.
If you’d like to teach, the combination of mathematics and computer science forms an excellent professional background for secondary-school mathematics teachers. You’ll also find that the program provides a solid foundation for actuarial, financial, and related professions. You might decide to enter an advanced program of study in either mathematics or computer science, or in applied areas such as biological computational science.
Associate Professor Hal Sadofsky, mathematics adviser (541) 346-5619
Associate Professor Christopher Wilson, computer science adviser (541) 346-3412