Course Syllabus

AP Computer Science, First Semester

1/2 Unit Scheduled Course

Mizzou Academy



Course Description:

This course continues first semester’s study of the Java programming language. The use of inheritance, recursion, and linear data structures will be emphasized this semester. Several lab projects will be studied and collaboration will be used to create a final project. The content material and topics follow the current expectations of the College Board; successful completion of both semesters help prepare students for the Advanced Placement Computer Science A Exam.

Prerequisites: Algebra I and Algebra II are required, although Algebra II can be taken concurrently. A student in AP Computer Science A should have some experience in problem solving and a good working knowledge of algebra. The student should also have completed the fall semester of AP Computer Science A with a grade of C or higher.

This course is the equivalent of the first level of a college course in computer science, so the student must be prepared to cover material more quickly than in a regular high school class. The student must be prepared to spend the time needed to complete the work and understand the material. At a minimum, the student must have at least ten hours of computer time available each week to complete the lessons and problems. According to the College Board, successful students must also have competence in written communication so that they are able to provide adequate written documentation in their programs.

Most AP courses consist of 2 semesters and you should complete semester 1 before starting semester 2. AP exams are offered early in May.

NOTE: If you enroll after the start date in an AP course, it is important that you adjust the pacing chart accordingly so you can complete your course before the scheduled AP exam dates or use this link to find more information about Advanced Placement and to see the AP Exam Calendar

Course Introduction

AP Computer Science, First Semester is the first half of a college‐level introductory course in computer science. This course explores the intricacies of object-oriented computer programming using the programming language known as Java. This course models and encourages students to develop and use important problem-­solving skills. Students should also leave this course with the knowledge of how to create well-­designed software. The content material and topics covered in this course have been designed to follow the current expectations of the College Board. Because it is a college-­level class, the expectations are for the student to perform at this level. Satisfactory completion of both semesters of this course will prepare the student for both parts of the most recent version of the AP Computer Science A Exam.

Coursework will include the development of algorithms and programs to solve problems. The design of software and the development and implementation of more complex and useful programs and classes will be a context for learning other important concepts of programming in the Java language. Procedural and data abstraction as well as data structures will also be emphasized in the course.

Course Objectives

At the end of each of the lesson, students should be able to: 

Lesson 1

  1. Identify and apply the multiple steps of problem solving.
  2. Compute storage capacity of memory in bits and bytes.
  3. Explain the relevance of binary code and convert binary numbers to decimal and hexadecimal.
  4. Identify the differences between high- and low-level programming languages and categorize modern languages.
  5. Identify purposes of modern computer hardware and software components.
  6. Classify the causes of basic Java errors.
  7. Identify the basic parts of a simple Java program.
  8. Describe how computers are connected in networks.

Lesson 2

  1. Recognize the various parts of a Java program.
  2. Write simple Java programs using proper structure and recognize correct program syntax.
  3. Describe the difference between objects and primitive data in the Java language.
  4. Use and understand variables, strings, and objects.
  5. Apply data abstraction and encapsulation.
  6. Use re-usable components from class libraries.
  7. Develop object-oriented programs as a solution to a problem in the form of console output.
  8. Declare and use constants and variables.
  9. Identify and use correct data types in applications: integer, double, string, and boolean.
  10. Use the Math class and the Random class and their methods.
  11. Effectively allow user input with the Scanner class.
  12. Describe the difference between a Java application and Java applet.
  13. Create graphical Java programs that draw shapes.
  14. Identify aspects of the responsible use of computers.

Lesson 4

  1. Choose appropriate data representation and design algorithms to help solve problems and design programs that make complex decisions.
  2. Use top-down development of implementing a program.
  3. Use program implementation of sequential steps.
  4. Use program implementation of incrementing.
  5. Use program implementation of conditional controls, using if statements.
  6. Explain the limitations of finite representations with imprecision in rounding and floating-point representations.
  7. Effectively use repetition statements in the form of for and while statements.
  8. Use relational, equality, and logical operators effectively to make complex decisions.
  9. Read and understand a problem description, purpose, and goals.
  10. Use character comparisons and the String class.
  11. Use conditionals and loops to draw graphics.

Lesson 5

  1. Declare, design, and implement a class.
  2. Understand class specifications and relationships among the classes.
  3. Apply functional decomposition.
  4. Implement data abstraction and encapsulation.
  5. Declare methods and parameters.
  6. Determine pre- and post-conditions.
  7. Use method overloading.

Lesson 6

  1. Use Magpie Lab practice by applying concepts to solve real-life problems.
  2. Follow directions to create a program that will design and implement a new class.
  3. Use good programming skills and design techniques to create your second Java programming project.

