APCS Java

APCS Java

By Chris ThielEducation
Download on the App Store

APCS Java episodes

  • Dr Java interactions


    Click on the title to see the video. Here I show how to try the code snippets that you will see while reading Chapter 2 of Horstmann, "Java Concepts"
    0 min
  • Cryptography

    Starting Code:


    import java.util.Scanner;
    /**
    * Simple Polyalphabetic Cryptography
    *
    * @Chris Thiel
    * @28 Feb 2009
    */
    public class VignereCipherStartingCode
    {
    private static final String alphabet="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    private static int nextChar(String k, int i){
    i=i%k.length();
    String letter=k.substring(i,i+1);
    return alphabet.indexOf(letter);
    }
    public static String encode (String m, String k){
    String result="";
    for (int i=0; i int offset=nextChar(k, i);
    String letter = m.substring(i,i+1);
    int newLetterIndex= alphabet.indexOf(letter)+offset;
    newLetterIndex=newLetterIndex % 26;
    result+=alphabet.substring( newLetterIndex, newLetterIndex+1);
    }
    return result;
    }
    public static String decode (String m, String k){
    String result="";
    return result;
    }
    public static void main(String[] args)
    {
    Scanner kb=new Scanner(System.in);
    System.out.print("Type a key: ");
    String key=kb.nextLine();
    key=key.toUpperCase();
    key=key.replace(" ","");//omit spaces
    System.out.print("Type a message: ");
    String message=kb.nextLine();
    message=message.toUpperCase();
    message=message.replace(" ","");
    System.out.println("Using the key \""+key+"\" on \""+message+"\":");
    String codedMessage=encode(message,key);
    System.out.println("Coded="+codedMessage);
    System.out.println("Decoded="+decode(codedMessage,key));
    System.out.println("Using the key 'LOVE' we encode 'BOOHOO' we should get 'MCJLZC' : "+encode("BOOHOO","LOVE"));
    System.out.println("Using the key 'QUICK' we decode 'TOKMXEQ' we should get 'DUCKNOW': "+decode("TOKMXEQ","QUICK"));

    }
    }






    • 8 points: Complete the decode method so it can decipher the Vignere Cipher
    • 9 points: Adapt this so it can do a Progressive Polyalphabetic Cipher rather than a key
    • 10 points: Adapt the CarTalk Employee Applet's graphic user interface so that you can type a message in one text area, press a button and it shows the encoded text (using the Progressive Cipher), press another button and it shows the decoded text.
    • 11 points: Add a "key field" to the Applet, and use the Vignere Cipher, working in a similiar fashion as the 10 point version
    0 min
  • Cheater Catcher Project






    Part 2: Organizing the report that shows possible plagiarism might require another data structure to sort. Download the files you need to get started at here. Click the title to see the video.
    0 min
  • JUnit Testing
    Writing code to test the code you want to write! Sounds crazy but it is the quick way to make sure the code does what you want it to!
    0 min

About APCS Java

From the publisher's feed

Video Podcast for folks in Advanced Placement Computer Science A. (WIKI)  (