COMPUTER PROGRAMMING COURSES

Course Title: Exploring 3D Printing & Design

Course Length: Half Year/Credits: 2.5

Prerequisite: None

Desktop 3D printing is like today’s printing press, putting rapid prototyping and customizable products within reach of the general public. In this course, students will be provided a hands-on learning experience to explore 3D technologies and learn how to be “makers.” Through various projects students learn how to use 3D modeling software enabling them to take their designs from their mind, create a computerized 3D model and print their design on one of our 3D printers. 


Course Title:  CP Computer Programming 1 (using Python)

Course Length:  Half Year / Credits: 2.5

Co-requisite or Prerequisite:  CP Algebra 1

Intro to Computer Programming (Coding) is a one-semester elective course that introduces students to the field of programming and computer science. During this course, students will learn how to write computer software using the Python programming language. Students will create simple games and applications, create various user interfaces, use variables and data types, and write simple programming constructs and algorithms. They will learn how to take apart and reassemble computers. This course is a pre-requisite for the second semester course entitled Computer Programming 2 - Advanced Coding.


Course Title:  CP Computer Programming 2  (using Python)

Course Length:  Half Year / Credits: 2.5

Prerequisite:  Computer Programming 1

Computer Programming 2 continues the study of methods of writing Object-Oriented/Event-Driven (OOED) applications using Python. Using realistic case studies, students will exhibit their ability to write code for variables, selection structure, repetition, sequential access files, dialog boxes, error trapping, viewing and manipulating databases, and two-dimensional arrays. Students will also demonstrate their ability to work to design, create, test, debug, document, and present advanced, computer software applications/games that incorporate concepts learned in Computer Programming 1. 


Course Title: Honors Computer Science (using Java)

Course Length: Full Year/ Credits: 5

Prerequisite: Teacher recommendation and Computer Programming 1 and 2

Students will learn the basics of programming with Java. Basic object-oriented concepts such as attribute, state, classes, objects and methods are introduced through writing in the context of writing Java code. Encapsulation is discussed as a core object-oriented principle. Students will learn how to code programs, create classes, variables, and write if statements, and loops. Different kinds of errors are discussed, along with debugging in an integrated development environment. By the end of the course, students will be expected to write short classes to specification. This course is a prerequisite for the AP Computer Science A course.


Course Title:  AP Computer Science A (using Java)

Course Length:  Full Year / Credits: 5

Prerequisite: 73 or higher in Honors Computer Science and a teacher recommendation

AP Computer Science A emphasizes object-oriented programming methodology with an emphasis on problem solving and algorithm development. It also includes the study of data structures and abstraction. The implementation language is Java and the course covers the curriculum developed by the College Board. Students enrolled in AP classes are expected to take the AP exam.


Course Title: Honors Robotics Engineering Capstone & Internship

Course Length: Full Year/Credits: 5

Prerequisite: 15 Credits of STEM Academy Electives

Students are challenged with more complex design systems and programming. As students design, build and program autonomous and Tele-remote controlled robots, they are exposed to math, science, engineering and technology principles. They will use 3D CAD software and 3D printing capability for rapid prototyping. They will receive machine shop training using industrial grade fabrication equipment to enable creative design flexibility. They will work as teams to design, build, program and troubleshoot VEX based robots for in class projects as well as competitions with other schools. They will learn how to master project and time management skills in order to accomplish their missions and prepare for the competitive environment outside of the classroom. In addition to these class features they will also be engaged in an out of school internship with an engineering based company. They will work with corporate engineers in a defined role that will give them hands on experience.