The Student Room Group

Ask me any A-Level Computer Science questions!

Scroll to see replies

Original post by Priyanboss517
Yeah for some reason as well i enjoy maths. Probably the subject i enjoy the most. Its the opposite here for me with physics and chemistry. I find thay physics just doesn't go well with me here as chemistry is doable for me although it requires so much time to understand.


Well, if you have any Physics question then, you could ask me and I'll see if I can help you with it :smile:
Reply 21
Original post by owenlearnstopun
Well, if you have any Physics question then, you could ask me and I'll see if I can help you with it :smile:


Yeah definitely. Chemistry does have some emission and absorption spectrum calculations as well as pv=nrt and all of the gas equations. :tongue:
Which exam board are you actually doing? I presume it's not OCR since we can do Java in the OCR program, not to mention that there's a project also involved.
Original post by Priyanboss517
Exactly how hard is it to learn how to program??


It depends what you mean by "hard" and it depends what you mean by "learn how to program". In terms of difficulty, it's about the same as learning a new foreign language, or learning to play a musical instrument, or even learning a trade skill such as carpentry or plumbing.

Have a look at this link: http://norvig.com/21-days.html

If you want to learn how to "be a programmer" (which is typically what most people mean by 'learn how to program'), there are a whole bunch of skills you need to learn:

