datum: 18.05.2024

Course code:


Course name:

AP Computer Science A Online

Course length:

2 semesters


9 - 13


FLVS - Florida Virtual School Global


The AP® Computer Science A online course is equivalent to the first semester of a college level computer science course. The course involves developing the skills to write programs or part of programs to correctly solve specific problems. AP® Computer Science A also emphasizes the design issues that make programs understandable, adaptable, and when appropriate, reusable. At the same time, the development of useful computer programs and classes is used as a context for introducing other important concepts in computer science, including the development and analysis of algorithms, the development and use of fundamental data structures, and the study of standard algorithms and typical applications. In addition an understanding of the basic hardware and software components of computer systems and the responsible use of these systems are integral parts of the course.

There are two computer science offerings, and students can take either course in any order or concurrently:
■ AP Computer Science A focuses on computing skills related to programming in Java.
■ AP Computer Science Principles provides students with a broad introduction to computer science and how it relates to other fields. The courses underscore the importance of communicating solutions appropriately and in ways that are relevant to current societal needs. AP Computer Science courses can help address traditional issues of equity, access, and broadening participation in computing while providing a strong and engaging introduction to fundamental areas of the discipline

AP Computer Science A introduces students to computer science through programming. Fundamental topics in this course include the design of solutions to problems, the use of data structures to organize large sets of data, the development and implementation of algorithms to process data and discover new information, the analysis of potential solutions, and the ethical and social implications of computing systems. The course emphasizes object-oriented programming and design using the Java programming language.

It is recommended that students have successfully completed a first- year high school algebra course with a strong foundation of basic linear functions, composition of functions, and problem-solving strategies that require multiple approaches and collaborative efforts. In addition, students should be able to use a Cartesian (x, y) coordinate system to represent points on a plane. It is important that students and their advisers understand that any significant computer science course builds upon a foundation of mathematical reasoning that should be acquired before attempting such a course.
Prior computer science experience is not required to take this course.


The course requires that solutions of problems be written in the Java programming language. Because the Java programming language is extensive, the AP Computer Science A Exam covers a subset of Java.

Major topical areas include:

Highly qualified instructors guide students through online lectures, readings, forum discussions, design and programming exercises, project assignments, and other resources. Student knowledge is assessed through homework assignments, projects, and exams.

Please note that the curriculum in this course requires students to download software to complete programming projects, and this program is not compatible with Chromebooks. Students attempting to complete this course should use a compatible device and not a Chromebook.

Study materials (e-books, Discovery Education, etc. ...) for FLVS Global courses are INCLUDED in the price of the course.

About a course with CSA bot

Enter your name:

>> Jarda

Hello Jarda! I am the CSA bot! Do you want to learn something about programming? (Yes/No)

>> Yes

Good! This is the right place for you! Do you have any prior experience with programming? (Yes/No)

>> No

Never mind! This course starts with the basics in the understandable way suited for begginers. No worries though, if it seems too simple from the start (or if you have already done some programming before), it gets more challenging later. Hence this course is suitable for every mind that likes to learn something new effectively and likes to feel the satisfaction after cracking the challenges waiting in the modules of the course!

Jarda, do you have any other question? Choose one:

  1. What programming language will I be learning?
  2. What I’ll know after finishing the course?

>> 2

The basic concepts of computer science, programming designs, how to write algorithms (e.g. sorting algorithms) and more importantly, you’ll know how to think critically as a programmer. Even if you won’t pursue a career of a programmer, this will ease your further studies, e.g. do you need to process physics lab data using complicated formulas and print the results into neatly designed text output? Easy! The course will open the doors to the vast world of computer science for you and it will lay the critical foundations that will help you to orientate in more complicated programming concepts.

Jarda, do you have any other question?

  1. What programming language will I be learning?

>> 1

You’ll be learning Java. Java is a powerful object-oriented programming language. But it’s not that important what programming language you learn. More important is to learn the concept of programming itself, how to use variables, how to algorithmize etc.

Jarda, now you know everything, so why don’t jump right in?


Course Structure

  • The goals of the AP Computer Science course are comparable to those in the introductory sequence of courses for computer science majors offered in college and university computer science departments. Students completing the AP Computer Science course will be able to:
  • Design and implement computer-based solutions to problems in a variety of application areas.
  • Use and implement commonly-used algorithms and data structures.
  • Develop and select appropriate algorithms and data structures to solved problems.
  • Code fluently in an object-oriented paradigm using the programming language Java. Students will be familiar with and be able to use standard Java library classes from the AP Java subset.
  • Read and understand a large program consisting of several classes and interacting objects. Students will be able to read and understand a description of the design and development process leading to a program such as the AP Computer Labs.
  • Identify the major hardware and software components of a computer system, their relationship to one another, and the roles of these components within the system.
  • Recognize the ethical and social implications of computer use. This course spans 2 sessions requiring a minimum of 10 hours per week.

