Turn on thread page Beta
    • Political Ambassador
    • Thread Starter
    Offline

    20
    ReputationRep:
    Political Ambassador
    Hi guys,
    I want to do Computer Science for university. I first planned to do A Level Computing, but sadly no schools I applied to in year 11 provided that course. I decided to take ICT as this was the closest option. My query is that what should I do right now in terms of preparing for Computer Science for university? I have low knowledge of coding, and I feel that this would be a huge disadvantage when going to university. The universities I will apply to this year only ask for Maths A Level (grades A*AA requirements). EDIT I am in my first year of A level.
    Offline

    19
    ReputationRep:
    Learn to code and learn to code very well in order to prepare yourself
    • Political Ambassador
    • Thread Starter
    Offline

    20
    ReputationRep:
    Political Ambassador
    (Original post by Async)
    Learn to code and learn to code very well in order to prepare yourself
    Thank you
    Can you recommend me some tips in what areas to learn, how to learn etc?
    Offline

    19
    ReputationRep:
    (Original post by serah.exe)
    Thank you
    Can you recommend me some tips in what areas to learn, how to learn etc?
    It all depends on what type of programming you want to go into. Since you're doing CS, I assume that they will teach you a bit of everything. The best way to learn programming is by practice and that is a FACT. I've never met a good programmer that magically became good overnight, but it's all about practice, passion and dedication.

    I would recommend that you choose a language that you can use and see instant results, languages like C# OR Java would be great. Reason is, you can literally start creating nice GUI apps right out of the box with these languages. You will feel a sense of accomplishment, and it's this feeling that will propel you to want to learn more. Make sure you learn one language at a time and learn it well. I have also recommended C# or Java because the syntax of these languages are pretty much universal for most programming languages, so by learning these, you will the ones being taught at your university to be easy. That's how I learnt Java. I learnt Java just by knowing C#, and I learnt C# just by knowing VB.NET.

    Anyway, start with the basics with these languages, learn the absolute fundamentals like, variables, loops, conditional statements, functions/subroutines and just keep building on.

    There are two ways you can learn, one is by getting a book or by watching a YouTube tutorial on coding. Remember, anyone can post a YouTube tutorial teaching programming, meaning that they can often teach bad programming habits. But nether the less, I'd still recommend TheNewBoston even though he does teach a few bad habbits. But that's not the main worry, we're more interested in you learning how to code first...

    Here's a C# playlist.
    https://www.thenewboston.com/videos....15&video=17278

    If you want to start with C#, I highly recommend the IDE Visual Studio 2013 Express Edition


    Here's a Java/JavaFX playlist.
    https://www.youtube.com/watch?v=FLkO...pGbUIG&index=1

    I you want to start with Java/JavaFX then I highly recommend using the IDE IntelliJIdea Community edition.

    Also, another good resource is CodeAcademy.
    http://www.codecademy.com/

    Hope that helps.
    Offline

    19
    ReputationRep:
    I also offer a programming help desk, meaning that if you have any questions or need help with code.
    http://www.thestudentroom.co.uk/show....php?t=3144857

    Just post it there, I'll be happy to answer you as long as you've tried to find the answer first.
    • Community Assistant
    • Study Helper
    Offline

    20
    ReputationRep:
    Community Assistant
    Study Helper
    Also have a look at online course you can do for free. I'm doing this soon for example: https://www.futurelearn.com/courses/begin-programming

    There are lots out there, you learn from them... something to put on your applications and it shows you have gone out of your way to learn extra schtuff.
    • Political Ambassador
    • Thread Starter
    Offline

    20
    ReputationRep:
    Political Ambassador
    (Original post by 8472)
    Also have a look at online course you can do for free. I'm doing this soon for example: https://www.futurelearn.com/courses/begin-programming

    There are lots out there, you learn from them... something to put on your applications and it shows you have gone out of your way to learn extra schtuff.
    Thank you very much! I shall check it out now! :desu:
    Offline

    16
    ReputationRep:
    (Original post by serah.exe)
    Hi guys,
    I want to do Computer Science for university. I first planned to do A Level Computing, but sadly no schools I applied for provides that course. I decided to take ICT as this was the closest option. My query is that what should I do right now in terms of preparing for Computer Science for university? I have no knowledge of coding, and I feel that this would be a huge disadvantage when going to university. The universities I will apply to this year only ask for Maths A Level (grades A*AA requirements).
    You'll be taught from the ground-up so I wouldn't advise invest all of your time into learning to code. Personally, I'd advise you to learn a little about computer architecture, operating systems, algorithms or something along these lines. Go at a slow pace and don't be discouraged if things get difficult
    Offline

    19
    ReputationRep:
    (Original post by Jooooshy)
    You'll be taught from the ground-up so I wouldn't advise invest all of your time into learning to code. Personally, I'd advise you to learn a little about computer architecture, operating systems, algorithms or something along these lines. Go at a slow pace and don't be discouraged if things get difficult
    Off course you're taught ground up, but it's better to develop these skills earlier. I assume they teach you the basics in UNI, and tell you to get on with the rest, I doubt they'd spoon feed you, and for that reason it helps to know a decent amount of coding before hand. It helps a lot to stand out.

    But nevertheless, I agree, learning stuff like computer architecture, the different types of operating systems definitely helps, but those things are harder to learn because they're boring
    Offline

    16
    ReputationRep:
    (Original post by Async)
    Off course you're taught ground up, but it's better to develop these skills earlier. I assume they teach you the basics in UNI, and tell you to get on with the rest, I doubt they'd spoon feed you, and for that reason it helps to know a decent amount of coding before hand. It helps a lot to stand out.

    But nevertheless, I agree, learning stuff like computer architecture, the different types of operating systems definitely helps, but those things are harder to learn because they're boring
    Stand out to who?

    What do you find interesting?
    Offline

    19
    ReputationRep:
    (Original post by Jooooshy)
    Stand out to who?

    What do you find interesting?
    I find the practical elements to be interesting. That tends to be the programming side.
    I mean stand out in terms of knowing what you're doing and not just being the "average" student.
    • Political Ambassador
    • Thread Starter
    Offline

    20
    ReputationRep:
    Political Ambassador
    (Original post by Jooooshy)
    You'll be taught from the ground-up so I wouldn't advise invest all of your time into learning to code. Personally, I'd advise you to learn a little about computer architecture, operating systems, algorithms or something along these lines. Go at a slow pace and don't be discouraged if things get difficult
    Yes, thank you very much for the advice!
    I shall keep this in mind when I start preparing
    Offline

    3
    ReputationRep:
    Whilst you're preparing, it would be helpful to familiarise yourself with Linux, or more specifically familiarising yourself with the commandline.

    Another thing you may find helpful to know about when you start is a form of version control so it's easier to undo mistakes on projects you're working on.
    Offline

    19
    ReputationRep:
    (Original post by Push_More_Button)
    Whilst you're preparing, it would be helpful to familiarise yourself with Linux, or more specifically familiarising yourself with the commandline.

    Another thing you may find helpful to know about when you start is a form of version control so it's easier to undo mistakes on projects you're working on.
    Sounds interesting. I've got a few question.

    1. Is there a program that does this already, that's perhaps tied with the IDE.
    2. Or isit just a concept that you code for yourself.
    Offline

    3
    ReputationRep:
    Do you mean for version control?

    Version control is just the process of keeping track of changes to your source code (the different versions). When you're programming, you're constantly making changes to your code.
    Your IDE will have an undo function but it might not store all actions (if you've been working on it for a while) and it's lost when you close the program. It's also not that great for rolling back bad changes as it can be difficult to know for sure the changes you're reverting. That's where version control systems step in to help you out with better history. There's bound to be plugins for whichever IDE you're using for the most common IDE systems but you can also use the commandline, too.

    There's different ways of doing version control. There's obviously the easy way of every so often copying your source files, but that's really horrible and it's not a proper version control system.


    There's several systems that have been created for it, but the one I would recommend you take a look at would be Git (coincidentally, the creator of Git also created Linux). You can then use Git to store your code on GitHub or Bitbucket for free, making it accessible from anywhere and by anyone (if you so choose) making collaboration easy. Or you can choose to keep it totally offline just on your computer and still get the benefits.

    Basically, whilst you're writing your code you "commit" it to your version control system (can be simply thought of as uploading a copy) with a brief message of what changes have been made (though it's not required it's encouraged to make things easier for viewing later) and it will keep track of all the changes you've made to your code.

    Then when you've made some changes to your code that you don't like any more you can revert back to a previous point in time very easily. It basically gives you the freedom to make "destructive" edits to your code without worrying that it's lots of work to get it back to a working state if you break something.

    There's a lot more, of course, to it, but that's the main advantage whilst you're learning. It will really come into it's own when you're working on larger projects over a longer time period than you may have experienced before or when you're working with other developers that may be making changes to the same files as you.
    Offline

    19
    ReputationRep:
    (Original post by Push_More_Button)
    Content

    Ahh, I can see how that would be beneficial. But then again, if you were working on a large project. Would you really want it to be committed to GitHub or BitBucket? Wouldn't you want it to stay private... Like private private, because once you publish something online, you and I know what happens to that data.
    Offline

    3
    ReputationRep:
    Some companies will use the paid-for private offerings GitHub and co provide, but you're right, some will have their own server (like GitLab) where they can also setup continuous integration for automated building and testing of the project.
    Offline

    16
    ReputationRep:
    (Original post by Async)
    I find the practical elements to be interesting. That tends to be the programming side.
    I mean stand out in terms of knowing what you're doing and not just being the "average" student.
    Programming requires some sort of application. Architecture will give you a better understanding of assembly programming or embedded systems programming. If you study operating systems you can write your own file system. Studying compilers will give you a better idea of how to write your own language, etc..

    But yeah, there's no harm in familiarising yourself with programming, I'd just personally divide my time and study something else, too.
    Offline

    19
    ReputationRep:
    (Original post by Jooooshy)
    Programming requires some sort of application. Architecture will give you a better understanding of assembly programming or embedded systems programming. If you study operating systems you can write your own file system. Studying compilers will give you a better idea of how to write your own language, etc..

    But yeah, there's no harm in familiarising yourself with programming, I'd just personally divide my time and study something else, too.
    Very good point, I'd like to create my own language for learning purposes. And I feel like the more I learn about low level architecture, the more realistic that idea is too me. So yeah, learning the low level aspects is also a good thing.
 
 
 
Reply
Submit reply
Turn on thread page Beta
Updated: May 16, 2015

3,170

students online now

800,000+

Exam discussions

Find your exam discussion here

Poll
Should predicted grades be removed from the uni application process

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.