Course Syllabus

Syllabus AP Computer Science, First Semester

Mizzou Academy

Course Description

This course has been developed as an introductory Computer Science Class, taught with the Java language and using one major textbook along with the teacher’s commentary to help explain the concepts further and also provide some companion exercises. The class will be taught online, and will require the student to do the teaching examples as well as the assigned exercises for each lesson. The student will be given an evaluation to carry out at the end of each lesson. Students will be asked to do several programming projects throughout the year and will be expected to practice the principles that they have learned. 

Students are to use Java 17 and use the Eclipse Integrated Development Environment for their project work. 

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. 

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.
  9. Identify aspects of the responsible use of computers.

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 reusable components from class libraries.
  7. Develop object-oriented programs as a solution to a problem in the form of console output.
  8. Use the Math class and the Random class and their methods.
  9. Effectively allow user input with the Scanner class.
  10. Create graphical Java programs that draw shapes.

Lesson 3

  1. Write Java programs using proper structure and syntax.
  2. Use variables, strings, and objects as necessary.
  3. Identify and use correct data types in applications.

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 conditional controls, using if statements.
  5. Explain the limitations of finite representations with imprecision in rounding and floating-point representations.
  6. Effectively use repetition statements in the form of for and while statements.
  7. Use relational, equality, and logical operators effectively to make complex decisions.
  8. Read and understand a problem description, purpose, and goals.
  9. Use character comparisons and the String class.
  10. Use conditionals and loops to draw graphics.

Lesson 5

  1. How is writing a class like creating a blueprint?
  2. Why would you want to create multiple instances of the same object in a single program?

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.

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 and sort information that is contained in arrays.
  5. Create and use multidimensional arrays.

Required Materials

  1. Java Illuminated, J. Anderson, and H. Franceschi, 5th Edition, Jones & Bartlett Learning, 2018.
  2. AP Computer Science A Prep 2022, Penguin Random House, 2021.
  3. Gridworld: Student Manual (pdf). Free download found on the College Board Site. http://www.collegeboard.com/student/testing/ap/compsci_a/case.html 
  4. Quick Reference Guide AP Computer Science A (www.collegeboard.com
  5. AP* Computer Science Case Study: GridWorld (Parts 1 – 4). From http://www.collegeboard.com/student/testing/ap/compsci_a/case.html

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

  1. speakers or a pair of headphones (headphones preferred)
  2. 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.
  3. 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.
  4. Eclipse Integrated Development Environment. Free download. Requires 48 MB of disk space. Installation instructions will be provided in Lesson 2.

† Materials used in connection with this course may be subject to copyright protection.

Technical Requirements

The most up-to-date requirements can be found here: 

Additional requirements for the course are below: 

  • audio and video recording capabilities (e.g. smartphone, camera)

Accessibility

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.

AP - Discussions and Chats

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.

AP - Late Work and Absences

Work must be turned in on time for full credit. If you are unable to complete an assignment on time, contact your instructor immediately. Prior permission from the online course instructor must be obtained for special circumstances to receive credit for late work. These decisions will be made on an individual basis.

You must notify your instructor if you expect to be offline for more than 1 week.

Quizzes & Assignments

You should submit all assigned work in sequence (Lesson 1, then Lesson 2, etc.) Assignments for the course are listed at the bottom of this syllabus.

Quizzes

Quizzes are taken online. After you submit them, you’ll quickly receive a report on how you did. Unlike exams, you may use any assigned readings, your notes, and other course-related materials to complete graded quizzes and assignments.  Please note that graded quizzes cannot be retaken. 

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.

IMPORTANT!

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.

Reading and Using Feedback

After your work has been graded, you will receive a report that provides individualized feedback and 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.

Exams

You are required to take two formal, supervised exams for this course. The first supervised or proctored exam is the Midterm. The second exam is the Final which is composed of a multiple choice portion and practical application. The practical application portion of the exam is the supervised or proctored portion of the Final.

See the "About Exams" in the policies section for additional information on exams at Mizzou Academy.

Grades

Your final grade will be based on the number of points you earn on assignments and exams.

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

After completing the course, unofficial transcripts will be available in the Tiger Portal. See this page for information on requesting official transcripts. 

Canvas and Technical Support

Canvas will be used as the primary platform for accessing course materials and assignments for this class.

Course Summary:

Course Summary
Date Details Due