The syntax and rules of at least one programming language (A full, turing-complete programming language such as Python, C, Java, C#, C++, etc. Not languages like HTML or CSS - those aren't "programming" languages, although they are useful to know if you're interested in web development).

Computational thinking (a.k.a. how to think algorithmically about solving problems) - https://en.wikipedia.org/wiki/Computational_thinking

Data modelling - i.e. looking at a problem and being able to model that problem using some kind of data structure

Basic computer science concepts - i.e. How computers actually work

Boolean logic

Analytical skills - i.e. learning to look at a complex "real world" problem and interpret that problem as something you can solve using a computer

Know how to approach problem solving using a "divide and conquer" strategy (picking a complex problem and dividing it until you arrive at small, simple solvable problems)

Using programming tools for writing/building code, troubleshooting errors and "debugging" a faulty program.

Learning how to structure code you write to reduce the number of logic errors, eliminate edge cases, and to ensure a program is always "well behaved", doing things that a user would expect it to do.


A lot of those things just take time because they're new concepts that you'll probably have never encountered before in any other subject while growing up - if this is your first time learning programming, then you just need a lot of time to get your head around a lot of new ideas; once you've gotten the basics, it takes potentially many years of practice to gradually improve and refine your programming skills. It requires a lot of persistence and a lot of patience. It also involves a lot of reading, and a lot of time searching for answers in google, or on sites like StackOverflow.
Reply 24
Original post by winterscoming
It depends what you mean by "hard" and it depends what you mean by "learn how to program". In terms of difficulty, it's about the same as learning a new foreign language, or learning to play a musical instrument, or even learning a trade skill such as carpentry or plumbing.

Have a look at this link: http://norvig.com/21-days.html

If you want to learn how to "be a programmer" (which is typically what most people mean by 'learn how to program':wink:, there are a whole bunch of skills you need to learn:

The syntax and rules of at least one programming language (A full, turing-complete programming language such as Python, C, Java, C#, C++, etc. Not languages like HTML or CSS - those aren't "programming" languages, although they are useful to know if you're interested in web development).

Computational thinking (a.k.a. how to think algorithmically about solving problems) - https://en.wikipedia.org/wiki/Computational_thinking

Data modelling - i.e. looking at a problem and being able to model that problem using some kind of data structure

Basic computer science concepts - i.e. How computers actually work

Boolean logic

Analytical skills - i.e. learning to look at a complex "real world" problem and interpret that problem as something you can solve using a computer

Know how to approach problem solving using a "divide and conquer" strategy (picking a complex problem and dividing it until you arrive at small, simple solvable problems)

Using programming tools for writing/building code, troubleshooting errors and "debugging" a faulty program.

Learning how to structure code you write to reduce the number of logic errors, eliminate edge cases, and to ensure a program is always "well behaved", doing things that a user would expect it to do.


A lot of those things just take time because they're new concepts that you'll probably have never encountered before in any other subject while growing up - if this is your first time learning programming, then you just need a lot of time to get your head around a lot of new ideas; once you've gotten the basics, it takes potentially many years of practice to gradually improve and refine your programming skills. It requires a lot of persistence and a lot of patience. It also involves a lot of reading, and a lot of time searching for answers in google, or on sites like StackOverflow.


Wow, thanks this is really useful! This definitely seems complex. It’s just the amount of time it takes to get used to and fluent that bothers me. The reason being is I’m thinking of doing computer engineering at university and I don’t know if it will be the best idea to take the course with minimal knowledge in these languages. The fact that you have all of these other things to learn and coursework, I don’t know if there will be enough time to learn in from scratch. What do you think? Because that’s the only thing that bothers me. Also, does it take time to the point where you can’t really live or spend free time relaxing?
Original post by Priyanboss517
Wow, thanks this is really useful! This definitely seems complex. It’s just the amount of time it takes to get used to and fluent that bothers me. The reason being is I’m thinking of doing computer engineering at university and I don’t know if it will be the best idea to take the course with minimal knowledge in these languages. The fact that you have all of these other things to learn and coursework, I don’t know if there will be enough time to learn in from scratch. What do you think? Because that’s the only thing that bothers me. Also, does it take time to the point where you can’t really live or spend free time relaxing?

Don't worry about the time it takes - it's the same with everything you might ever learn. Learning a foreign language is a really good analogy actually, because the time you might take to become perfectly fluent in a new language is also a long time - but with that said, you could take a foreign language course and learn enough from that course in 6 months to start to have some basic conversations with people (e.g. asking for food, drink, tickets, etc.).

As far as I know, nearly all university Computing/CompSci courses start out by assuming students have zero programming knowledge, so if you're starting out from that point, then it shouldn't be a problem. The whole point of going to university and being given homework, lessons, coursework, lectures, etc is to use those things to learn. Anyway, part of the reason for giving students coursework/projects is that students are expected to go away and learn things for themselves using the coursework - that's the reason you often get several months to complete it.

Of course, any kind of learning you might do related to programming before starting university might be helpful (e.g. Codecademy interactive tutorials for learning a programming language, or slightly bigger edX courses like CS50 from Harvard: https://www.edx.org/course/cs50s-introduction-computer-science-harvardx-cs50x )

Universities definitely do not expect you to be any kind of "zen master" at programming before starting your first year; in fact, most of the things you learn in the first year of a degree are similar to the kinds of things you'd have learned in A-Level Computer Science (which also assumes no previous knowledge).

Also, I think the experience of most graduates is that they find 3 years studying at university still leaves them with a lot of stuff to learn; just enough understanding and knowledge to get themselves into a good 'graduate' level job. Most graduates starting their first job often find that they have a lot to learn; employers often expect graduates to need a couple of years working in a full-time software engineering job after graduating before they're really "ready" to be left alone working on bigger, more complex problems. But that's a long way off, so don't worry about that yet :smile:
(edited 6 years ago)
Reply 26
Original post by winterscoming
Don't worry about the time it takes - it's the same with everything you might ever learn. Learning a foreign language is a really good analogy actually, because the time you might take to become perfectly fluent in a new language is also a long time - but with that said, you could take a foreign language course and learn enough from that course in 6 months to start to have some basic conversations with people (e.g. asking for food, drink, tickets, etc.).

As far as I know, nearly all university Computing/CompSci courses start out by assuming students have zero programming knowledge, so if you're starting out from that point, then it shouldn't be a problem. The whole point of going to university and being given homework, lessons, coursework, lectures, etc is to use those things to learn. Anyway, part of the reason for giving students coursework/projects is that students are expected to go away and learn things for themselves using the coursework - that's the reason you often get several months to complete it.

Of course, any kind of learning you might do related to programming before starting university might be helpful (e.g. Codecademy interactive tutorials for learning a programming language, or slightly bigger edX courses like CS50 from Harvard: https://www.edx.org/course/cs50s-introduction-computer-science-harvardx-cs50x )

Universities definitely do not expect you to be any kind of "zen master" at programming before starting your first year; in fact, most of the things you learn in the first year of a degree are similar to the kinds of things you'd have learned in A-Level Computer Science (which also assumes no previous knowledge).

Also, I think the experience of most graduates is that they find 3 years studying at university still leaves them with a lot of stuff to learn; just enough understanding and knowledge to get themselves into a good 'graduate' level job. Most graduates starting their first job often find that they have a lot to learn; employers often expect graduates to need a couple of years working in a full-time software engineering job after graduating before they're really "ready" to be left alone working on bigger, more complex problems. But that's a long way off, so don't worry about that yet :smile:


Thanks, that is reassuring. This really is helpful so thank you for the advice! I mean, I’m definitely going try get the gist of things in my free time and learn things myself before hand. What is best best language to start of in? I’ve heard python is probably the simplest form of the languages. Do you also have to pay for these programs?
do you have any past paper questions or typical-like exam questions that can help me for my revision? I'm also doing A2 CS but with AQA exam board and since it is a new spec, there is not enough resources out there
Original post by Priyanboss517
Thanks, that is reassuring. This really is helpful so thank you for the advice! I mean, I’m definitely going try get the gist of things in my free time and learn things myself before hand. What is best best language to start of in? I’ve heard python is probably the simplest form of the languages. Do you also have to pay for these programs?


No you don't need to pay anything for any of the major programming languages (Python, Java, C, C#, C++ - all the tools for those are freely available).

Python is definitely a good language to start with, and there's plenty of free resources to get you going. e.g.
MIT course (free course, the paid certificate is optional): https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-11
Codecademy Python (Ignore the paid-for bits. Runs in the browser, nothing to install): https://www.codecademy.com/learn/learn-python
Official "getting started" Python page: https://www.python.org/about/gettingstarted/

There's not really a "best" language to start out with. Python and Java are probably the two most common however; Python tends to be one of the most learner-friendly languages around because its syntax is rather clean and simple.
(edited 6 years ago)
Reply 29
Original post by winterscoming
No you don't need to pay anything for any of the major programming languages (Python, Java, C, C#, C++ - all the tools for those are freely available).

Python is definitely a good language to start with, and there's plenty of free resources to get you going. e.g.
MIT course (free course, the paid certificate is optional): https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x-11
Codecademy Python (Ignore the paid-for bits. Runs in the browser, nothing to install): https://www.codecademy.com/learn/learn-python
Official "getting started" Python page: https://www.python.org/about/gettingstarted/

There's not really a "best" language to start out with. Python and Java are probably the two most common however; Python tends to be one of the most learner-friendly languages around because its syntax is rather clean and simple.


I'll probably start with one of them then. So you can literally download it from the internet?
Original post by Priyanboss517
I'll probably start with one of them then. So you can literally download it from the internet?


Yes - you just need the Python interpreter, and ideally an IDE (Integrated Development Environment - basically a set of tools which help you write code and give you a more 'user friendly' experience than just writing everything in Nodepad..).

Have a look at the official website for latest version of the Python interpreter (currently 3.6.4):
https://www.python.org/downloads/

If you want a free Python IDE, have a look at PyCharm Community (this is entirely optional, and the MIT course might use a different IDE as well, but PyCharm is a decent tool for general Python stuff):
https://www.jetbrains.com/pycharm/download/
https://www.jetbrains.com/help/pycharm/first-steps.html (getting-started guide)
(edited 6 years ago)
Reply 31
Original post by winterscoming
Yes - you just need the Python interpreter, and ideally an IDE (Integrated Development Environment - basically a set of tools which help you write code and give you a more 'user friendly' experience than just writing everything in Nodepad..).

Have a look at the official website for latest version of the Python interpreter (currently 3.6.4):
https://www.python.org/downloads/

If you want a free Python IDE, have a look at PyCharm Community (this is entirely optional, and the MIT course might use a different IDE as well, but PyCharm is a decent tool for general Python stuff):
https://www.jetbrains.com/pycharm/download/
https://www.jetbrains.com/help/pycharm/first-steps.html (getting-started guide)


Right, I definitely have a look thanks!
Original post by EmilySarah00
Which exam board are you actually doing? I presume it's not OCR since we can do Java in the OCR program, not to mention that there's a project also involved.


Yea, im doing cambridge international
Original post by zahlicious
do you have any past paper questions or typical-like exam questions that can help me for my revision? I'm also doing A2 CS but with AQA exam board and since it is a new spec, there is not enough resources out there


same here, there are not many exam papers. You could search for CIE A Level computer science past papers.
Original post by zahlicious
do you have any past paper questions or typical-like exam questions that can help me for my revision? I'm also doing A2 CS but with AQA exam board and since it is a new spec, there is not enough resources out there


For AQA significant parts of the spec have remained the same, or similar. So I'd advise using the old spec past papers, but working out where the specs differ and not worrying about picking up marks for the no longer relevent questions (although being able to answer them anyway is never going to put you at a disadvantage) as well as seeking out questions for the new areas and expanded areas of the new spec. You may be able to find questions on these topics in other exam board papers, or through completing worksheets (my college have provided ones which have been created for the text book we use)

Also due to the fact that the A Level is now linear you can use the the new spec AS papers as revision too as they'll cover some of the topics in the A2 paper
Original post by owenlearnstopun
same here, there are not many exam papers. You could search for CIE A Level computer science past papers.


thanks! I was thinking to check out other exam boards with similar topics
Original post by Faction Paradox
For AQA significant parts of the spec have remained the same, or similar. So I'd advise using the old spec past papers, but working out where the specs differ and not worrying about picking up marks for the no longer relevent questions (although being able to answer them anyway is never going to put you at a disadvantage) as well as seeking out questions for the new areas and expanded areas of the new spec. You may be able to find questions on these topics in other exam board papers, or through completing worksheets (my college have provided ones which have been created for the text book we use)

Also due to the fact that the A Level is now linear you can use the the new spec AS papers as revision too as they'll cover some of the topics in the A2 paper


thanks! I've already made notes from the entire book. And completed most questions in the textbook and all the specimen papers on the website for my revision for my A2 mock and last year's AS mock. The thing is I can't find the old spec anymore. I think the aqa website removed it. So I was thinking to just check out other exam boards with similar topics.
Original post by zahlicious
thanks! I was thinking to check out other exam boards with similar topics


yea, we use AQA and Edexel past papers sometimes too. They are mostly the same. By this point, hopefully you will know what you are supposed to know, so that you could just skip the questions that you are not required to know :smile:
Original post by owenlearnstopun
yea, we use AQA and Edexel past papers sometimes too. They are mostly the same. By this point, hopefully you will know what you are supposed to know, so that you could just skip the questions that you are not required to know :smile:


Haha thank you so much!! yeah I do, hopefully, wish me luck :biggrin:
Original post by zahlicious
Haha thank you so much!! yeah I do, hopefully, wish me luck :biggrin:


good luck man!

Quick Reply

Latest

Trending

Trending