AP Computer Science A (AP CSA) SUMMER Homework

The prerequisite for AP CSA (Java Programming) is an introductory programming course, such as CS1 (earning an A or B).

HOWEVER, many academically-motivated students without this background can still take AP CSA,
as long as they complete the Summer Homework, which consists of 4 Codingbat units.
(Note: students who have taken CS1 have already completed most of this work.)

The experience of learning a programming language is a lot like learning a foreign language,
i.e. there's a lot of things to juggle from the start.
Having even a few weeks of coding under your belt when you start will make things a lot easier,
so be sure to complete the 4 Codingbat quizzes/assessments below,
correctly answering at least 8 of the 10 questions on each quiz.

______________________________________________________________________________________________________

Go to Codingbat.com and create an account. 

The following will walk you through the process: Codingbat Setup: Step by Step

Your account name (MEMO) should be in the following format: "AP23 Lastname, Firstname"
Use the SHARE feature in preferences to link it to my email address srp4379@lausd.net,
so that I can view your work should you have any problems/questions.

CODINGBAT SOLUTIONS and VIDEO HELP (start with videos 3, 4 and 5)

CB Videos (accessible at home)
  CB1_IntroductionToJavaStrings.mp4
  CB2_JavaStringSubstring.mp4
  CB3_JavaIfBooleanSolutionCode1.mp4  ***
  CB4_JavaIfBooleanSolutionCode2.flv  ***
  CB5_IntroductionToModCode.mp4  ***
  CB6_IntroductionToMakeBricksCode.mp4
  CB7_MakeBricksSolutionCode.mp4
  CB8_FizzBuzzPracticeCode.mp4

HELP Documents

Level-1 introductory units
    Logic-1 Basics
    String-1 Basics #1
    String-1 Basics #2
    String-1 Basics #3
    Array-1 Basics

Logic-1 Resources
    Logic-1 Basics (Introductory Unit)
       isSchoolDay (boolean)
       isSchoolDay (String)
       isSchoolDay (int)
    If Else Structures
    Indentation Rules
    02 QUIZ Variable Types
    03 QUIZ Determining a Method's RETURN TYPE
    04 Writing Methods
    05 Compound Boolean Expressions
    06 Mod01.xlsx
    06 Using Java's REMAINDER-MOD operator
    07 Unit 4 LOGIC
    Regular Section TUTORIAL (Step-by-Step)
       01 cigarParty
       03 squirrelPlay
       04 caughtSpeeding
       05 sortaSum
       07 love6
       08 in1To10
       09 specialEleven
       10 more20
       29 shareDigit
    08 Solutions to Selected Logic-1 Regular Section
    09 UNIT 4 Logic ASSESSMENT/QUIZ

String-1 Resources
    String-1 Basics #1 (Introductory Unit)
    String-1 Basics #2 (Introductory Unit)
    String-1 Basics #3 (Introductory Unit)
    Strings PRIMER
    01 UNIT 5 String
    02 String Review LENGTH(), SUBSTRING()
    03 String Review STARTSWITH()
    04 String Review EQUALS()
    06 String-1 Solutions to Regular Section
    07 UNIT 5 String ASSESSMENT/QUIZ

Array-1 Resources
    Array-1 Basics (Introductory Unit)
    Array-1 PRIMER
    Array-1 Basics
    Solutions to Array-1 Regular Section
    Array-1 ASSESSMENT/QUIZ

Array-2 Resources
    Array-2 PRIMER
    SOLUTIONS to Array-2 Regular Section
    Array-2 ASSESSMENT/QUIZ

______________________________________________________________________________________________________

Below are resources for when the class starts in the fall.

The TEXTBOOK is Building Java Programs: A Back to Basics Approach, 2nd Edition

The programming IDE (Integrated Developer Environment) that we will be using is ECLIPSE, which is already installed on each PC in the computer lab.

If you want, here is a link to download and install Eclipse on your own computer: Eclipse Program


NOTE:

Start up Eclipse and paste your folder (path) into the Workspace when prompted.
If the Navigator view is closed on the left, select: Windows -> Show View -> Navigator.

When you run the program (Ctrl+F11), if you get the error: "Could not find or load main class", do this:
1. In the Navigator tab, Right-click on the Project Name (Chapter01) and select Properties.
2. Click on Java Build Path.
3. Click on the Libraries tab.
4. Remove all the libraries in the list.
6. Click the Add Library button.
7. Select/Highlight JRE System Library (at the top). Click the Next button. Then click Finish.

Eclipse IDE Tutorial (on Youtube).
Remember: you are working in the Navigator view, NOT Package Explorer.

______________________________________________________________________________________________________

