Explore ideas, experiment with materials, and build your own devices. Our technology and engineering courses will allow you to learn new skills to bring your ideas to life.
Computer-Aided Design
In this course students learn introductory CAD skills to aid them in the drafting, designing, and engineering process. They learn basic concepts, processes, and skills required of architectural and industrial design professionals. Students design virtual objects and print them on a 3D printer. They begin by designing a piece of furniture. Students are introduced to set design for theatre, and by the end of the class, students have all of the skills necessary to digitally design their “dream house.”
Coding for Visual and Interactive Media
This course blends art and coding by giving students the skills and tools to easily write computer code with visual outcomes. Based on the Processing coding language (simplified Java), students learn the fundamentals of computer programming in a visual context. Students who are new to programming will find the experience intensely satisfying to make something appear on their screen within moments of writing introductory lines of code. The Processing language is used widely in educational settings as well as in interactive museum exhibitions and professional art shows. The textbook is Processing: A Programming Handbook for Visual Designers and Artists, 2nd edition, by Reas and Fry. Pre-requisites: Completed or concurrently enrolled in Algebra 2; ESL 3 or above.
Open Source Engineering
This course introduces students to the world of open source engineering, develops their love of technology and design, as well as improves their problem-solving skills. The lessons and activities are centered on Arduino, an internationally popular open-source software and hardware ecosystem. The course starts with case studies of engineering solutions to real-world problems and then moves on to more complex projects such as monitoring and controlling devices using software, sensors, and actuators. All students work in small groups, maintain engineering notebooks, generate CAD drawings, and write Arduino code. Extension projects include fabricating parts on the school’s 3D printer, programming machines using Python, and participating in off-campus design competitions. Prerequisites: ESL Level 3; completed or currently enrolled in Algebra 2. One of the following: completed Robotics; currently enrolled in Physics; or permission from instructor.
Robotics
This class introduces students to the exciting world of robots. Students learn to identify what a robot is and what it isn’t. They study the myths that surround robots, examine how robots are used in popular media and stories, and consider applications of robotics in many aspects of technology and human experience. Through hands-on design and construction work, students explore how robots are constructed, how they operate, and what their limitations are. The class greatly benefits from lectures by experts in the field of robotics to expose students to the commercial uses of robots as well as future trends. There are field trips to local robotics companies as well as to robotics events and competitions. Students focus on the origins, applications, and latest trends in robotics and learn how robots are built and controlled. There are individual as well as team-based projects for students to test their ideas and compete with each other as well as with outside teams. Prerequisites: ESL Level 2 or higher; instructor approval
Graphic Design
The purpose of this course is to introduce students to elements of graphic design. Students utilize computer programs from the Adobe Creative Cloud such as Photoshop and Illustrator. Class projects include poster design, photo manipulation, logo design, and creating a business identity. Students learn valuable skills in color, composition, and typography and the importance these have on creating eye-catching design.
Introduction to Programming
Introduction to Programming is an exciting course where students learn important concepts related to Computer Science. Students learn with hands-on projects how to go from creating simple programs in Python such as creating a wind chill calculator to more complicated programs including creating a chatbot or a graphics program for playing a game such as scrabble. Important topics include Object Oriented Programming, Standard Algorithms, and Data Structures such as arrays, lists, tuples, Iteration, Recursion, String manipulation, and creating GUIs (Graphical User Interfaces). Prerequisites: Completed Algebra 1. ESL 3 or above
Software Engineering
The Software Engineering course is designed to let students experience the software development lifecycle. The objective of the course is to give students a real world use for the skills they have obtained through programming. Java will be the main programming language that will be used, but others will be discussed, such as Javascript and C. In this course students learn how to design specifications, implement ideas, and finally release a finished software product. The course also covers Quality Assurance Testing, Fundamentals of Computing, Ethics, and Algorithms. Students complete a project comparing Greedy Algorithms to Dynamic Programming, which are both used for sorting and searching data. Prerequisites: Completed Algebra I; ESL 3 or higher; or at the discretion of the teacher based on student’s prior programming knowledge
AP Computer Science A
The Advanced Placement Computer Science A course is taught using the Java programming language. The course objectives are to understand object-oriented software design, to gain fluency in Java, to improve proficiency in selecting appropriate algorithms and data structures, to understand algorithm efficiency especially with regard to sorting, and perhaps most importantly to prepare for the AP Computer Science A exam. There are a variety of exercises, labs, and case studies in this course. The course textbook is Java Methods. Prerequisites: ESL Level 4 and completion of Algebra II or instructor approval