{"action":"created","issue":{"url":"https://api.github.com/repos/accesscode-2-1/unit-0/issues/5","labels_url":"https://api.github.com/repos/accesscode-2-1/unit-0/issues/5/labels{/name}","comments_url":"https://api.github.com/repos/accesscode-2-1/unit-0/issues/5/comments","events_url":"https://api.github.com/repos/accesscode-2-1/unit-0/issues/5/events","html_url":"https://github.com/accesscode-2-1/unit-0/issues/5","id":63422822,"number":5,"title":"HW due 3/27","user":{"login":"asaini","id":1134064,"avatar_url":"https://avatars.githubusercontent.com/u/1134064?v=3","gravatar_id":"","url":"https://api.github.com/users/asaini","html_url":"https://github.com/asaini","followers_url":"https://api.github.com/users/asaini/followers","following_url":"https://api.github.com/users/asaini/following{/other_user}","gists_url":"https://api.github.com/users/asaini/gists{/gist_id}","starred_url":"https://api.github.com/users/asaini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/asaini/subscriptions","organizations_url":"https://api.github.com/users/asaini/orgs","repos_url":"https://api.github.com/users/asaini/repos","events_url":"https://api.github.com/users/asaini/events{/privacy}","received_events_url":"https://api.github.com/users/asaini/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":15,"created_at":"2015-03-21T16:13:39Z","updated_at":"2015-03-27T23:09:32Z","closed_at":"2015-03-27T23:09:32Z","body":"Welcome to HW3! All material used in this HW is located [here](https://github.com/accesscode-2-1/homeworks)\r\n\r\n### 1. Recap: Strings and loops \r\nWrite a function **_uniqueCharacters_** which accepts as input a string **S**. Given the string **S** return a string **S2** which contains all the distinct characters in **S**. The input string will only contain lowercase characters. The ordering of characters in the output string does not matter. Eg.\r\n\r\n* abbcaabcaa --> abc \r\n* apple --> aple or aepl\r\n* microsoft --> microsft\r\n\r\n### 2. Java Classes  \r\nYou are provided with a **Person** class. This class has private fields *name*, *phoneNumber* and *city*, along with their getter and setter methods.\r\n\r\n* Write a function called **_checkSameCity_** which accepts as input two Person instances and checks if they live in the same city. The function should return a boolean value\r\n* A *Person* has recently had a child, whose name is 'Abc'. Write a function called **_registerChild_** which accepts as input a Person instance(Parent) and returns a new Person instance for the child, which has the same *phoneNumber* and *city* as the parent.\r\n\r\n### 3. Cryptography : Caesar Cipher\r\nThe Roman General Julius Caesar used to correspond with his generals using a secret code. He devised a way of *encrypting* his messages using a simple encryption scheme now known as **Caesar Cipher** or **Shift Cipher**. You can read more about it [here](http://en.wikipedia.org/wiki/Caesar_cipher)\r\n\r\n* You are given a class called **CaesarCipher** with static methods *encode* and *decode*\r\n* Being amateur codebreakers, we want to know if two distinct looking ciphers correspond to the same input message. Write a function called **_codeBreaker_**, which accepts two cipher strings and returns a boolean value which tells us whether they are actually the same input message encoded using two different offsets. \r\n* There are multiple ways to do this. Try to come up with as many solutions as you can.\r\n\r\n### 4. BONUS : Voting System\r\nYou are given 3 classes\r\n\r\n* **ElectionManager**\r\n    * Conducts an election. \r\n    * Controls start of voting \r\n* **Election**\r\n    * Maintains a list of contenders\r\n* **Contender**\r\n    * Represents details about a contender\r\n        * What is the contender's name? \r\n        * How many votes has he received?\r\n\r\nWrite a program to simulate an election. Create a class called **VotingSimulator**. In the main method, you are required to do the following:\r\n\r\n1. Create an **Election** object, and given the Election a *name*\r\n2. Create a few **Contender** objects. **_Add_** these to the Election object. Make sure that the contender names are distinct!\r\n3. Create a **ElectionManager** object. Ask it to **_manage_** the Election object created above.\r\n4. Ask the ElectionManager to **_initiatePolling_**\r\n5. Follow the instructions on the console. After each round of polling you will be asked(within the console) whether you want to continue or not.\r\n6. Ask the ElectionManager to **_displayResults_**\r\n\r\n### 5. Weekly Requirements\r\n* **WRITE** a Medium post about something technical or non technical you learned this week\r\n* **TWEET** at least once!  \r\n* **Weekly READ**:  [Pass-by-value vs Pass-by-reference](http://stackoverflow.com/questions/40480/is-java-pass-by-reference-or-pass-by-value)\r\n* **WATCH** Weekly Think Piece: [Kathryn Schulz: On Being Wrong](http://www.ted.com/talks/kathryn_schulz_on_being_wrong)\r\n\r\nAfter submitting your HW, please complete a [HW Feedback form](https://docs.google.com/forms/d/1X5X9f44aruFZA3zpTUn3z4P4RffAVlnpY8qOiO_hoFc/viewform?usp=send_form)"},"comment":{"url":"https://api.github.com/repos/accesscode-2-1/unit-0/issues/comments/87117258","html_url":"https://github.com/accesscode-2-1/unit-0/issues/5#issuecomment-87117258","issue_url":"https://api.github.com/repos/accesscode-2-1/unit-0/issues/5","id":87117258,"user":{"login":"alizinha","id":7999010,"avatar_url":"https://avatars.githubusercontent.com/u/7999010?v=3","gravatar_id":"","url":"https://api.github.com/users/alizinha","html_url":"https://github.com/alizinha","followers_url":"https://api.github.com/users/alizinha/followers","following_url":"https://api.github.com/users/alizinha/following{/other_user}","gists_url":"https://api.github.com/users/alizinha/gists{/gist_id}","starred_url":"https://api.github.com/users/alizinha/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alizinha/subscriptions","organizations_url":"https://api.github.com/users/alizinha/orgs","repos_url":"https://api.github.com/users/alizinha/repos","events_url":"https://api.github.com/users/alizinha/events{/privacy}","received_events_url":"https://api.github.com/users/alizinha/received_events","type":"User","site_admin":false},"created_at":"2015-03-27T23:09:32Z","updated_at":"2015-03-27T23:09:32Z","body":"1. <a href=\"https://github.com/alizinha/HW_03-27\">Homework.</a>\r\n2. \"<a href=\"https://medium.com/@alizinha/access-code-2-1-week-4-fa18d46bded6\">Everything You Wanted to Know about Pair Programming But Were Afraid To Ask</a>\" (my Medium.com piece)."}}