Math and Computer Science
Mathematics as a system of thought is considered a core part of the human cultural experience. Our mission is to help students appreciate this discipline in its pure and applied forms as they focus on the development of logical, analytical, and critical thinking skills.Matthew K. Bardoe, PHD, Department Head
- Game Theory
- Linear Algebra
- Introduction to Programming
- Advance Robotics
- Advance Application Development
This elective is an introduction to game theory and strategic thinking. The course covers mathematics – logic, probability and statistics – with an emphasis on application. Beginning with representations and basic assumptions, including the extensive form; strategies and the normal form; beliefs, mixed strategies, and expected payoffs; and general assumptions and methodology, the course moves on to analyzing behavior in static settings.
This course introduces the student to the study of vector spaces over the real numbers, linear mappings between vector spaces, and their matrix representations. Topics include an investigation of ways to represent and analyze lines and planes in space, with frequent use of the scalar product and cross product, the study of subspaces, bases and dimension, the kernel and image of a linear mapping, and determinants.
Students learn the basics of algorithmic thinking, and design programs to solve simple problems. A number of different programming environments are used including highly structured programming environments such as Alice and Scratch. Students gain familiarity with robust programming languages like Python. Students learn the basics of variables, loops, conditional statements and standard data structures such as arrays and dictionaries.
This course teaches students how to manage and design mechanical, electrical and programmable systems. Rather than working in predefined robotic environments (such as VEX) students use a variety of materials and systems to create their own robots. Programmable microcontrollers provide a flexible environment that can be applied to many robotics projects, and will be the main source of control logic.
For students with some experience in mobile-platform application development, this course introduces them to the Android operating system. Using the programming language Java and the Android software development kit, students build applications for Android devices (which comprise over 70% of all mobile devices.) Students learn the full scope of professional software development, from planning phases to product release. By the end of the course, students will have completed a fully-functional, publishable (or published) application.