Course Expectations
AP Computer Science A (APCS)
2025-26
Dr. Kessner
Marlborough School, Los Angeles
Free periods: CE in D215
Assignments and Grading
You will be given a coding assignment every week.
Each coding assignment has an associated quiz. You can retake any quiz as many times as you like (subject to the 70%/30% retake weighting). However, in order to retake a quiz, you must first write up the code from your original quiz, make sure it runs correctly, and get my approval to retake the quiz.
You will also have at least one larger coding project, which you will present at STEM + Arts Galleries and/or the Celebration of Innovation. You will start on your project toward the end of the first semester.
Weekly schedule
Once we get into the school year, a typical week will look like:
-
1st class: Code demo for new unit, discussion and work period
-
2nd/3rd class: Work period (coding, quizzes)
Time commitment
-
Put time in your schedule to write code every day. You should aim for 7 hours/week. I will be giving you as much time as possible during class to write code, ~1-2 hours/week.
-
Your goal as you approach the week's exercises is to be able to do each exercise without hesitation, within (roughly) 5 minutes. For some exercises, the first time you do it might take 20-30 minutes. Or you might get stuck and need to look at a solution or ask a friend about it. It is your responsibility revisit the exercise later to make sure you can solve it on your own without hesitation.
-
You should not need to "study" for the quizzes. The quizzes are meant to assess whether you have absorbed the new concepts and can solve new but similar problems. If you can do each homework exercise without hesitation, you will be able to handle the quiz problems.
-
There are no tests or midterm/final exam in this course, so no week will be any more difficult or stressful than any other. Instead, so you should be putting in a strong, sustained effort every week.
-
Use the in-class work periods effectively! It is easy to get stuck on a problem. The fastest way to get unstuck is to talk to your classmates (or me). After you've done the exercises, help your classmates! Talking about problems and explaining solutions is a great way to solidify your own knowledge. We're all here to learn together.
Use of Artificial Intelligence (AI)
Recent advances in AI have resulted in great improvements in AI-based code assistants. AI-generated code may look correct, but also may have subtle bugs. Remember that your goal in this course is for you to improve your coding skills.
Coding Assignments
I expect that any code you submit for an assignment has been written by you, using your own brain and fingers.
The coding assignments are for you to practice your skills, and to practice solving problems. Your goal is to be able to solve a similar problem without help. Ideally, you will give yourself time to struggle with the solution, ask classmates, or ask me if you are stuck.
On the other hand, AI code assistants can be helpful to help you get unstuck, including finding potential bugs in your code.
You are allowed to use AI for help, but think of it as a crutch: it's a tool to help you keep moving until you are up and running on your own again.
Quizzes
You will write your quizzes by hand on paper. No AI. Real intelligence only.
Project(s)
If you feel that AI will help your project, you are welcome to use it, subject to the following:
-
You must fully document any use of AI code generation. You may not take credit for code that you did not write.
-
You are responsible for getting your program to run, including debugging all issues. Remember that debugging your own code is difficult enough. Debugging AI-generated code can be even more difficult.
-
If you use a 3rd party web service:
- Be sure not to submit any identifying information
- Abide by the service's license agreement
- Abide by Marlborough's Student Technology Responsible Use Policy