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 Science
Assuming no previous experience with computers or computer programming, this course will provide students with a broad overview of how computers work, the role played by software, and the increasing power of technology in the modern world. Students will learn basic ideas about operating systems, the Internet, and the increasing influence of machine learning and artificial intelligence. We will examine challenging social issues such as the future of privacy in an era of facial recognition software and the increasingly difficult task of maintaining computer security.
In addition, students will use a modern programming language to explore the elements of programming. Extensive exercises will be provided to help students master common data types and to see how language features enable data manipulation, decisions, and repeated execution of similar operations. Emphasis will be placed on thoughtful design, clarity of implementation, and the power generated by using modular design.
AP Computer Science A
This course, intended for students without significant programming experience, surveys the field of computer science and teaches the rudiments of computer programming using the AP subset of 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 are prepared to take the Advanced Placement exam. 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.
(1) Being an honors math student.
(2) Rising sophomores: Completion of AGA with an A.
(3) Rising juniors: Completion of Algebra 2 with Trigonometry with an A- or above.
(4) Rising seniors: Completion of most recent math class with an A- or above.
(5) If you don’t meet the above: permission of instructor. (Email Ms. Chou).
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 instructor (email Ms. Chou).
Introduction to Journalism
JOURNALISM I: Introduction to Journalism
Journalism today is not what it was even 10 years ago. Student journalists today still need to be able to write and use sources and evidence well, but they also need to be able to shoot video and craft stories for a short-attention-span audience. And 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 publishing by the second semester.
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-driven 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: completion of Journalism I or rising junior/ senior standing.
JOURNALISM III: Journalism Leadership
Journalism Leadership (III) is only for CoA editors/leaders. Such students get a unique leadership experience. They 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.)
Students in Journalism Leadership may apply to take the course for honors credit. They must submit a proposal to the teacher by early March. The proposal should explain a major project that the applicant will complete during the upcoming school year. Options are open-ended; some possible examples include an original long-form article, a series of articles on a topic, a major video story, a marketing program (planned and executed), etc. Each project must involve substantial amount of work over time and be high in quality. The proposal will be reviewed by a panel of teachers.
Prerequisite: Journalism II & permission of the instructor.
Post AP CS W/ Data Structures & Algorithms(H)
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 instructor (email Ms. Chou).
Introduction to Romance Languages. Latin Gone Wrong!
Where is the romance in Romance languages?
Are French, Spanish, Italian, Romanian and Portuguese really languages of love?
This course will give you the answers by tracing the connections between these five very popular languages. Certainly, they share a basic vocabulary and similar grammatical forms, but there must be more than that! The testimony of history is even more convincing: The Roman occupation of Italy, of the Iberian Peninsula, of Gaul, and of the Balkans accounts for the “Roman” character of the major Romance languages. For these reasons, the course follows a socio-historical approach to the study of the history of Romance Languages. Central questions include which factors lead to linguistic changes, how we should model the relationships between the different languages in the family and how well our theories account for the vast amount of variation that exists within each language in any given period.
This class is taught in English and there are no prerequisites. It is open to all grade levels.