Computer Science Curriculum

Computer Science, AP Computer Science, Advanced Computer Science AB

What does the teacher say?

The students give me a wide variety of feedback on the difficulty of both computer science and AP Computer Science, and whether they do well seems to vary with ability, personality, and coding experience.

  • I agree that for students with prior coding experience, AP Computer Science is more likely the better choice. Students with experience may be bored in regular Computer Science.
  • I have a good number of students with no coding experience who are greatly enjoying AP Computer Science and succeeding. They mostly enjoy mathematical problem solving, are logical thinkers, and are willing to study and work outside of class to understand the concepts for tests.
  • My regular computer science students generally tell me that the class is easy but the programs are hard. Those willing to ask questions, work during class time, and finish and turn in programs should succeed in the class. Studying for assessments is necessary for those who find the coding challenging.
  • AP supports students who have never coded, but we move fast. I do the best I can to make it accessible for anyone but also interesting to those who have taken Comp Sci. In both courses, I find it is necessary to provide alternate / extra credit programs for those who are not challenged at times by the assignments.

Computer Science

Who should take this class?

  • Students needing a math credit
  • Students who are interested in programming/IT as a career
  • Students wanting to prepare for the AP course
  • Problem solvers
  • Self motivated
  • Independent
  • Good work ethic
  • Willing to work through problems and ask for help when needed
  • Persistant – programs rarely work the first time

What do students say about Computer Science?

"There is a light workload, but the class is interesting and fun. It is also challenging."

"The great thing about this class is that it gives you a great introduction to computer science that is not too overwhelming like the AP course. It is a very fun class and also is giving us real life skills for the future."

"My counselor suggested I take this because it was a math credit with no homework and fairly easy work. This is false. There is no homework but it is very confusing if you don't' go into the class with an interest in the subject. It's interesting but hard to keep up with."

"For a kid who struggles with math but still wants math credits, Comp Sci is a good class with an easy workload. … The content and curriculum is both manageable and engaging, a perfect combination."

"I like regular computer science because it has an easy workload and allows me to thoroughly learn without falling behind. I came in with little to no programming experience and this class gives me a good foundation for when I go on to study Computer Science in college."

"Comp Sci is a fun class, and makes the students think and solve problems."

Homework

Light homework load. Approximately 1/2 hour per week.

Reading Assignments

Assigned reading. Students are expected to read text for additional examples.

Textbook

Beginning programming book. Reading is reasonably light but can be difficult to understand the first time.

Writing

Very minimal. Some test questions require an explanation, at most a paragraph of writing.

Class Structure

Warm-ups, lecture/notes, in class programming, group activities and programs.

Projects & Activities

Many programming "projects" are assigned, but these are typically short and can be completed in one to four days of classwork with focus.

A final project is assigned at the end of the year. This is done alone or with a partner and allows students to apply what they have learned in programming.

End of Course Assessment

Cumulative Final Exam. NOT PREPARED FOR AP EXAM

Topics Covered

(Topics with strike-through are covered in AP Computer Science)

  • Java Basics / Variables & Data Types
  • Arithmetic and String Manipulation
  • Branching / Decisions
  • Iteration / Loops
  • Arrays
  • Graphics Unit
  • ArrayLists, 2-DArrays
  • Methods (partial)
  • Object-Oriented (Class) Design (partial)
  • GUI Design in Java
  • Recursion
  • Searching / Sorting (Algorithms)
  • Inheritance / Polymorphism
  • Interfaces
  • Topics Covered By: June

AP Computer Science

Who should take this class?

  • Solid math grades (B or higher)
  • Interested in IT/programming
  • Seeks a challenge
  • Likes problem solving
  • Prior programming experience
  • Self motivated
  • Independent
  • Great work ethic
  • Good time management skills
  • Able to manage lengthy and demanding assignments.
  • Willing to work through challenging problems and ask questions
  • Can handle the demanding nature of a rigorous math course
  • Able to learn at a quick pace / willing to put in time outside of class

What do students say about AP Computer Science?

"When I came into the class I was nervous because I had NO coding experience whatsoever, but it was not too difficult to catch up! The homework load is not too difficult, but the class can get hard if you fall behind on reading / projects."

"I learn a lot in this class… first year programming, no experience… great class to take!... Keep up, it can be a little bit stressful if you don't."

"I did not take regular Comp Sci before taking AP Comp Sci so it is still difficult for me to keep up. It is important to have a prior knowledge before taking this class."

"At first, I was worried about enrolling in APCS because I thought it would be hard to understand and enjoy. However, after the first 3 weeks of school, I realized that the class is not impossible as long as you take interest and work hard. I even have fun while coding, I don't consider the projects as work."

"I really enjoy this class as the focus is on coding, not tests and assignments like most other (AP) classes. I think the keys to success in this class are communication with and good use of class time."

"Regular computer science was a lot easier than AP computer science because the concepts were simpler, and therefore easier, but if you are really interested in code, logic, and you are up for a challenge, take AP computer science."

"If you have any background in programming, take AP, otherwise, regular."

Homework

Homework assigned is light but students are expected to study the textbook/notes and complete programs if they need more time.

Reading Assignments

Assigned reading. Students are expected to read text for additional examples.

Textbook

College level book. Reading can be challenging and often requires a second pass after trying things out in programs.

Writing

There are free response questions. Student will have to write code by hand at times.

Class Structure

Warm-ups, lecture/notes, in class practice problems and programming practice. Students must work in groups at times.

Projects & Activities

Many programming "projects" are assigned, but these are typically short and can be completed in one to six days of classwork with focus. Some of these are very challenging to think through.

After the AP exam, a 4 th Quarter final project asks students to apply their knowledge to create a running program and demonstrate it to the class.

End of Course Assessment

AP Exam in early May, Cumulative (Practice AP Test) Exam, Final Project (post-AP Exam).

Topics Covered

(Topics with strike-through are covered in Computer Science)

  • Java Basics / Variables & Data Types
  • Arithmetic and String Manipulation
  • Branching / Decisions
  • Iteration / Loops
  • Arrays
  • Graphics Unit
  • ArrayLists, 2-DArrays
  • Methods
  • Object-Oriented (Class) Design
  • GUI Design in Java
  • Recursion
  • Searching / Sorting (Algorithms)
  • Inheritance / Polymorphism
  • Interfaces
  • Topics Covered By: April 15th

Advanced Computer Science AB

Pre-requisite:

AP Computer Science or equivalent

From the course catalog:

This is an advanced course in Computer Science for students looking to continue the study of programming beyond Computer Science or AP Computer Science A. The major emphases in this course are programming methodology, algorithms, and data structures. Applications of computing are used to develop students' awareness of particular algorithms and data structures to provide topics for programming assignments in which students can apply their knowledge. Java is the vehicle for implementing solutions to problems.

Notes:

We do a lot of longer and more difficult programs in this class. Some students really like this but it is necessary that they be able to work independently. If the student did not enjoy the programming assignments for the AP A class, they most likely will not enjoy this class. There is more focus on the projects, but there are still tests. Projects and tests are about equally weighted.