• Choose and apply appropriate algorithms 
  • Choose and apply data structures 
  • Implement and evaluate complex software 


  • Data analyst
  • Full-stack developer
  • Research scientist
  • Software engineer
  • Technical Project Manager


How does the human brain work? What does the future hold for our climate? Is it possible for a computer to understand natural language? How can we most efficiently and securely transmit information over the internet? When is it useful to distinguish between different levels of infinity?

Mathematics and computer science provide the foundation required to answer some of the most complex questions of our time. Mathematicians design the models that enable us to understand and improve the structure of everything from transportation networks to physical processes. Whether or not practical applications are foreseen, mathematicians revel in exploring the structure and beauty of abstract patterns and logical relationships. Computer scientists build the invisible layer of software that advances scientific research and improves everyday life. Smartphones and modern automobiles include many millions of lines of code—every aspect of which we depend upon for our productivity and safety.