AP Computer Science A Java Wt. (D78) Course Description

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.

To fully prepare for the exams, a modified version of the Institute of Computer Technology (ICT) Curriculum is used. For many of the ICT labs students will modify the lab to run on the Android platform. Students will also be provided with a hardcopy of an AP Computer Science study guide to aid students preparing for the exam. 

Because of the widespread use of mobile devices students will learn to program Android devices. Android is a software stack for mobile devices such as mobile telephones and tablet computers developed by Google. Android uses the Dalvik virtual machine with just-in-time compilation to run compiled Java code. This makes Android devices a great platform for learning Java Programming in a mobile arena.

Students will also learn to design and create games using the Android platform. Because of the complexity of game design and programming, it is an excellent way for students to deminstrate many of the programming techniques they have learned. 

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 competition. These completed Apps may also be submitted to the Android Market as a free or paid App. See the example below.

This course is more than just learning to program. We'll focus on some of the "Big Ideas" of computing, such as abstraction, design, recursion, concurrency, simulations, and the limits of computation. We'll show some beautiful applications of computing that have changed the world, talk about the history of computing, and where it will go in the future. Throughout the course, relevance will be emphasized: relevance to the student and to society. As an example, the final project will be completely of the students' choosing, on a topic most interesting to them. The overarching theme is to expose students to the beauty and joy of computing.

Last modified: Thursday, 16 August 2018, 9:19 PM