A SECOND SET OF CODINGBAT SOLUTIONS FOR THE PROBLEMS IN THE REGULAR SECTIONS.
(plus links to the 4 quizzes)

CodingBat Warm-up Unit #1

Warmup-1
01. sleepIn
02. monkeyTrouble
03. sumDouble
04. diff21
06. makes10
07. nearHundred

______________________________________________________________________________________________________

CodingBat Logic-1 Unit #2

CB (Java) Logic-1

01. cigarParty
02. dateFashion SKIP!
03. squirrelPlay (needed for gotAdvisory)
04. caughtSpeeding
05. sortaSum (needed for evenSum)
06. alarmClock SKIP!
07. love6
08. in1To10
09. specialEleven
10. more20
11. old35
12. less20
13. nearTen
14. teenSum
15. answerCell SKIP!
16. teaParty (needed for digitsEqualOrTwice)
17. fizzString SKIP!
18. fizzString2 SKIP!
19. twoAsOne
20. inOrder (needed for consecutiveOrder)
21. inOrderEqual (needed for consecutiveOrder)
22. lastDigit(needed for digitsEqualOrTwice)
23. lessBy10
24. withoutDoubles (needed for diceDoublesOrLucky)
25. maxMod5 SKIP!
26. redTicket SKIP!
27. greenTicket SKIP!
28. blueTicket SKIP!
29. shareDigit (needed for digitsEqualOrTwice)
30. sumLimit SKIP!

CODINGBAT QUIZ 1
Logic-1: http://codingbat.com/home/srp4379@lausd.net/quiz3

Quiz Question. subjectNow

______________________________________________________________________________________________________

CodingBat Array-1 Unit #3

CB (Java) Array-1
Strings-1 PRIMER! (ARRAY Position numbers / formulas are the same as for the String class)

01_firstLast6.java
02_sameFirstLast.java
03_makePi.java
04_commonEnd.java
05_sum3.java
06_rotateLeft3.java
07_reverse3.java
08_maxEnd3.java
09_sum2.java
10_middleWay.java
11_makeEnds.java
12_has23.java
13_no23.java
14_makeLast.java
15_double23.java
16_fix23.java
17_start1.java
18_biggerTwo.java
19_makeMiddle.java
20_plusTwo.java
21_swapEnds.java
22_midThree.java
23_maxTriple.java
24_frontPiece.java
25_unlucky.java
26_make2.java
27_front11.java

CODINGBAT QUIZ 2
Array-1 QUIZ  

______________________________________________________________________________________________________

CodingBat String-1 Unit #4

CB (Java) String-1

Strings-1 PRIMER!

01_helloName.java
02_makeAbba.java
03_makeTags.java
04_makeOutWord.java
05_extraEnd.java 
06_firstTwo.java
07_firstHalf.java
08_withoutEnd.java
09_comboString.java
10_nonStart.java
11_left2.java
12_right2.java
13_theEnd.java
14_withouEnd2.java
15_middleTwo.java
16_endsLy.java
17_nTwice.java
18_twoChar.java
19_middleThree.java
20_hasBad.java
21_atFirst.java
22_lastChars.java
23_conCat.java
24_lastTwo.java
25_seeColor.java
26_frontAgain.java
27_minCat.java
28_extraFront.java
29_without2.java
30_deFront.java
31_startWord.java
32_withoutX.java
33_withoutX2.java

CODINGBAT QUIZ 3
String-1 QUIZ

______________________________________________________________________________________________________


CodingBat Array-2 Unit #5

CB (Java) Array-2 Traversing Arrays using for-Loops.
Array-2 Primer!

01_countEvens.java
02_bigDiff.java
03_centeredAverage.java
04_sum13.java
05_sum67_SKIP.java SKIP!
06_has22.java
07_lucky13.java
08_sum28.java
09_more14.java
10_fizzArray.java
11_only14.java
12_fizzArray2.java
13_no14.java
14_isEverywhere.java
15_either24.java
16_matchUp.java
17_has77.java
18_has12.java
19_modThree.java
20_haveThree.java
21_twoTwo.java
22_sameEnds_SKIP.java SKIP!
23_tripleUp.java
24_fizzArray3.java
25_shiftLeft.java
26_tenRun.java
27_pre4_SKIP.java SKIP!
28_post4_SKIP.java SKIP!
29_notAlone_SKIP.java SKIP!
30_zeroFront_SKIP.java SKIP!
31_withoutTen_SKIP.java SKIP!
32_zeroMax_SKIP.java SKIP!
33_evenOdd.java
34_fizzBuzz.java

CODINGBAT QUIZ 4
Array-2: http://codingbat.com/home/srp4379@lausd.net/quiz2