Turn on thread page Beta
    Offline

    1
    ReputationRep:
    Started Computing coursework today. Overall HTML was fairly easy, Databases were alright but the programming was incredibly hard. Any help for the programming would be appreciated as i barely understand it. I will be finishing the coursework in a few days.
    • Thread Starter
    Offline

    16
    ReputationRep:
    (Original post by BigBuckBunny)
    Started Computing coursework today. Overall HTML was fairly easy, Databases were alright but the programming was incredibly hard. Any help for the programming would be appreciated as i barely understand it. I will be finishing the coursework in a few days.
    Honestly can’t offer the best possible advice, but if you read up replies and if your school has done the pizza toppings program it helps a lot, if not I may be able to grab that file, as it’s an external resource it should be safe enough to use or at least reference.
    Posted on the TSR App. Download from Apple or Google Play
    Offline

    1
    ReputationRep:
    (Original post by WestDragon)
    Honestly can’t offer the best possible advice, but if you read up replies and if your school has done the pizza toppings program it helps a lot, if not I may be able to grab that file, as it’s an external resource it should be safe enough to use or at least reference.
    ye that would be helpful thanks
    Offline

    18
    ReputationRep:
    (Original post by BigBuckBunny)
    Started Computing coursework today. Overall HTML was fairly easy, Databases were alright but the programming was incredibly hard. Any help for the programming would be appreciated as i barely understand it. I will be finishing the coursework in a few days.
    With any programming problem, the key to analysing it it is to keep on splitting it down into smaller problems until you have a whole bunch of much simpler individual problems which are solvable (or even better, google'able) on their own.

    For example, if you have a problem which asks you to do something with data typed in by the user, then the first problem to solve is knowing how to get data from the user. You can google for simple problems like that - e.g. "How do I read data from a user in Python?" or "How do I convert a string into a number using Python?" will give you loads of instant answers.

    Also, think carefully about structuring your program in a way which keeps those problems separate too. For example,most console programs include at least 3 separate parts (1) Reading user data, (2) Processing data to calculate results, and (3) outputting results. Try to keep the code for those separate, and treat them as entirely separate/isolated tasks to work on. Don't mix these things up - write them into separate functions and solve them on their own.

    Remember when writing output or calculation code, you can always use "dummy" data to test things - for example, you might write an 'output' function on its own and check that function works just by hard-coding a bunch of temporary random data somewhere, which you'd use to make sure it works the way you expect.

    It can often be useful to write your 'output' function(s) first, because those are the easiest to write and test. Furthermore, once those are done you can use those output functions to help test your data processing logic/calculations/etc. Your output function(s) might also help you think about exactly what kinds of variables and data you need, without you needing to care yet about where that data comes from (e.g. do you need a list? maybe a dictionary? or a list of dictionaries? etc.)

    And while it might sound a bit backwards, doing things this way means you can write your 'input' functions at the end, once the rest of the program is already working properly - doing it this way round might make your life a whole lot easier, because user input in a console app usually just slows down your testing.

    Lastly, (to repeat my previous post) if you haven't been taught how to use a debugger, then do yourself a favour and spend 20 minutes learning how to set breakpoints and step through code (with IDLE or PyCharm or whatever tool you're using), because that should help you quickly see what the problem is when you run into a logic defect that you're unable to clearly see when your program isn't doing the thing you expect.

    Good luck
    Offline

    1
    ReputationRep:
    (Original post by winterscoming)
    With any programming problem, the key to analysing it it is to keep on splitting it down into smaller problems until you have a whole bunch of much simpler individual problems which are solvable (or even better, google'able) on their own.

    For example, if you have a problem which asks you to do something with data typed in by the user, then the first problem to solve is knowing how to get data from the user. You can google for simple problems like that - e.g. "How do I read data from a user in Python?" or "How do I convert a string into a number using Python?" will give you loads of instant answers.

    Also, think carefully about structuring your program in a way which keeps those problems separate too. For example,most console programs include at least 3 separate parts (1) Reading user data, (2) Processing data to calculate results, and (3) outputting results. Try to keep the code for those separate, and treat them as entirely separate/isolated tasks to work on. Don't mix these things up - write them into separate functions and solve them on their own.

    Remember when writing output or calculation code, you can always use "dummy" data to test things - for example, you might write an 'output' function on its own and check that function works just by hard-coding a bunch of temporary random data somewhere, which you'd use to make sure it works the way you expect.

    It can often be useful to write your 'output' function(s) first, because those are the easiest to write and test. Furthermore, once those are done you can use those output functions to help test your data processing logic/calculations/etc. Your output function(s) might also help you think about exactly what kinds of variables and data you need, without you needing to care yet about where that data comes from (e.g. do you need a list? maybe a dictionary? or a list of dictionaries? etc.)

    And while it might sound a bit backwards, doing things this way means you can write your 'input' functions at the end, once the rest of the program is already working properly - doing it this way round might make your life a whole lot easier, because user input in a console app usually just slows down your testing.

    Lastly, (to repeat my previous post) if you haven't been taught how to use a debugger, then do yourself a favour and spend 20 minutes learning how to set breakpoints and step through code (with IDLE or PyCharm or whatever tool you're using), because that should help you quickly see what the problem is when you run into a logic defect that you're unable to clearly see when your program isn't doing the thing you expect.

    Good luck
    Thank you for all this advice hopefully i feel more confident when i continue my coursework
    Offline

    1
    ReputationRep:
    Anyone doing this right now? So stuck like...
    My school just had to be a freak and use Visual basic , anyone have a clue how to use it?
    • Thread Starter
    Offline

    16
    ReputationRep:
    So, I've pasted the code from our example pizza toppings program - to help with the assignment task onto a pastebin link. I can, of course, upload the Livecode file, however not all schools use the same language (annoyingly) so it may be difficult to understand - it's fairly simple in my opinion:

    Useful pointers if you look at the pastebin
    Spoiler:
    Show


    - put: assignment
    - if: selection
    - repeat with counter = .... : fixed loop
    - repeat until: conditional loop
    - random: pre-defined function
    - global: declaring variables



    (Original post by Phantomapple)
    Anyone doing this right now? So stuck like...
    My school just had to be a freak and use Visual basic , anyone have a clue how to use it?
    Unfortunately, our school doesn't, however all I can advise is googling tutorials/watching youtube videos people have made - this should help to refresh your memory or specific areas you need to look into Best of luck!
    Offline

    18
    ReputationRep:
    (Original post by Phantomapple)
    Anyone doing this right now? So stuck like...
    My school just had to be a freak and use Visual basic , anyone have a clue how to use it?
    VB.NET really isn't that much different to other programming languages aside from the basic syntax - which is a lot more keyword based and far fewer symbols, no curly brackets, etc. It looks different compared to C#, Java and Python, but there are actually a lot more similarities with those languages than you might realise - particularly where the .NET Framework is the same between VB.NET and C# (So, things like String.Split, or visual controls like TextBox work in exactly the same way for both languages because both languages use exactly the same .NET library assemblies)

    if you find any example on Microsoft's docs in MSDN, then there are usually equivalent examples between C#. VB.NET, F# and C++ - so you just need to choose the right language

    If VB's Syntax is causing you a problem in the IDE itself, don't forget about intelli-sense in the IDE which can help to guide you (e.g. writing a function). If it helps, copy examples from the documentation and work with those. In case you haven't seen the VB.NET language guide before, this might help get an idea https://docs.microsoft.com/en-us/dot...ramming-guide/


    Also, Syntax Comparison betwen C# and VB.NET - https://en.wikipedia.org/wiki/Compar...ax_comparisons - when you see the two languages side-by-side you can see how similar they really are.
    Offline

    1
    ReputationRep:
    I'm using Visual Basic as well and i'm starting to understand what to do but i am stuck on how to covert a number to a letter.
    • Thread Starter
    Offline

    16
    ReputationRep:
    (Original post by BigBuckBunny)
    I'm using Visual Basic as well and i'm starting to understand what to do but i am stuck on how to covert a number to a letter.
    If you’re talking about assigning the correct letter for the signal, I’d suggest thinking about not changing it into one, but using a different method to acquire the string It’s one of the programming constructs, so if you work with them
    Posted on the TSR App. Download from Apple or Google Play
    Offline

    18
    ReputationRep:
    (Original post by BigBuckBunny)
    I'm using Visual Basic as well and i'm starting to understand what to do but i am stuck on how to covert a number to a letter.
    The ASCII table might be useful: https://www.asciitable.com/
    It shows that the integer value for character '0' is 48, so
    • The integer value for character '1' is 48 + 1 = 49
    • The integer value for character '2' is 48 + 2 = 50
    • The integer value for character '3' is 48 + 3 = 51
    • etc.


    When you have a character code, you can use the String.Chr() method: https://msdn.microsoft.com/en-us/lib...rings.chr.aspx
    Offline

    10
    ReputationRep:
    (Original post by BigBuckBunny)
    I'm using Visual Basic as well and i'm starting to understand what to do but i am stuck on how to covert a number to a letter.
    Don't do it that cause that sounds pretty complicated. Use an if statement to do it. I would go into more detail but I'm pretty sure that's cheating
    Offline

    9
    ReputationRep:
    I finally finished my assignment today! I'm so happy I could cry. Seriously. This is the only assignment I've properly struggled with. I agree with everyone saying the database bit was easy, web was fairly easy and the programming was extremely hard
    • Thread Starter
    Offline

    16
    ReputationRep:
    (Original post by stefbear)
    I finally finished my assignment today! I'm so happy I could cry. Seriously. This is the only assignment I've properly struggled with. I agree with everyone saying the database bit was easy, web was fairly easy and the programming was extremely hard
    Nice to see it went well as you completed it! Now the only thing we need to worry about is the exam
    Posted on the TSR App. Download from Apple or Google Play
    Offline

    9
    ReputationRep:
    (Original post by WestDragon)
    Nice to see it went well as you completed it! Now the only thing we need to worry about is the exam
    Yep I'm hoping I get a good mark on the assignment seeing as I spent so much time stressing about it aha. I should probably think about revising for the exam soon.
    Offline

    1
    ReputationRep:
    You need to study because if you are an expert there are questions in the past papers that you would answer incorrectly. They are questions that I believe should not be in the paper. It has improved slightly but SQA are still not certain where they are going with the syllabus. I have spent the last 10 years supporting the scottish computer exams. I would like experts from the field to be interested enough to review them and have the nonsense removed. Perhaps a talented student could bring it to the forefront. It should definitely be up for debate.
    Offline

    1
    ReputationRep:
    (Original post by stefbear)
    I finally finished my assignment today! I'm so happy I could cry. Seriously. This is the only assignment I've properly struggled with. I agree with everyone saying the database bit was easy, web was fairly easy and the programming was extremely hard
    I think that choosing such a high level language with huge library was the wrong way to go. We need more programmers with hardware knowledge, a low level language would have been a better approach and would have increased everyone's chances of understanding what it's all about. It's a difficult concept to get your head round if you are not a natural. Available languages would be limited to what current teachers can provide, we really need real life developers to teach programming it's much easier to understand when an actual software engineer explains it to you. Well done for completing it, many won't have
    Offline

    18
    ReputationRep:
    (Original post by jaynesophia)
    I think that choosing such a high level language with huge library was the wrong way to go. We need more programmers with hardware knowledge, a low level language would have been a better approach and would have increased everyone's chances of understanding what it's all about.
    Java and Python (And VB/C#) are fine really - the problem seems to be the lack of training and support for teachers and sloppy, clueless exam boards.

    The reason why high level languages are used to introduce programming (not just in schools, but universities too who have a lot of success) is to get students into the mindset of thinking about problem solving and to get them thinking algorithmically without needing to spend too much time worrying about the tools (the programming language is just a tool afterall, whereas programming itself is more about ways of thinking about problem solving).

    Evidently the schools still aren't very successful despite choosing relatively learner-friendly languages like Python, but moving students into a low-level language like C shifts even further away from that goal because it tends to result in spending a lot of time stuck in a quagmire of frustrating errors that they can't just paste into google to get a simple answer - then they'll be learning less about programming and more about nasty "gotchas" with the language and tools instead.

    When students do non-trivial things directly on their native platform in a language like C without the protection of the Java Runtime or the Python Interpreter, the kinds of problems they're likely to encounter are far more fundamental and frustrating than anything which goes wrong in Python. The usual one is their program crashing with a segmentation fault from the Operating System, or the screen filling up with garbage output from a buffer overrun or uninitialised variable - things which are either impossible or very unusual in high-level languages because they protect against some of the nastiest problems with nicely-worded exception messages. Of course, students might not understand the exception any more than they understand the segmentation fault, but it's much easier for a competent teacher to explain what's going wrong.

    I suspect the root cause of the problem boils down to starvation of funding for teacher training and other resources. What schools are trying to do with computer science using Java/Python is pretty much the same thing universities have been doing successfully for decades; the difference is universities are rolling in cash, so they can provide all the necessary support and resources for their lecturers and students.
    Offline

    1
    ReputationRep:
    (Original post by winterscoming)
    With any programming problem, the key to analysing it it is to keep on splitting it down into smaller problems until you have a whole bunch of much simpler individual problems which are solvable (or even better, google'able) on their own.

    For example, if you have a problem which asks you to do something with data typed in by the user, then the first problem to solve is knowing how to get data from the user. You can google for simple problems like that - e.g. "How do I read data from a user in Python?" or "How do I convert a string into a number using Python?" will give you loads of instant answers.

    Also, think carefully about structuring your program in a way which keeps those problems separate too. For example,most console programs include at least 3 separate parts (1) Reading user data, (2) Processing data to calculate results, and (3) outputting results. Try to keep the code for those separate, and treat them as entirely separate/isolated tasks to work on. Don't mix these things up - write them into separate functions and solve them on their own.

    Remember when writing output or calculation code, you can always use "dummy" data to test things - for example, you might write an 'output' function on its own and check that function works just by hard-coding a bunch of temporary random data somewhere, which you'd use to make sure it works the way you expect.

    It can often be useful to write your 'output' function(s) first, because those are the easiest to write and test. Furthermore, once those are done you can use those output functions to help test your data processing logic/calculations/etc. Your output function(s) might also help you think about exactly what kinds of variables and data you need, without you needing to care yet about where that data comes from (e.g. do you need a list? maybe a dictionary? or a list of dictionaries? etc.)

    And while it might sound a bit backwards, doing things this way means you can write your 'input' functions at the end, once the rest of the program is already working properly - doing it this way round might make your life a whole lot easier, because user input in a console app usually just slows down your testing.

    Lastly, (to repeat my previous post) if you haven't been taught how to use a debugger, then do yourself a favour and spend 20 minutes learning how to set breakpoints and step through code (with IDLE or PyCharm or whatever tool you're using), because that should help you quickly see what the problem is when you run into a logic defect that you're unable to clearly see when your program isn't doing the thing you expect.

    Good luck
    All good advice. Just a tiny question, how could you possibly code in any language without the knowledge of how to debug? SQA really don't have a suitable syllabus for this subject, I know very clever kids who tell me they will never understand coding! If you can't deliver it correctly and coherently, then don't. I was last invested in this subject when it was a standard grade and I, as an expert was trying to guide my child through. I taught them how to debug because the teacher didn't know how to. Because I was an expert they became really good, the course work was a blast to them. Teacher didn't understand it and didn't have time to step through it with explanation from someone who had become a knowledgeable confident developer. Result = StudentWhoWillNeverCodeAgain! I presumed that with a new syllabus in place the problems had been resolved. Having now gone through the four papers that exist with another student I find (amongst more) 2017 Qu 9. Since when was a data bus described as a component? The only acceptable answer is interface? The students I know, use windows they know it is a SATA bus and they are marked wrong? If you can't deliver it right, consistent across the board? SQA need to revise with an expert. Students confidence taking a hit is unacceptable.
    Offline

    18
    ReputationRep:
    (Original post by jaynesophia)
    All good advice. Just a tiny question, how could you possibly code in any language without the knowledge of how to debug?
    Yeah, that's one of the worst failures of computer science education. It happened while I was doing my A-levels, and I'm sure that things aren't much different now. I remember having Computer science teachers who were stuck in the 1980s with command-line tools and plain-text editors; it was ridiculous back then and even more ridiculous now IMO. I think it would barely take a single lesson to teach an entire classroom how to start up a Java or Python IDE, stick in a few breakpoints, and step through some simple code with a few if/else and loop statements.

    (Original post by jaynesophia)
    SQA really don't have a suitable syllabus for this subject, I know very clever kids who tell me they will never understand coding! If you can't deliver it correctly and coherently, then don't. I was last invested in this subject when it was a standard grade and I, as an expert was trying to guide my child through. I taught them how to debug because the teacher didn't know how to. Because I was an expert they became really good, the course work was a blast to them. Teacher didn't understand it and didn't have time to step through it with explanation from someone who had become a knowledgeable confident developer. Result = StudentWhoWillNeverCodeAgain! I presumed that with a new syllabus in place the problems had been resolved. Having now gone through the four papers that exist with another student I find (amongst more) 2017 Qu 9. Since when was a data bus described as a component? The only acceptable answer is interface? The students I know, use windows they know it is a SATA bus and they are marked wrong? If you can't deliver it right, consistent across the board? SQA need to revise with an expert. Students confidence taking a hit is unacceptable.
    Totally agree! Well done for taking the time to teach the things that the schools weren't able to do. I'm not sure whether the people who work at the exam boards really care that much - I strongly suspect that it's a funding problem and that they're plodding along trying to spend as little money as possible

    I'm not surprised that a bad syllabus puts them off and makes them hate the subject - I can remember having some really poor textbooks at A-Level, which should have been enough to put me off if not for the fact that I'd grown up through school teaching myself a lot of this stuff. I recall reading textbooks which spent pages waffling on about COBOL, magnetic tapes and analogue modems, with exams asking questions whose correct answers seemed to ignore 20+ years of technological innovation.
 
 
 

945

students online now

800,000+

Exam discussions

Find your exam discussion here

Poll
Should predicted grades be removed from the uni application process
Applying to university
Uni match

Find your perfect match

Our tool will help you find the perfect uni course for you

Make your revision easier

Study Help rules and posting guidelines

Groups associated with this forum:

View associated groups

The Student Room, Get Revising and Marked by Teachers are trading names of The Student Room Group Ltd.

Register Number: 04666380 (England and Wales), VAT No. 806 8067 22 Registered Office: International House, Queens Road, Brighton, BN1 3XE

Write a reply...
Reply
Hide
Reputation gems: You get these gems as you gain rep from other members for making good contributions and giving helpful advice.