IMACS Online Courses

AP® Computer Science

AP® Computer Science: Java Programming is a computer science course leading to the College Board's Advanced Placement Computer Science exam. Over 3,000 students used eIMACS' APCS course this past school year!

AP® Audit Information

IMACS is an authorized online provider. Schools that teach this course are NOT required to submit an audit to the College Board. More »

The curriculum is presented on web pages in which Java compilers are embedded at key points. For all aspects of the course apart from the newly-introduced labs (see below), a Java compiler web service takes care of the compilation and execution of Java programs, so students require only an internet browser when not working on a lab. The course covers the full exam syllabus. A chapter containing practice free-response questions is also included. Additionally, the course contains an optional chapter loaded with challenging topics (beyond the scope of the AP® exam) that will be of interest to more advanced students.

New Labs Introduced for 2014-2015

AP® Computer Science: Java Programming provides eight labs that exceed the College Board's new requirement that students should spend at least 20 hours working in a Java integrated development environment (IDE). Each lab provides the starter code for a project to be imported into a suitable IDE — eIMACS supports the Eclipse and NetBeans IDEs, both of which are free to download and install. Students are guided to develop full-blown, working Java projects in their chosen IDE.

Lab titles: (1) Chatter, (2) Points and Rectangles, (3) Poker, (4) Inventory Tracking, (5) Turtle Geometry, (6) Image Processing, (7) Comparing Sorts, and (8) Elevens.

Interspersed within a well-organized curriculum are exercises to be completed using an embedded Java compiler, graded coding activities, eight labs, and tests that are graded automatically. Teachers access an "electronic gradebook" to monitor students' progress.

The course is designed to be studied either at a student's own pace, or at a pace set by the teacher. This flexibility allows the teacher to permit the more capable students to proceed rapidly at their own pace (and even study the optional, advanced topics), allowing the teacher to more carefully guide the progress of students of lesser ability or motivation.

The course requires that students have access to the internet using a recent browser.

Android App Development

AP® Computer Science: Java Programming includes an advanced tutorial that introduces students to the app development process, from setting up the integrated development environment (IDE) to programming a game app to running it on a mobile Android device. Important aspects of the larger development process are also covered, including an understanding of key technical terminology, how various components of the project code fit together, and how to implement modifications and updates.

The Android app tutorial is presented in a lab format, with students writing code online prior to integrating it into a project in their chosen IDE, and then following detailed guidelines to debug, modify, and improve the behavior of the resulting app. The section includes a number of online coding tasks and a single online test, all of which are autograded.

Embedded Compiler

AP® Computer Science: Java Programming makes use of a web service to embed a Java compiler directly into interactive web pages. The authors use this technology to reveal only those code segments that are immediately relevant to the student. The resulting programs can be executed online with the press of a button.

The advantage offered by this technology is huge! Beginning students can write and test simple programs from the get-go, and it allows more advanced students to focus on the issues immediately at hand.

In addition, some of the interactive web pages include a Java "single-stepper", which students use to single step through programs observing the flow of control and changing variable values.

Automatic Grading

AP® Computer Science: Java Programming features interactive exercises, in which students use the embedded compiler to write and test Java programs, and integrated multiple choice tests.

Exercises, coding activities, labs, and test questions are graded immediately with results relayed to students via the interactive web pages.

Students' progress is monitored using an online electronic gradebook. As each student completes a test, the test is graded automatically and the grade is entered into the gradebook.

Each student has access to his or her grades, and teachers have access to a full gradebook showing the progress of all students in their classes.

Please note that IMACS does not order AP exams for students. Obtaining a copy of the actual AP exam must be arranged through your school or you can visit the College Board's website here for more information.


This online course is used in institutions across the USA and internationally. Click here for a listing of schools that use our curriculum. Several teachers have taken the time to describe their experiences with this course. Read the testimonials »