Skip to content

Implement Java Exercises #3

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
39 of 53 tasks
kytrinyx opened this issue Feb 28, 2014 · 17 comments
Closed
39 of 53 tasks

Implement Java Exercises #3

kytrinyx opened this issue Feb 28, 2014 · 17 comments
Labels

Comments

@kytrinyx
Copy link
Member

kytrinyx commented Feb 28, 2014

Copied from exercism/exercism#933 /cc @sit

Minimum Exercises to Implement

The following exercises are required to be created for the path to be launch.

  • bob
  • hamming
  • word-count
  • anagram
  • nucleotide-count
  • phone-number
  • grade-school
  • robot-name
  • etl
  • meetup

Additional Exercises to Implement

After the initial set of exercises the following should be implemented to have a more complete test suite.

  • space-age
  • gigasecond
  • triangle
  • scrabble-score
  • roman-numerals
  • binary
  • prime-factors
  • raindrops
  • allergies
  • strain
  • atbash-cipher
  • accumulate
  • crypto-square
  • trinary
  • rna-transcription
  • sieve
  • simple-cipher
  • octal
  • luhn
  • pig-latin
  • pythagorean-triplet
  • series
  • difference-of-squares
  • secret-handshake
  • linked-list
  • wordy
  • hexadecimal
  • largest-series-product
  • kindergarten-garden
  • binary-search-tree
  • matrix
  • robot-simulator
  • nth-prime
  • palindrome-products
  • pascals-triangle
  • beer-song
  • sum-of-multiples
  • queen-attack
  • saddle-points
  • ocr-numbers
  • simple-linked-list
  • linked-list
  • point-mutations

Not Allowed to Be Implemented

These exercises were inspired by Java Ranch and are not allowed to be implemented.

  • leap
  • grains
  • say
@sit
Copy link
Contributor

sit commented Feb 28, 2014

Woohoo! 👏

I really need to get this launched.

@kytrinyx
Copy link
Member Author

I've created a proper config file so that it's easier to launch new language tracks.

The file is config.json, and the two most interesting features right now are:

  • "active": false (the API knows about the Java track but will not serve exercises until this is true)
  • "problems", which is the list of exercises that the API will serve up, listed roughly in order of increasing difficulty.

These are the problems we have so far:

anagram
assignments
bob
etl
grade-school
hamming
meetup
nucleotide-count
phone-number
robot-name
word-count

This is enough to launch the track, provided that we can have someone around who knows enough Java to help nitpick.

I can ping the peeps at ThoughtWorks, since they do a bunch of Java, and expressed interest in the project.

@spudone
Copy link

spudone commented Sep 30, 2014

I just found out about this project; have extensive Java dev background and can help nitpick if needed.

@kytrinyx
Copy link
Member Author

kytrinyx commented Oct 1, 2014

Fabulous. We have enough problems to kick it off. Do you want to take responsibility for bringing in a handful of extra people who can help out with the nitpicking up front?

@virtuoushub
Copy link

Hi, I also recently found out about this project, know a bit about Java, and would like to help nitpick. I do not think I can bring in extra people to help out with the nitpicking upfront, however I will do my best.

@kytrinyx
Copy link
Member Author

kytrinyx commented Oct 8, 2014

Cool, I would ideally like to have 3 or 4 people committed to helping with the nitpicking up front.

@virtuoushub
Copy link

@kytrinyx, what is the best way for me to get started?

@kytrinyx
Copy link
Member Author

As soon as we launch (like I said -- I still need more people to commit to it) then the best way to get started would be to solve the first few java problems yourself, and then check the list of pending exercises once a day or so to give feedback to people who have submitted solutions.

@virtuoushub
Copy link

Understood. Did you ping ThoughtWorks about help with nitpicking?

@kytrinyx
Copy link
Member Author

I didn't, and I should! I've added it to my todo list to do as soon as I get home from this trip.

@virtuoushub
Copy link

Hi @kytrinyx, when are you back from your trip?

I got my development environment stood up and started solving some Java problems locally.

@kytrinyx
Copy link
Member Author

I'm back now. Going to process my TODO list this weekend.

@kytrinyx
Copy link
Member Author

I've pinged them.

@hrj
Copy link

hrj commented Oct 30, 2014

My team is very interested in this. We are planning to mentor a few students through the exercism platform, and Java is our poison of choice at present. I would be happy to nitpick Java submissions once in a while (but no serious commitments).

One thing though; Some of the Java tests are pulling in third-party dependencies. IIRC there are dependencies on Guava, joda-time and on some JUnit extension. From a cursory look, the dependencies don't seem to be all that necessary.

  • Guava: only the immutable map is used, and it doesn't seem necessary.
  • joda-time: Java 8 has revamped support for date-time in the standard library.
  • JUnit extension: I am not sure about this one. Perhaps there are some JUnit facilities that could be used instead.

In the interest of beginners, it would be great if these dependencies can be avoided, since they are an additional burden to understand. Our team would be happy to submit PRs with fewer dependencies if that is fine with you all.

Thanks,
HRJ

@kytrinyx
Copy link
Member Author

I am very supportive of pull requests that reduce third party dependencies.

@kytrinyx
Copy link
Member Author

@hrj did you have a chance to talk to your team about possibly simplifying the test dependencies here?

kytrinyx added a commit that referenced this issue Apr 2, 2015
Added 'say' exercise as foregone (see #3)
kytrinyx added a commit that referenced this issue Apr 2, 2015
Added exercise space-age (see #3)
kytrinyx added a commit that referenced this issue Apr 2, 2015
Added exercise gigasecond (see #3)
kytrinyx added a commit that referenced this issue Apr 3, 2015
Added triangle exercise (see #3)
@jtigger jtigger added the code label Jul 3, 2015
counterleft added a commit to counterleft/xjava that referenced this issue Jan 3, 2016
The tests assume that the Deque and Element classes are
implemented with generics.

The example implementation keeps track of a circular
head Element.

Completes one task in
exercism#3
counterleft added a commit to counterleft/xjava that referenced this issue Jan 3, 2016
The tests assume that the Deque class is implemented with generics.

The example implementation keeps track of a circular head Element.

Completes one task in exercism#3.
counterleft added a commit to counterleft/xjava that referenced this issue Jan 3, 2016
The tests assume that the Deque class is implemented with generics.

The example implementation keeps track of a circular head Element.

Completes one task in exercism#3.
counterleft added a commit to counterleft/xjava that referenced this issue Jan 3, 2016
Tests and example implementation based on the ruby exercise.

Completes a task for exercism#3.
counterleft added a commit to counterleft/xjava that referenced this issue Jan 8, 2016
Tests and example implementation based on the ruby exercise.

Completes a task for exercism#3.
@kytrinyx
Copy link
Member Author

kytrinyx commented Apr 2, 2016

We have a new process that you can use to find exercises to implement.
You can read all about it here.

I'm closing this issue in favor of the process described in the Contributing guide linked to above.

Thanks!

@kytrinyx kytrinyx closed this as completed Apr 2, 2016
flbonanni added a commit to flbonanni/java that referenced this issue Apr 30, 2022
exercism#2 asks to display the distance driven and exercism#3 asks to display the battery percentage, however instructions in exercism#3 accidentally were the same as exercism#2. I've corrected accordingly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants