Explorations in CS: Computing Ideas  (5 credits)

    Prerequisite: none

    The Computing Ideas course is an exploratory computer science course introducing the basics of programming with Karel the Dog.  It introduces the basics of designing a web page, and how information and images are represented with computers. Students will learn to code using blocks to drag and drop, but they can switch between blocks and text as desired. Students will create a portfolio on the web of projects they build throughout the course.

    With a unique focus on creativity, problem solving and project-based learning, Computing Ideas gives students the opportunity to explore several important topics of computing using their own ideas and creativity and develop an interest in computer science that will foster further endeavors in the field.  Students write and run programs in the browser using the CodeHS editor. Students will be able to write both text-based and block based programs in Karel. They will also create webpages using HTML and CSS.


    Computing Science I: Introduction to Computer Science Honors (10 credits)

    Prerequisites: STEM Academy Acceptance

     The Introduction to Computer Science curriculum is based on the University of California at Berkeley CS 10 course, “Beauty and Joy of Computing” (BJC). Introduction to Computer Science explores a variety of basic computational thinking and programming concepts through a project-based learning environment. Every unit culminates in a comprehensive project and much of students’ time is spent building projects and practicing the skills they are learning. Snap!, an approachable visual block-based programming language, is used for introducing students to coding. The year-long class transitions to text-based programming using the beginner-friendly Python language in the second semester.


    AP Computer Science A (10 credits)

    Prerequisite: Successful completion of an Introductory Computer Science course

    Computer Science A focuses on further developing computational-thinking skills through the medium of Android™ App development for mobile platforms. The course utilizes industry-standard tools such as Android Studio, Java™ programming language, XML, and device emulators. Students collaborate to create original solutions to problems of their own choosing by designing and implementing user interfaces and Web-based databases. This course aligns with the AP Computer Science A course.


    NJIT’s CS 100: Roadmap to Computing (5 credits; 3 NJIT credits)

    Prerequisite: Successful completion of an Introductory Computer Science course

     This dual enrollment course (w/NJIT) provides an introduction to programming and problem-solving skills using Python, a very high level language. Topics include basic strategies for problem solving, constructs that control the flow of execution of a program and the use of high-level data types such as lists, strings and dictionaries in problem representation. The course also presents an overview of selected topics in computing, such as the Internet and software engineering. Computing is a profession that requires lifelong learning, which is pursued through activities and using types of materials that are similar to those employed by students. In this course, each student will track their own use of learning strategies and materials in preparation for a knowledge intensive profession.