Computer Science

Philosophy
The computer science curriculum prepares students to succeed in this rapidly expanding technological society. Instruction focuses on programming, analysis, independent reasoning, and problem solving. The sequence of courses is geared toward students who are interested in pursuing a technological, STEM course of study (computer science, engineering, robotics, etc.) after high school.
Course Offerings and Descriptions
Designed to be the first course in a sequence ending with Java, CMP101 provides students with solid problem-solving and programming skills in a clear, coherent format. Students will be introduced to object oriented programming using Microsoft programs. Topics include: fundamentals of programming, input routines, print formats, simple graphics, looping, and arrays.
 
Credit: 5
Quality Point Group: I
Open to Grades: 8, 9, 10, 11, 12
Prerequisite: None
The purpose of this course is to continue the content of the prerequisite course with an elaboration of C-based languages, specifically C++. Topics shall include : basic language but not limited to the fundamentals of C++, top-down program design, functions, classes, and objects. This course is designed to be the second course in a sequence ending with Java.
 
Credit: 5
Quality Point Group: II
Open to Grade: 9, 10, 11, 12
Prerequisite: Minimum grade of B in CMP101 Introduction to Programming or skills assessment (placement test).
This survey course further enhances the skills acquired in Visual Basic (CMP101) and/or Honors Intermediate Programming (CMP 200) by incorporating the design and programming aspects of websites. Students will learn to code in HTML, various scripting languages including JavaScript and PHP, and to graphically design web interfaces using Adobe CS5. Topics include: scripting, object-oriented programming concepts and language basics; web security; computer ethics; copyright; team formation, managing projects.
 
Credit: 5 Quality Group II
Open to Grade: 9, 10, 11, 12
Prerequisites: Final grade of B in either CMP101 (Introduction to Programming) or in CMP 200 (Honors Intermediate Programming - C++)
The Advanced Placement Course in Computer Science is structured according to the guidelines of the College Board Advanced Placement Program. It is a rigorous course taught in the Java programming language. The course is intended for the mathematically able and analytical student who is able to demonstrate proficiency in the areas of problem solving, reading, writing and using math notation at the Algebra II level, and general writing skills. Students considered to take the AP course in Computer Science must be highly motivated to keep up with the fast-paced schedule of project deadlines. They must be interested in and capable of working through independent study assignments with guidance from the instructor. Topics to be covered include program design, implementation and analysis, standard data structures, standard algorithms, and computer systems.
 
Credit: 5
Quality Group III
Open to Grade: 10*, 11, 12
Prerequisites: Minimum grade of B+ in Honors Intermediate Programming - C++ (CMP 200) and required placement test.
The Advanced Placement Computer Science Principles course is designed to be equivalent to a first-semester introductory college computing course and is the year-two course for students working within the Interactive Design/Computer Science Track for the PJ STEM program. APCSP is organized around the investigation of seven big ideas (Creativity, Abstraction, Data and Information, Algorithms, Programming, The Internet, and Global Impact), all of which are fundamental principles essential to thrive a variety of computing and STEM careers. It provides a pathway for becoming a well-educated and informed citizen who understand how computer science impacts people and society.
 
Credit: 5
Quality Group III
Open to Grade: 9*, 10, 11, 12
Minimum grade: B+ (MAT101 or SCI100), or have taken MAT102, or MAT teacher recommendation
Prerequisites: Students do not need to have prior computer science knowledge or experience. A strong foundation in basic algebraic concepts dealing with function notation and problem-solving strategies. Students should be able to use a Cartesian (x, y) coordinate system to represent points on a plane.
*Grade 9 students may enroll after successfully completing Innovations (SCI100)