Vision

The F & T Computer Scientist is a curious problem solver, comfortable with the “Big Ideas” of computer science, who is resilient and creative in breaking the mold. They are lifelong learners who use iterative processes to develop innovative solutions. In using iterative processes to develop innovative solutions, students develop the computational thinking necessary to become lifelong learners prepared for the unknown.

Students learn fundamental concepts of computer programming, the iterative nature of engineering work, and the resilience required to persevere through failure. They will primarily use environments and tools designed to teach students high-level concepts in an age-appropriate setting, with opportunities to experience and explore professional-level tools within each unit during the middle school years. Upon entry to high school, students shift to primarily using professional tools, with occasional forays into coding environments designed for young learners.

Goals

Students will draw deliberate connections across units and grades, linking concepts and languages to create more complicated and interesting products.
Students will fully transition to using professional tools, learning to develop software that is production-worthy.

Course Overviews

Course Description
Software Engineering 6 In 6th grade we explore the foundations of Computer Science and Software Engineering through units on Digital Literacy and Productivity Applications, Introduction to Computer Science Concepts with Scratch (Block Programming and Game Design), Introduction to Processing with p5.js, and  Web Design (HTML & CSS). Students enter 6th grade learning how to successfully use productivity suites like G Suite and manage their digital identities safely. Students explore the fundamental concepts in computer science and programming, including scripts, loops, conditionals, booleans, variables, and functions, through  block-based game design in Scratch. Students also get exposure to the fundamentals of Javascript and Processing using p5.js to design their own emoji. In the spring, 6th graders begin developing their first web page in the professional front-end web design languages HTML & CSS.
Software Engineering 7 Entrepreneurship is introduced to students in grade 7 software engineering classes.  Students spend time exploring various STEM careers and explore the integration of technology with sports, medicine and business.  Students continue to explore the foundations of Software Engineering through units on Web Design and Game Design.  Working in groups, students create a business which is then presented, along with a website and animation, during a grade-wide Business Expo.  Winning groups have the opportunity to compete in the Network For Teaching Entrepreneurship’s (NFTE) annual “Youth Entrepreneurship Showcase.”
Software Engineering 8 In 8th grade, students transitioned to using only text-based languages. They begin the year using Python, reviewing and revisiting key computer programming concepts. Students then study hardware engineering using the Arduino platform and programming language. Using their hardware and software experience, students undertake a Performance Task to solve a need in the community. Past projects have included research and solutions for noise and air pollution. In the spring, students move to the web, working with HTML/CSS/JavaScript to develop interactive websites and using p5.js to for creative computing.
Computer Science 9 Students in 9th grade begin high school Computer Science with a return to basics. Students briefly review programming concepts using the SNAP programming language (used later in AP CS Principles BJC) and learn the lab structure and independence required for success in higher level CS work. Students then transition to Python, exploring new techniques and features of the language, as well as the kind of writing and analysis they can expect to encounter in future courses. The primary goal for students in this course is to build stamina and independence in problems solving and creativity.
Computer Science 10 This is the first full-year computer science course students take in high school.  Regardless of the 9th grade CS course taken, students dive deeper into foundational concepts of computer science, such as programming, algorithms, abstraction, and creativity, through working on several projects using Processing (a Java based language). Students continue their dive into programming by creating a web app using JavaScript and by creating a mobile app using Touch Develop.  At the end of the course, students create an original program in a language of their choice.  Throughout the course, and on the culminating task, students are introduced to the kind of writing and analysis they’ll be expected to do in higher level CS courses, especially AP CS Principles.
AP CS Principles 11 Following the Beauty and Joy of Computing curriculum developed by the University of California, Berkeley and the Education Development Center, students “explore how computing and technology can impact the world around them, learn and apply the foundations of computer science to address real-world problems, and pursue their interests in digital projects that showcase their creativity.”1

From the AP CS Principles – Beauty & Joy of Computing syllabus:

Students are primarily evaluated on the basis of their work, which can take the form of reflections, writing assignments, and programs. Self-check quizzes are built into the Beauty and Joy of Computing lab pages, and end-of-unit assessments help to prepare students for the AP Create and Explore through-course assessments.  Students are required to complete the AP Through-Course Assessment: Explore – Impact of Computing Innovations performance task and the AP Through-Course Assessment: Create – Applications from Ideas performance task. In addition to the through-course assessments, students will take the AP CS Principles Exam in May.

 

1AP CollegeBoard Course Overview

AP CS A AP Computer Science A is equivalent to a first-semester, 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. These techniques represent proven approaches for developing solutions that can scale up from small, simple problems to large, complex problems. The AP Computer Science A course curriculum is compatible with many CS1 courses in colleges and universities.1

 

1AP CollegeBoard Course Overview