Lesson 7

  1. Describe how object aliases function.
  2. Use static modifiers effectively.
  3. Create effective software interfaces.
  4. Understand passing objects as parameters and reference aliases.
  5. Use nested classes and inner classes.
  6. Explain the importance of software testing along with exceptions and the general issues associated with commonly thrown exceptions.
  7. Create dialogue boxes for user interaction.
  8. User interfaces effectively.

Lesson 8

  1. Define and use one-dimensional arrays of primitive data and of objects.
  2. Effectively use parallel arrays.
  3. Describe how to pass arrays as parameters.
  4. Explore how to search sort information that is contained in arrays.
  5. Create and use multidimensional arrays.
  6. Examine and use the ArrayList class.

Final Project

  1. Use the Magpie Lab to apply the use of arrays to a program.
  2. Use the software development process to design your own project.
  3. Use good programming skills to write your third programming project.

Required Textbook

  • Java Software Solutions for AP* Computer Science, 3rd Edition. Lewis, Loftus, and Cocking. Addison-Wesley/Pearson, 2011.
  • Barron's AP Computer Science A (with CD-ROM), 7th Edition. Roselyn Teukolsky. Barron's, 2015.
  • † Materials used in connection with this course may be subject to copyright protection.

Technical Requirements

Minimum Technical Requirements:

Refer to the minimum requirements for all Mizzou Academy courses on our website as well as in the "Helpful Resources" section of your course.

In order to complete your required assignments for this course, you also must have:

  • speakers or a pair of headphones (headphones preferred)
  • You will be instructed to download the code, the student manual, and the support materials as needed from the College Board. All of these materials are free of charge.
  • Sun Microsystems, Java SE Development Kit (JDK 8.0). Free download. Requires 155 MB of disk space (207 MB for Mac). Installation instructions will be provided in Lesson 2.
  • BlueJ Integrated Development Environment. Free download. Requires 10 MB of disk space. Installation instructions will be provided in Lesson 2.

How is the course graded?


Your final grade will be based on the number of points you earn on submitted work and exams, which is then weighted across assignment groups. The available weight is distributed as follows:

Weight Distribution
Source Weight
Assessments 50%
Exams 40%
Participation 10%
Total 100%


In order to pass the course, you must achieve a minimum of 60 percent in the exams category. (Canvas will show you the combined percentage automatically in your grade book.) The following grading scale applies only to students who meet this standard:

Grading Scale
Grade Percentage
A 90–100
B 80–89
C 70–79
D 60–69
F 0–59

How and when will I receive my final grades?

After completing the course, you will receive a grade report that gives your percentage and your letter grade for the course.

Mizzou Academy will not mail your grade report until all outstanding balances have been paid.

What are graded quizzes and assignments?

Most Mizzou Academy courses include graded quizzes, assignments, or a combination of the two, with few exceptions. Quizzes are taken online. After you submit them, you’ll quickly receive a report on how you did. Assignments may require you to submit your completed work in the form of a file (such as a text document, image, audio or video recording, or multimedia presentation) or a hyperlink for grading. See your Helpful Resources section of your course for tutorials.

You may use any assigned readings, your notes, and other course-related materials to complete graded quizzes and assignments. The points you earn on your submitted work count toward your final course grade.

You must submit all assigned work in sequence (Lesson 1, then Lesson 2, etc.)

You may use any assigned readings, your notes, and other course-related materials to complete this work. After your work has been graded, you will receive a report that provides individualized feedback and/or comments on your work. Look carefully at what you missed and read any corresponding feedback. Then study the lesson materials to make certain that you can accomplish the associated learning objectives.

Each lesson provides step-by-step instructions on how to submit your work. Be sure to check submitted work carefully for errors (e.g. spelling, grammar, and punctuation) as they may result in points being deducted.

Canvas automatically allows students to resubmit assignments.

However, students should not resubmit assignments without prior instructor approval.

Written Assignments

Some of the written assignments consist of essays that will be submitted to your instructor. That is, for each essay, you will be able to select one of three topic choices. Specific instructions for completing the essay will accompany the topic choices. You will not be expected to do any outside research for the essay assignments. The course material already assigned will be sufficient for you to complete your work.

Your written assignments will be submitted online. 

Organizing Your Work for Submission

I will ask that you keep your work for this course organized into folders, and that you follow a specific convention when naming your folders.

First, create a folder called APCSYourName on your hard drive or portable storage device (where "YourName" is replaced by your own first and last names; for example, APCSMaryJones).

Inside this folder, you will create folders for each lesson and save your assignment files to these folders as directed. Do not use spaces in the names of your files or folders. This can cause problems when you upload.

For most lessons, you will be asked to complete practice programming problems as you work through the commentaries and the textbook reading assignments. You should save these to an Examples folder, separate from the files that you will submit for grading.

Every file that you submit for this course needs to include your name. For programming projects, you will include this information in comments at the beginning of the code.

For lessons in which you are required to submit multiple files, you will be asked to save all of your work to a folder, compress the folder (zip it), and upload the compressed folder to your instructor so that your work can be graded.


