I've been learning how to develop in Java over the last year. Recently I've been thinking about putting together a program to help me revise for the OCA exam. My background is in e-learning to I would like to hear from anybody with good ideas for the program or suggestions.
My main aim is to use the program to help myself and others to learn Java inside out. I also plan to start a community based project that will allow others to get up and running in Java. If anybody has any ideas please get in touch.
I m a strong believer in teamwork, spreading knowledge breaking stereotypes about programmers. With the right team we can break new ground. As far as I know there isn't an application that focuses on learning about Java, so there is a massive gap in the market.
Please get in touch if you have any suggestions/ideas or feedback.
All the best,
Given you have completed one year of Java, have you completed any projects from scratch on your own (ideally, several)? From initial requirement gathering, through determining what technologies to use and what are the trade offs between them (example: JDBC vs Hibernate), through implementation, and deployment? I personally think this will be more valuable to you at this time than studying for an OCA exam. If I was interviewing someone, I would rather see the projects (at home and/or at work) they worked on rather than any certifications (that's just me). However, some countries may put much more weight on certifications for those just starting out. You may want to research the value of certifications in your area for someone starting out.
I think the way to get up and running in Java is to read many books and work through a number of examples from each book. Keeping in communication with other programmers (especially experienced programmers) may help if you get stuck or need guidance. However, most of the learning/programming will be on your own. Information is more likely to sink into your skull than having someone else on the team program parts of it for you.
I suggest getting books with good reviews from amazon.com. They are well organized and are written by experienced professionals. I doubt your team will have enough experience at this time to make a contribution to teaching Java via a project.
My previous post may help you in creating a project.
If you want to create a project on your own to help you prepare for the certification, I see nothing wrong with it at this time (regardless of weather or not you want to take the exam) since it will help you learn.
I've written a similar program in the past. Here are some basic requirements I came up with (its not complete). I'm assuming your creating a web based project.
Technologies to use:
JSF, JDBC, Oracle Express database (or similar free database), Tomcat or Glassfish.
Given a file that has a set of sample questions, multiple choice answers, and which answer(s) are correct.
Some questions have only one correct answer.
Some questions have one or more correct answer.
Read the questions and answers and store them in parent and child database tables (primary / foreign key associations). Another database table for the correct answer(s).
Create a user database table that stores the end user's name, userID, and login password.
Create a database table that stores what questions the end user got correct and which he did not, including all his past attempts.
Go through all your database tables and make sure they are well designed (normalized, etc).
Create a JSF page to log in
Create a JSF page to present a subset of questions and multiple choice checkboxes, and correct answers (hidden).
Add a field to let the user enter how confidence he is in knowing the answer (0% to 100%) for a given question.
Add a submit button that determines his score.
Redisplay the page showing all the multiple choice questions with the incorrect ones highlighted from the most recent attempt to answer that question
(even for a different subset of questions he just attempted to answer).
Also, display all the attempts (correct/incorrect) in the past for that question.
Include the following features:
1: the ability to retrieve a range of questions (example: 4 through 7) rather than all of the questions at once.
2: the ability to only retrieve the questions in the above range below a user specified confidence value (example: show questions I'm less than 40% confident).
3: the ability to search and retrieve questions containing a user specified word or words (example: I want to know questions concerning the DNS Server).
4: the ability to display only questions in a range I did not get correct (from all possible questions in that range).
5: provide basic validation (a warning message if he tries to retrieve a range of questions that don't make sense. Examples: attempt to retrieve questions 45 through 109 when there are only 102 questions in the database, retrieve questions 45 through 23 when we know 23 would have to be greater than or equal to 45 to be a valid range).
6: A web page to specify where on the hard disk the file containing the questions is located, and the ability to read it in.
7: Validation of the input file to ensure its in the expected file format. If not, specify what line in the file is bad.
8: By default, the correct answers are hidden on the form. Provide a checkbox that when clicked, displays the correct answer(s) for that question, without having to post back to the database.
I also plan to start a community based project that will allow others to get up and running in Java. If anybody has any ideas please get in touch.
Oracle already has such a site. It is called The Java Tutorials.