High School, Computer Science

College Python Programming

This course is equivalent to a semester-long college-level course in computer science. The course introduces students to coding essentials including problem solving and program design, algorithms (sequence, selection/decisions, iteration/loops), data collection (lists, sets and scalar values), abstractions (procedures, functions), graphical user interfaces and user experience design. This is a project-based learning course where Python applications will be created and explored within a backdrop of traditional problems and more current computer science fields such as data visualization, machine learning, web scraping and integration with engineering projects. 

AP Computer Science Principles

This course is equivalent to a first-semester, college-level course in computer science. With the strong foundation provided by Pre-AP Computer Science, this course continues to teach students about computer science focused around seven big ideas: creativity, abstraction, data & information, algorithms, programming, the Internet, and global impact. The course will use MIT App Inventor and the Blockly programming language to teach students about programming concepts in the context of mobile application development. The AP Computer Science Principles course includes two performance based tasks: “Explore,” a written exploration of relevant computer topics; and “Create,” a creatively designed programming app. Collaboration will also be a key component in the class. Pre-AP CSP is designed to be a prerequisite for AP CSP-A, and/or Mobile Apps & Entrepreneurship. Prerequisite: Pre-AP Computer Science.

AP Computer Science A 

This course is equivalent to a semester-long, college-level course in computer science. The course introduces students to computer science with fundamental topics that include problem solving, design strategies and methodologies, organization of data (data structures), approaches to processing data (algorithms), analysis of potential solutions, and the ethical and social implications of computing. The course emphasizes both object-oriented and imperative problem solving and design using Java language. The AP Computer Science A course includes a minimum of 20 hours of hands-on structured lab experiences to engage students in individual or group problem solving. Prerequisite: AP Computer Science Principles. This course may not be offered every year.

Advanced Topics in Computer Science

This course will be a student driven course in advanced computer science topics. The course is currently through independent study with a teacher as advisor and guide. Students pursue topics of interest to them. Usually students who take this course have taken all other CS courses offered at the school and plan to pursue computer science in college. Topics that students have previously learned include JavaScript, Cybersecurity, Machine Learning and Advanced Mobile Application Development. Other topics may include  jQuery, SQL, Flash, Unity or trending areas of study.

Mobile Apps & Entrepreneurship

This course provides an opportunity for students to further expand on their “Create” projects, which they began in AP Computer Science Principles, and bring them to fruition as real products in the market. Students learn about entrepreneurship, including market research, target markets, and business plans. They also learn additional tools for creating mobile apps, discuss and use the iterative design process, and refine their apps to make them production ready. Finally, students learn how to market their apps while considering branding, advertising, social media, monetizing, and preparing for support. The goal for the end of the course is that students will develop and upload their own app in the Apple Store or Google Play. Prerequisite: AP Computer Science Principles