Landing slider: Academics JL new 11.3.17
Landing slider: Academics JL new 11.3.17
Landing slider: Academics_JG 10.27.17
Landing slider: Academics_JG 10.27.17
Landing slider: Academics_9 10.27.17
Landing slider: Academics_9 10.27.17
Landing slider: Academics_8 10.27.17
Landing slider: Academics_8 10.27.17
Landing slider: Academics_7 10.27.17
Landing slider: Academics_7 10.27.17
Landing slider: Academics_6 10.27.17
Landing slider: Academics_6 10.27.17
Landing slider: Academics_5 10.27.17
Landing slider: Academics_5 10.27.17
Landing slider: Academics_3 10.27.17
Landing slider: Academics_3 10.27.17
Landing slider: Academics_4 10.10.17
Landing slider: Academics_4 10.10.17

Computer Science & Technology

An understanding of computational thinking and the fundamental principles of computer science are becoming more and more valued across all disciplines. Colleges, universities and the industries they feed note the necessity of being conversant with these practices in all fields. WMA is committed to the design and implementation of a program that provides grounding in these skills for all students, and is also a gateway for those who wish to pursue computer science in more depth. The Exploring CS series of electives develops the computational thinking skills that are applicable in any discipline. Mobile Computer Science Principles deepens the understanding of these skills, and is also accessible to students who don’t think of themselves as traditional computer science students. This suite of courses encompasses a comprehensive set of inquiry-based lessons, which use a variety of tools and platforms. A major aim of these courses is to attract students who might not think of themselves as “typical” candidates for computer science and allow them to explore project-based lessons that emphasize writing, communication, collaboration, and creativity. For students interested in more coding and programming, the traditional Java Programming and AP Computer Science A are available online, through Virtual High School.

Trimester Electives

CS: exploring web design and scratch programming 1

Credits: 1

Level: Introductory, open to Grades 9 through PG.

Overview: Students take the role of developer as they design a web page while exploring issues of social responsibility. They plan and code their web pages using a variety of tools and collaborate with their peers to ensure usability and relevance. Students will also explore programming as they design, code, test and execute a program that corresponds to a set of expectations. They will use the Scratch (MIT Media Lab) visual programming tool to develop understanding of the logical processes of programming which are applicable across computer languages. As the student designers work through all concepts, they will apply the fundamental notions of Human Computer Interactions and algorithmic problem-solving techniques.

Prerequisite: none

cs: exploring and using big data

Credits: 1

Level: Introductory, open to Grades 9 through PG.

Overview: Students explore how computing has facilitated new methods of managing and interpreting data. Students will review the connections between mathematics and computer science. They will use computers to translate, process and visualize data in order to find patterns and test hypotheses. Students will discuss appropriate methods for data collection and aggregation of data necessary to support making a case or facilitating a discovery. They will examine what constitutes a good survey and create one for a personalized study. Students will work with a variety of large data sets that illustrate how widespread access to data and information facilitates identification of problems. Students will use popular tools for organization and analysis of datasets.

Prerequisite: none

cs: exploring robotics with snap!

Credits: 1

Level: Introductory, open to Grades 9 through PG.

Overview: Robotics is an advanced application of computer science increasingly found in all sectors of human endeavor. Robots can be used to solve problems in a variety of settings from business to healthcare and can enable innovation by automating processes that may be dangerous or otherwise problematic for humans. Students explore how to integrate hardware and software to solve problems and enhance their programming capabilities as they build and program a robot that solves a stated problem. Student engineers will be able to identify the criteria that describe a robot and determine if something is a robot; match the actions of the robot to the corresponding parts of the program; and explain ways in which different hardware designs affect the function of a machine while considering the tradeoffs of one design versus another.

Prerequisite: none

introduction to python

Credits: 1

Level: Introductory, Grade 10 and above

Overview: Python is a versatile computing language; its syntax is relatively easy to learn, readable and understandable. This introductory course does not require any prior experience with programming. The class will have access to Python interpreter and a library of previous source code for analysis. Students will begin with an easy to learn introduction using Python Turtle to guide a turtle around a screen using computer commands. They will progress to writing different script and increase the complexity of commands as their foundation in the Python script increases. Each student will develop Python script to solve a series of problems increasing in complexity. Students will present their most interesting problem-solving Python program to the class at the conclusion of the course. The complexity of the program will be determined by the knowledge and ability of the student.

Prerequisite: none

mobile computer science principles

Credits: 3

Level: open to Grades 11 through PG, Grade 10 with permission

Overview: Mobile CSP is a project-based course based on the AP Computer Science Principles framework. The course covers the 7 Big Ideas and 6 Computational Thinking Practices of Computer Science. During the course, students complete two collaborative programming projects and an individual research and writing project on the impact of a recent, computing innovation that appeals to the student. These projects conform to the College Board's two performance tasks on programming and impact. The Mobile CSP course uses the visual programming language, App Inventor for Android, to provide a rigorous, programming-based introduction to computer science using a project-based curriculum. Students learn computer science by building socially useful mobile apps. In this way, student learning will be associated closely with their interests and grounded in their schools, their homes, and their communities.

Prerequisite: none

java programming - online

Credits: 1.5

Level: Grade 10 and above

Overview: This course is an introduction to Computer Science, covering the basic concepts and elements of the Java programming language and introducing object-oriented programming. Students will gain experience in writing programs that are well documented according to industry standards and will have the opportunity to create Java Applets and learn about Graphical User Interface programming with Swing. Additionally, the students will be encouraged to work both independently and collaboratively to solve practical problems that illustrate application-building techniques. This course is intended to teach and reinforce crucial academic skills to help students strengthen their background in computer science prior to taking an Advanced Placement course.

Students may be scheduled into an “online learning block” with a faculty coordinator to oversee their progress. Students will need to adhere to a different academic schedule due to the semester structure of this online course. Work will be expected during WMA vacation periods.

Prerequisite: One year Algebra and department permission

ap computer science A - online

Credits: 3

Level: Grade 10 and above

Overview: AP Computer Science is a course designed to awaken and support students’ problem solving skills. The course will introduce the Java programming language while emphasizing universal language techniques like syntax, semantics and readability. Students will gain mastery in programming concepts by using a subset of Java features that are covered when needed throughout the course content. This allows the student to understand and master important concepts that will apply to programming problems in many additional languages. Students will begin by encountering situations that involve solving problems with the use of primitive data types, methods, and control statements. Later, this inquiry will evolve into the use of Object Oriented Programming (OOP), which is today’s most common and practical way to develop software. Throughout the course, students will also grow to understand how computers process information. This understanding will deepen as students apply concepts like string manipulation, the behavior of elements in arrays and lists, and the use of external data to interact with algorithms. The College Board’s AP® Computer Science curriculum presents three hands-on laboratory practice sets that will help students synthesize course concepts. These labs will expand and secure their knowledge of programming and prepare them thoroughly for the AP® Computer Science exam in May. This course has VHS fees.

Students may be scheduled into an “online learning block” with a faculty coordinator to oversee their progress. Students will need to adhere to a different academic schedule due to the semester structure of this online course. Work will be expected during WMA vacation periods.

Prerequisite: Java Programming, and department approval. Students must be in Calculus (concurrently).
.