You should always back up any work you do. You may do this backup onto a flash drive or onto a network drive—just not on the same computer hard drive on which you are working and saving regularly. I recommend that you perform a backup every day when you finish your work for the day. Always work from your original (if it is available), but make sure that you have the backup as well, just in case something happens to the files on the computer that you normally use or for some reason that computer is not available to you some day.

Canvas automatically allows students to resubmit assignments. However, students should not resubmit assignments without prior instructor approval.

Chats, Conferences, and Discussion Forums

Participation in online discussions (e.g., discussion forums, chats, community projects, and/or instructor conferences) is expected and will factor into your overall course grade.

All online discussions described in course lesson pages are required unless your instructor notes otherwise. Your instructor may also arrange additional required chats or instructor conferences. Be sure to regularly check the course calendar and announcements from your instructor regarding upcoming discussions and requirements.

Your participation in required online discussions will be evaluated on criteria such as frequency, timeliness, thoughtfulness and effort, and overall contribution to the knowledge base and learning experience of your classmates. You are also expected to monitor and respond to posts on discussion threads which you have started or have previously contributed to; you should not simply make a post and consider the discussion “done,” because it should be an ongoing conversation with your peers and/or instructor.

Postings that begin new discussion forum threads will be reviewed based on their relevance, demonstrated understanding of course concepts, examples cited, and overall quality. Postings that respond to other students’ posts will be evaluated based on relevance, degree to which they extend discussions, and tone.

Lessons 1–8 include discussion forum assignments. In order to earn full credit for forum participation, you must (a) respond to the provided prompt and (b) if asked, post a relevant comment to at least two of your classmates’ posts. This may entail asking a question or comparing and/or contrasting your classmate’s post with your own.

In order to earn full credit for discussion forum participation, your posts and responses must be substantive. In other words, you will not earn credit for just replying "Good post" or "I agree" to a classmate.

Three chats are offered during the fall semester: an introductory chat during the first week of class, to help you get oriented to the course; a midterm exam review chat; and a final exam review chat. These chats provide an opportunity for you to ask questions and to interact with your instructor and classmates.


You are required to take two formal, supervised exams for this course.

Exam Matrix
Midterm Exam (covers Lessons 1–9) Final Exam (covers Lessons 10–13)
When to Request an Exam 2 weeks before your midterm exam date 2 weeks before your final exam date
Questions and Type

75 multiple-choice

75 multiple-choice

Points Possible 150 points 150 points
Time Limit 2 hours 2 hours
What to Bring to the Exam Site
  • a valid photo identification
  • your ID number
  • a valid photo identification
  • your ID number

In order to pass the course, you must earn a minimum of 60 percent on the midterm and final exams combined. Look in Canvas to see this percentage.

Preparing for Exams

On all exams, you are allowed to take notes using a personal whiteboard (dry erase board) and marker. At the end of the exam, your proctor verifies that it is wiped clean. This works with both face-to-face and online/Examity proctoring.

Exams are taken online. You can also search and request an exam proctor. It is your responsibility to schedule your exams, so allow enough time (generally 7–10 business days) for our office to receive your request to make any necessary preparations. In your course are "Exam Announcements." These inform you on how to prepare for exams and how to schedule them. 

During exams, unless otherwise noted, you are not allowed to navigate away from the exam or use any other resources. If you deviate from the exam guidelines without proper prior permission, it is considered cheating on an exam. 

At your teacher's discretion, evidence of cheating may be subject to receiving a zero for the exam (which would in turn not allow you to pass the course.) If you have any questions or concerns on what you are or are not allowed to do during an exam, please contact your teacher or Mizzou Academy.

Allowing someone to copy your answers from your exam is also considered cheating and subjects you to the same consequences.

Helpful Resources

See the course’s link (on the left-hand navigation) to Helpful Resources for more information about Mizzou Academy policies, proctored exams, academic integrity, course transfers or withdrawals, library resources, tutorials and more.


If you anticipate barriers related to the format or requirements of this course, please let Mizzou Academy know as soon as possible. If disability related accommodations are necessary (for example, a scribe, reader, extended time on exams, captioning), please contact Mizzou Academy.


If, when completing any of your assignments or exams for this course, you copy from someone else’s work (published or unpublished) without proper acknowledgment, you are guilty of plagiarism. Proper acknowledgment means that you must use quotation marks around any material you have taken word-for-word from another source and state what that source is. If you have reworded someone else’s ideas, you must cite the source of those ideas. If you copy from someone else’s work (published or unpublished, in print or online) without proper acknowledgement, you are committing plagiarism.

At your teacher's discretion, evidence of plagiarism may be subject to either or both of the following actions:

  • receiving a zero for the assignment or exam
  • receiving an F for the course

Allowing someone to copy from your work is also considered cheating and subjects you to the same consequences.

Course Summary:

Date Details