Upper School STEM Course Overview
3D Design and Printing is a one-semester elective for students at any level of expertise, including beginners. Students will learn the basics of digital 3D design for print as they connect their virtual ideas to the physical world. Using software such as Tinkercad, SculptGL, and 3DView, students will develop a toolbox of design skills as they explore scale and support, visual-spatial reasoning, 2D to 3D translation, functional vs. artistic design, modeling, and the math of 3D printing, including measurement, geometry, and coordinate planes. Students will also trace the connection between design and printed product, including how the production process informs design choices. Software used in this course includes Tinkercad, SculptGL, and 3DView. Students may repeat this course.
Coding is a semester-long elective introducing students to basic coding concepts using the web-programming language Coffeescript. Students will have the opportunity to learn about sequence of commands, conditional structures, and looping structures as they build a coding skill set that will enable more advanced study. This course may be repeated.
Digital Animation is a one-semester elective that introduces students to a variety of digital animation techniques. Students have the opportunity to learn the science of animation as well as the fundamentals of storyboarding and digital storytelling. During the course, students explore both print and digital flipbooks, stop-motion, Claymation, and 2D computer animation. This course may be repeated.
Robotics is a semester-long elective for students at any level of robotics experience. Students will learn the basics of LEGO robotic design using LEGO EV3 Mindstorms robotics kits and will build skills in basic coding and engineering. As students gain experience building robots to accomplish simple tasks and complete challenge-based activities, they will learn the mechanics of design and movement in three-dimensional spaces, honing their skills in creative problem solving. Students in Robotics will be encouraged to participate in multi-school robotics competitions, such as LEGO First Robotics. This course may be repeated.
3D Design and Printing I is a one-semester elective for students at any level of expertise, including beginners. Students will learn the basics of digital 3D design for print as they connect their virtual ideas to the physical world. Using a variety of software applications, students will begin by developing a fundamental design skill set. Along the way, the class will study the relationship between design and production as it examines matters of scale, support, balance, material, and mechanics, allowing the production process to inform design choices. In collaboration with their classmates, students will explore basic engineering principles and learn to communicate their design ideas. This course includes instruction in the basic mechanics and operation of 3D printers.
3D Design and Printing II is a one-semester elective for students who have already mastered the basic technical skills and concepts of digital 3D design for print and who are prepared to work both independently and collaboratively in a project-based environment. Students will hone existing skills, delve into advanced techniques, and tour the larger world of digital 3D design approaches, including digital sculpting and code-based CAD modeling. This class relies on students operating as a community of learners - learning by doing, being willing to both learn from and teach other students, and embracing their role as creators, designers, makers, and producers of original work (instead of being consumers or recyclers of existing designs). Participants in this course will learn the mechanics of a variety of 3D printers as well as learn to operate them. Students will have the opportunity to develop their own projects in consultation with the teacher.
This class will provide an introduction to object-oriented programming in Java. Initial weeks of this course will focus on applying computational concepts learned in the context of the Python language in the syntax and structure of Java. However, the main focus of this course is on object oriented coding concepts, including encapsulation and information hiding, abstraction, inheritance, and polymorphism. As in all coding courses at JDS, Java Programming will include significant focus on problem solving and algorithm development.
In this course, students will be introduced to the fundamental concepts of computer science with an emphasis on problem solving using the programming language Python. The emphasis will be on skills in defining, writing and running computer programs that solve a wide range of problems. This course will be very hands-on and will encourage creativity. This course moves through the Python I curriculum in greater depth and with more challenging exercises, which also go into greater nuance inf coding concepts. Students will be expected to show independence in problem solving skills as well as an ability to implement new coding ideas without explicit examples. No prior programming knowledge is required.
In this course, students will continue to develop their programming skills and deepen their understanding of fundamental computer science concepts. Much of the semester will be dedicated to exploring commonly used data structures and their associated algorithms. Students will encounter lists, stacks, queues, hashes, trees, and graphs. An emphasis will be placed on analysis and implementation of traditional searching and sorting algorithms. Programs will be written in Python.
This class will introduce students to the fundamentals of web design, with a focus on tools such as HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets). Students will begin by learning to plan and design effective web pages and then create successful pages by learning to code in HTML and CSS. By learning some basic graphic design skills, such as page layout, use of images and graphics, text formatting, and incorporation of multimedia, students will finish the course by creating a working, multi-page website. Students need no prior knowledge of web design to succeed in this course.
This course is a semester-long elective for students with some robotics and engineering experience. Students will explore more sophisticated robotic design, working independently with both VEX Robotics and TETRIX systems to explore more sophisticated mechanics and create solutions to more challenging engineering problems. Students in this class will be encouraged to participate in multi-school Robotics competitions as part of the high school FIRST Tech Challenge team.