Computer Science Courses 2018-19

Java Programming Using Computational Thinking and Engineering Principles is a one-semester course is an introduction to Java Programming emphasizing its foundation in computational thinking, an interdisciplinary method of scientific inquiry. Topics will be taught emphasizing STEM domains and will include, but are not limited to: data types, variables, and arithmetic operations, strings, arrays, streams and files, graphics, and methods and constructions. Students will also gain experience with object-oriented programming and project-based learning utilizing ideas of computer graphics and game programming and its application in building mathematical models that are of interest to scientists and engineers. D77 Java Programming is a prerequisite to D78 AP Computer Science Java and D86 C++ Programming.

AP Computer Science Java (Weighted) - D78 

This is a two-semester weighted course with emphasis on creating programs and games for desktop computers and mobile devices using the Java programming language and the Eclipse Integrated Development Environment (IDE). Students learn how to design and implement programs using abstract thinking and good software engineering techniques. Topics include Object-Oriented programming, input/output, data types and typecasting, class and method implementation, control structures, objects, file access, recursive programming, and sorting and searching algorithms. Students that take this course will be prepared to take the AP Computer Science A Exam administered by the College Board.

This two semester course provides the beginning C++/Objective-C programmer with fundamental coverage of C++/Objective-C programming topics. The course assumes some programming experience. It covers programming concepts, such as structure, decision making, looping, arrays, and methods, and enforces good style and logical thinking. Objects and object-oriented programming concepts are also introduced.

This two semester course is a continuation D86 C++ Programming. Advanced C++/Objective-C programming techniques that are used to create iPhone and iPad Apps using the latest iOS and Xcode updates. The iOS Sprite Kit is harnessed to create sophisticated video games. 

At the end of each semester students will complete a programming project (App) based on topics covered thus far in the class or researched. The completed Apps will be judged in a programming one or more competitions. These completed Apps may also be submitted to the Apple's App store as a free or paid App.