-
Computer Science / Robotics
Computer Science
Computer Science 1-2: Programming
Computer Science 1-2 is a CTE (Career and Technical Education) year-long class with no prerequisites. This course first explores basic computational thinking and programming concepts through a visual block-based programming language and project-based learning. Then students will write a series of short, medium-sized and large programs that will teach them how a program is constructed to solve a problem, as well as how to compile and execute the programs they create. The course will cover data types that are usually primitives (ints, strings, booleans), containers (lists, arrays, tuples, sets, dictionaries), basic data structures (linked lists, stacks, queues) and modules. Basic object-oriented programming will be discussed, but it is not the focus of the class. Students will learn about algorithms and creating those algorithms using assignment statements, conditional statements, looping constructs, and methods. Topics such as data representation, computer networks and security, basics of computer hardware and cybersecurity will be introduced.
Computer Science 3-4: Applications
This CTE class is structured like a real world work environment: students will be expected to use both creativity and design principles to create projects. The class will have an emphasis on working in three dimensions, with the students making 3D games, animations, renders, and printed objects. They will be expected to work in teams and meet strict deadlines. We will learn how to design objects with CAD software, and how designs will fare with different 3D printing materials. Students will create their own games, starting with a blueprint/planning phase, creating a game loop, creating win/loss states, and designing the game to be playable by a mouse and keyboard. These games will be written in a typed language. Other CS applications topics that may be covered depending on student interest and initiative are web design, computer architecture, drone technology, cybersecurity and application development. Learning is self-directed, with guidance from the teacher and/or industry professionals on design, goal setting, and industry standard documentation. Projects may be independent or students may choose to work in pairs with a student from the same or a different program.
Computer Science 3-4: Theory (AP Computer Science A)
This course extends what was covered in the CS 1-2 class. It is taught in Java. In this rigorous, fast-paced course, students will learn how to code in Java, one of the top languages sought after by employers. Topics include object-oriented design, data structures, algorithms, problem solving, testing, and the ethical and social implications of computing. The AP test offers the potential for earning college credit and consists of multiple choice and free-response pencil-and-paper coding. Homework is required, and may include online interactive textbook assignments, reading and coding.
IB Computer Science SL 5-6
This course is designed to prepare students for the IB Computer Science SL exam, and will follow the IB Curriculum requirements. Approximately half of the students’ time will be spent reading and listening to lectures, and half will be spent working on labs. The reading and lecture material will be structured to prepare the students for the IB exam, and the labs will be structured to prepare the student to successfully create an Internal Assessment specific to the IB requirements. This course is intended to give students broad experience in relevant aspects of application programming in an Object Oriented (OO) context. Labs will encourage students to collaborate and to navigate the myriad of online resources to learn new techniques. Students will be expected to become proficient in at least these topics: application windows and field handling; input, output, validation, and manipulation of user data from screen, keyboard, mouse, and files; graphics and animation; designing and using complex data structures such as arrays and trees. All development will be evaluated for adherence to good, industry recognized, OO programming conventions and practices. Non-programming class time will be spent learning about basic computer science topics such as, and not limited to: OO design techniques; computer internals; networking; data structures; sorting and searching algorithms.
Robotics
Robotics 1 (Introduction To Robotics)
This is a beginning course in robotics. Students will use Lego Mindstorm Robotics kits to build robots of their own design and use Lego Mindstorm to program them. The robots will have the ability to sense light, distance, turn angle, and touch. The focus of the course is on students working in small teams to accomplish various challenges. For example, one of the challenges requires students to build and program a robot to navigate a field, grab an object, and return to the starting position. A student that takes this course should have a desire to be creative and a willingness to explore. This is a hands-on course. If time permits, students will learn to solder by building a simple kit. Skills learned: engineering design cycle, simple mechanics (gears, levers, torque). programming, processing data and making decisions, teamwork.
Robotics 2 (Competition Robotics)
This is a second course in Robotics. Students will build a robot of their own design (as part of a team) that must meet the design challenges from an external organization (FIRST/FTC). This is a yearly competition held in the spring at various locations in the northwest. Students will learn to cut metal, solder, use and create 3D-CAD models, use multimeters etc. Students will use Java programming and Android Studio to program their robots. Students will be required to participate in one (possibly more) external competitions that will be held on weekends in the winter and/or spring. After the competition the class will provide the opportunity to the students to further their existing design, participate in a different challenge, or possibly to design a robot using parts (and processors) of their own choosing. Students will work to solve problems as a team. All projects will have a writing and presentation component. This class may be taken more than once with teacher approval.