Recommended course sequence:
Introduction to Programming in Scratch - Digital Information Technology - Foundations of Programming – Procedural Programming – AP Computer Science A – AP Computer Science Principles

Course syllabus

Materials required

For this course you need to secure the following textbook and materials (if lab kit is listed, check first the possibility of using your school lab prior to buying the lab kit):

IMACS Be prepared for APCSP Exam in Javae-Bookincluded in the price of the course
IMACS Java Programminge-Bookincluded in the price of the course
Java, BlueJSoftwarefree download


course fee: 811,- EUR / 19 300,- Kč

Student’s Experience

AP Computer Science A jsem si zvolil, protože mě programování zajímalo už od prvních let na gymnáziu. Tento kurz mě jednoduše a zábavnou formou dokázal naučit základy programování v jazyce Java, které používám dodnes. Instruktorka byla velmi příjemná, podporovala i ve studiu nad rámec kurzu a na jakékoliv dotazy ihned odpovídala. Trochu jsem se bál, jestli tomu budu rozumnět, když bude všechno v angličtině, ale nakonec to nebylo tak téžké a moje jazykové schopnosti se díky kurzu také mnohem zlepšily a byly tím poloeny základy pro moje následné studium v Anglii. Celkově jsme si kurz moc užil a byla to výborná zkušenost. Nakonec děkuji CTM, že tyto kurzy poskytuje, a také mojí škole, která přispívala na náklady kurzu a díky které jsem se o CTM dozvěděl.

Adam K., 2021

At the beginning of the course, I didnt know what the expect. The first modules were very instructive and helped get into some rythm. Overall, the modules were about the same difficulty overall, some being harder and some easier than others. Overall I tried to learn each week for about 9-10 hours, which is the recommended time, mostly reviewing the past module. Some assingments were pretty hard, but it wasnt anything horrible, just more of a way to really test your abilities. I think the course is fairly good.

Tadeáš R., 2021

I really enjoyed this course and felt that it was well taught and that it made almost every concept easily understandable. Compared with my experience with the AP Calculus BC course I took with CTM last year, I also felt that this course was not as time demanding as the previous one.

Kryštof L., 2021

I am very happy with my final grade in this course. It took a lot of work, but it was well worth it. This was by far the best course I´ve ever did. I really enjoyed this course and  I´ve started developing my own mobile app because of it.

Šimon S., 2021

As a student in the year 2020/2021, to attend this course was one of the best decisions of the previous year. I feel like I would have missed out on a great opportunity to learn something, while I had the time for it during the pandemic, and I am therefore very grateful for this course. 

Not only did I get to understand how to program Java, but I also learned how to write emails to people I don’t know, embrace my mistakes, because I could not take them back, or be confident with my work on the outside, even though I wasn’t at all sure with myself. These are all skills that I find highly valuable, and would not have gained - or at least not have them on such a level that I have them now – were it not for this course.

The structure of the course, meaning what was taught when, was probably one of the biggest strengths of the course. The language was very nicely introduced, and then one started to slowly pack more and more to it, as a snowball rolling down the hill. The easiest things were taught at the beginning, and it slowly progressed to harder things.

One of the courses most important part is the instructor. I would like to thank my instructor Michael, who helped me along with the course and always was there when I needed something, and was always really energetic and pleasant. Always when I needed set date for a discussion based assessment, he was completely ready anytime, and that helped a ton. Or anytime there was a problem, something I didn’t understand, a mistake in an assignment, he always came to help, and replied to emails in a matter of 24 hours.

All in all, I think AP Computer Science A was a great new opportunity for me. I really enjoyed it and feel like I made the right decision to study it this year. Not only did I learn programming, but also a bunch of other skills, that are really useful. I spent about 7 hours a week on the course, which is I believe way less than the course states will be needed, but I think this was partly because I already knew a similar programming language. I still had a great time completing the assignments though and am definitely going to remember this course.

Sebastian M., 2021 

Overall, I am very happy with what I have learned. I am able to create complex applications for any platform. All of the knowledge learned in the course can also be applied to other programming languages - I did not have any problems learning C# or javascript.

Rostislav L., 2021

This course was a really nice opportunity to find out if programming is something I would like to do. I found out that it is. It gave me a really good view in programming world. 

Adam K., 2021

This course brought me a new grasp of programming languages. I've pursued fundamental and applicable concepts that I didn't do in free programming language courses before embarking on this course. I enjoyed working on most projects though sometimes it didn't appear to be a doddle. Despite my still little knowledge of Java, I know the basics and am ready to study the uneasiest syntax and stuff that professional Java developers implement in their codes. Furthermore, I thank my instructor for his aid and kindness!

Věra S., 2021