Results 1 to 4 of 4

Thread: Urgent help! Project Advice.

  1. #1

    Thread Starter
    New Member
    Join Date
    Aug 2017
    Posts
    7

    Urgent help! Project Advice.

    I am currenly doing a project in VB.Net where I create a revision tool, prominently targeted towards the ages of 7-11 (upper primary school) that gives them a series of multiple choice questions based around a variety of areas to assess their current academic ability. It will then use this information to output the subject and key areas they need to focus work on. In addition it will then give them quizzes on the weak areas the program identified for each student and will display progress in their designated weak areas.

    I will use data structures such as basic and advanced arrays to serve a purpose & binary search tree to find and search different questions. Also Object-oriented principles can be exploited, with a question class. Inheritance can then be used to model different question types, such as sorting, multiple choice or open-ended.


    I need to make this program "complex" and my idea was the program could learn their area of weakness and present questions based on that area. However I am not too sure how to go about this as I only have a basic/intermediate knowledge and I am trying to expand that and this project is that stepping stone. Advice on how to approach this area would be GREATLY APPRECIATED!

  2. #2
    Super Moderator jmcilhinney's Avatar
    Join Date
    May 2005
    Location
    Sydney, Australia
    Posts
    110,301

    Re: Urgent help! Project Advice.

    For future reference, a title like that is of no use at all. Everyone who posts needs help with a project so you've described every single thread. The title should provide a clear summary of the problem, so that we can evaluate the topic from the forum page and not have to open every single thread to see what they are about.

    As for the question, it sounds an awful lot like an assignment for a class. If it was a genuine application then why would it matter how complex it was. As with any project, the first thing to do is to forget that it's a programming project. Pick up a pen and paper and write down the logic. Write out a clear and detailed set of steps that you could provide to a person with no prior experience that they could follow to get the job done manually. That's your algorithm, i.e. that's what your code actually has to do. Then you can start writing code to implement THAT specific logic. If you don't know what the code has to do then then how can you possibly write code to do it? You don't need any programming experience to work out what the code has to do. Once you do have an algorithm, you can make an attempt to implement each step in turn and then post back when you encounter an actual issue.

  3. #3
    Wall Poster TysonLPrice's Avatar
    Join Date
    Sep 2002
    Location
    Columbus, Ohio
    Posts
    3,834

    Re: Urgent help! Project Advice.

    There is a programming approach you should be aware of:

    KISS is an acronym for "Keep it simple, stupid" as a design principle noted by the U.S. Navy in 1960. The KISS principle states that most systems work best if they are kept simple rather than made complicated; therefore simplicity should be a key goal in design and unnecessary complexity should be avoided.

    I do my best to do that for the main reason I have worked in application support for over three decades and mutter under my breath every time I run into code where someone wanted to be "complex". As someone with, admittedly, only have a basic/intermediate knowledge work on solid "maintainable" coding techniques first. The complexity levels will grow from there.

    Just my two cents
    Please remember next time...elections matter!

  4. #4
    You don't want to know.
    Join Date
    Aug 2010
    Posts
    4,578

    Re: Urgent help! Project Advice.

    I don't really know what question you asked so I can only assume it's something like "How do I start?" My advice is to listen to TysonLPrice and make sure to keep everything you do simple, and take it one step at a time.

    Approaching the whole thing is very, very hard. But I can already see some small issues that are easy to solve. If you take them in a specific order, you can not only save yourself a lot of work, you can spend the bulk of your development time working on a working program that keeps getting better!

    So I'd think about maybe writing things in this order:
    • Design a form that displays one question, and multiple choice answers. It will have a button to accept the selected answer. Hard-code the question and answers.
    • Design the button to "accept" the answer. Make it show a message box that shows you "correct" or "incorrect".
    • Design the "results" page. This page knows whether you got the question correct, and shows you your score: 1 or 0. Make the "accept" button on the question form bring you to this page and show whether you got it right or not.
    • Design logic for a 2nd question. Now your "question" form has to have 2 sets of hard-coded questions, 2 sets of hard-coded answers, and 2 sets of "How do I know what's the right answer?" logic. The final page should show your score: 0, 1, or 2.
    • Now look at how you set up for two questions. How would you add a third? Can you think of a way to store questions, answers, and which answer is right in a file? Yes? Make your program load the two questions from a file.
    • Now support "as many questions as are present in the file". Start with 3. Try 4. Try 5.
    • Now think about how that file, with questions, is sort of a "subject". Imagine a new startup form, that lets you choose between 2 "subjects". Your choice causes it to load the appropriate questions file, then it asks each question, then it shows a score. Implement this.

    That's a series of small steps that build on each other and leaves you with a rather functional quiz application. But it doesn't have the "suggest problem areas" feature. How might we build that in?

    Well, each question probably has an "area" associated with it. So you can update questions to indicate their "area" as part of the file format. And when tallying the "score", you can note which areas had the most questions missed. That's a good start.
    This answer is wrong. You should be using TableAdapter and Dictionaries instead.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width