Computer Science

We often use tools to aid us in solving problems. The computer is also a tool – a mind tool; it amplifies and extends the power of the mind. We can use it to help us solve diverse problems such as regulating the flow of drugs for a patient, generating images of imaginary landscapes or controlling the flight of an aircraft. Computer science is a helping profession; computer programmers help people by constructing software solutions to their problems.


At MSMS, we want students from all backgrounds to be able to explore what growing field of engineering may hold for them. Through our classes, we encourage students to develop problem solving skills while pushing them to be creative and innovative. All of our courses were developed with the following objectives in mind:
1. To encourage students to explore Engineering as a career field 
2. To teach students how to approach a design problem logically 
3. To inspire students to apply math and science creatively to create innovative solutions

Courses offered

This course provides an introduction to the process of problem solving using computer programming language. Python, which is a powerful, modern, but easy to understand programming language is used to provide the student with a solid foundation in both theoretical and practical aspects of programming and problem solving. Laboratory assignments in this course will be challenging to improve students’ abilities to problem solve. The objectives of this course are to introduce the principles and practice of software development using a modern object-oriented programming language, introduce and develop the problem solving skills necessary to construct software solutions to problems, and give the student an understanding of the data structures and control structures available in the target language, and an ability to understand and create common algorithms.

This course explores object-oriented problem solving, design, and programming, transitioning the student from Python to C++. It also provides an introduction to common data structures, the design of algorithms, and the analysis of algorithm complexity. Concepts such as error handling and data verification will also be explored.

This course is designed to introduce students to the central ideas of computing and computer science, to instill ideas and practices of computational thinking, to show how computing and computer science change the world, and to engage students in the creative aspects of the field. Programming is one of the creative processes that help transform ideas into reality, so instruction and laboratory activities will enable students to acquire proficiency in modern programming languages. Students will explore computer science’s relevance to and impact on the world today, they will investigate the innovations in other fields that computing and computer science have made possible, and they will examine the ethical implications of new computing technologies. Students in these courses will work individually and in teams to solve problems, developing their communication and teamwork skills. Students will learn the basics of programming in the python programming language so that they will be prepared for computational science in any field they wish to pursue.

This class introduces students to tips, tools, and techniques for designing mobile applications for Apple iPhones. Topics include Software Engineering Principles, Event Handlers, Condition Statements, and Animation. Students will apply this knowledge to projects that increase in complexity as the course progresses.

This class will give students the opportunity to learn about four forms of artificial intelligence. The class will be broken up into four units. Each unit will focus on a new strategy to create an artificial intelligence to solve a problem. Each unit will end with students applying the recently learned AI strategy to solve a new problem.

This course is an introduction to the study of Robotics and programming. Students will learn to program robots using the Arduino micro controller and programming language in order to perform both simple and complex tasks individually and in groups. Students will also learn to use 3D printers to create the bodies, arms, wheels, and any other miscellaneous parts needed. This course will focus on the creative aspects of the Robotics design process while also requiring students to bring their creations to life with programming.

This course will give students an opportunity to learn what makes a game fun, challenging, and addictive. Students learn how to tell a story, how to create worlds that obey the laws of physics, and how to create animations. Students will work in groups to learn about teamwork, working with someone else’s code, and breaking a project down into subcomponents.

The purpose of this class is to provide students with an introduction to computer aided design (CAD) concepts and to develop critical thinking and problem-solving skills. The course will use the website to create 3D models.

Computer problems/special topics is an individualized advanced class where students will have the flexibility of choosing their projects or topics of interest. The projects could involve any aspect of modern computing.