Upper School Electives
Explore and discover what interests you.
In addition to departmental electives, Menlo offers a host of additional electives, many of which are open to all Upper School students. While they do not satisfy specific department course requirements, they allow students to find new intellectual passions and explore their interests on a deeper level.
Introduction to Computer Programming
This course, intended for students without significant programming experience, surveys the field of computer science and teaches the rudiments of computer programming using the Java programming language. We begin with a thorough discussion of the elements of procedural programming: variables, types, expressions, statements, decision structures, looping, parameters and methods. By the end of the course students should be competent beginning programmers and have a solid understanding of the programming process and its complexities. The object-oriented nature of Java allows students to deal with new levels of abstraction, and the extensive Java class hierarchy enables beginning students to complete unusually ambitious projects, including game programs with keyboard and mouse input and graphical output. This course is appropriate for students who are new to programming or who already have had some programming experience. Students from all grades may take this class. Freshmen may be admitted if they have demonstrated particularly strong math skills or modest programming experience. Each student is expected to bring his or her laptop to class every day. Menlo may help students acquire laptops where necessary.
Prerequisites: Earn a B or better in current math class or get permission of Mr. Steinberg. Incoming freshman must be entering Analytic Geometry & Algebra Honors or get permission of Mr. Steinberg.
AP Computer Science
This course uses the AP subset of the Java programming language to teach the elements of data structures and algorithm design while aiming to make each student a competent programmer. Extensive discussion of linked lists, binary trees, and other topics in elementary data structures are included. We also study classical algorithms for sorting and searching. At the end of the course, students should be able to design and implement a medium-sized program, code in a well-structured fashion, and decompose problems into manageable modules. Students are prepared to take the Advanced Placement exam. This course is intended as a follow-up course for students who have done well in Introduction to Computer Programming or an equivalent class taken elsewhere. Our experience is that very strong mathematics students (those concurrently taking Pre-Calculus Honors or AP Calculus BC) are able to jump directly into this class with the help of the optional “computer camp” we offer each summer during the week before the start of the school year. Each student is expected to bring his or her laptop to class every day. Menlo may help students acquire laptops where necessary.
Prerequisites: Earn an A- or better in the Intro to Computer Programming course or be concurrently enrolled in Pre-Calculus Honors or AP Calculus BC or get permission of Mr. Steinberg.
Advanced Topics in Computer Science (H)
For more advanced students of computer science, Menlo offers students the opportunity to practice with new programming languages (typical units of study might include Scheme, Python, C, C++, and/or Objective-C), to gain practice with more advanced data structures and algorithms, and to become familiar with a broad selection of topics in computing, including hardware, the Unix operating system, artificial intelligence, and computer graphics. Working in teams and exploiting tools such as version control software, students will also have the opportunity to collaborate on a variety of ambitious programming projects. This course is for students who have successfully completed AP Computer Science. Topics vary from year to year. The course may be taken more than once. Each student is expected to bring his or her laptop to class every day. Menlo may help students acquire laptops where necessary.
Prerequisites: Complete AP Computer Science or get permission of Mr. Cesarotti or Mr. Steinberg.
Introduction to Journalism
JOURNALISM I: Introduction to Journalism
Journalism today is not what it was even 10 years ago. Student journalists today need to be able to write and use sources and evidence well, and they also need to be able to shoot video and craft stories for a short-attention-span audience. Many journalists today need to also be entrepreneurs, creating their own audiences and developing business plans that can sustain their work. Students in this course will learn and practice all the skills needed. They’ll also have the chance to get their work published in The Coat of Arms online and in print as soon as the quality is approved by students editors; all students will be expected to be publishing by the second semester, if not sooner.
Skills learned in this course will serve students in higher-level journalism, yearbook, and moviemaking courses; the course is a prerequisite for underclassmen seeking to take Journalism II.
JOURNALISM II: Advanced Journalism
Students in this class will be members of the Coat of Arms staff, publishing both print and online work. They are encouraged to pursue stories that interest them and engage their audience. The staff of The Coat of Arms is responsible for attracting and keeping an audience of their peers, exploring new ideas and directions all the time and using data analysis to help determine what is effective. Yet this doesn’t mean student journalists will ignore the important role they play in a community, pursuing investigative journalism and informing their audience. The staff is challenged to continually build their communication skills in written, photo and video media. The Coat of Arms is a student-run publication, and it’s ultimately what the students on the staff make it. (Note: Journalism II and Journalism III meet together, in the same room at the same time.)
Prerequisite: either completion of Journalism I or previous CoA staff membership, or rising junior/ senior standing.
JOURNALISM III: Journalism Leadership
Journalism Leadership is only for newspaper editors. Such students get a unique leadership experience. They must steer the print and online editions of the Coat of Arms, and they must manage their peers on the staff as well. Because of this, students are graded not only on the content they contribute to CoA but also on how well they perform as leaders and managers. Leadership coaching is provided to help them develop and hone these skills. (Note: Journalism II and Journalism III meet together, in the same room at the same time.)
Prerequisite: Journalism II & permission of the instructor.