The Student Room Group

How to prepare for a CS degree?

Hi guys,
Just got into Computer Science at Birmingham City University, and the guy I was talking to (clearing dude) was trying to dissuade me due to me having no experience in programming, but he did say they'd teach you all I'd need to know.

Do you guys think I should do any preparation before I start the degree, and if so what?
Original post by TasteLikeChicken
Hi guys,
Just got into Computer Science at Birmingham City University, and the guy I was talking to (clearing dude) was trying to dissuade me due to me having no experience in programming, but he did say they'd teach you all I'd need to know.

Do you guys think I should do any preparation before I start the degree, and if so what?


@ParadoxSocks can you help this member with their prep question please? :h:

Enjoy Birmingham - it's an awesome city!
Original post by TasteLikeChicken
Hi guys,
Just got into Computer Science at Birmingham City University, and the guy I was talking to (clearing dude) was trying to dissuade me due to me having no experience in programming, but he did say they'd teach you all I'd need to know.

Do you guys think I should do any preparation before I start the degree, and if so what?


Computer Science involves lots of topics at undergraduate level. Many of those topics involve programming of some sort. E.g. implementing algorithms, designing UIs, making apps and so on.

Most universities teach Java to undergraduate students. If you want to get some preparation in programming you should read online Java tutorials. The Oracle websites has the official Java tutorials for beginners. https://docs.oracle.com/javase/tutorial/ See "Trails Covering the Basics" because those are the topics that you need to learn as a beginner programmer. Do the exercises specified in the tutorials; you can't learn programming by reading tutorials like you read a novel or a history book because you need to practice.

What you need to do before you program:
Install JDK: http://www.oracle.com/technetwork/java/javase/downloads/index.html
Install Eclipse:
http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/marsr

Focus on one language at a time. You'll forget everything if you try to learn anymore languages as a beginner.
And also, don't forget to be on the lookout for temp jobs, internships or even placement years while you're studying, since you won't be at uni forever and the aim of getting your degree is a good job, right?
Original post by She-Ra
@ParadoxSocks can you help this member with their prep question please? :h:

Enjoy Birmingham - it's an awesome city!

Thank you!
And yeah, I don't live far away from it so I know it well :smile:

Thank you very much for the incredibly informative response!
Just another question please if you'd be so kind.
I checked the first year modules and I can't determine which programming language I will be taught, here's the list :
IT Professionalism, Data Analysis, Web Technologies, Open Source Systems, Computer and Network Fundamentals, & Software Development
Don't suppose you know what programming languages may be incorporated into those subjects?
Original post by shawn_o1
And also, don't forget to be on the lookout for temp jobs, internships or even placement years while you're studying, since you won't be at uni forever and the aim of getting your degree is a good job, right?

Thanks for the heads up mate, yeah I definitely will be looking for placements/work experience whenever I can!
Original post by TasteLikeChicken
Thank you very much for the incredibly informative response!
Just another question please if you'd be so kind.
I checked the first year modules and I can't determine which programming language I will be taught, here's the list :
IT Professionalism, Data Analysis, Web Technologies, Open Source Systems, Computer and Network Fundamentals, & Software Development
Don't suppose you know what programming languages may be incorporated into those subjects?


IT Professionalism won't have any programming. Its a BCS module
Web Technologies will probably involve PHP and Javascript (Completely different to Java)
Software Development will probably involve Java
Computer Fundamentals will probably involve C
Data analysis? No idea
Thanks so much!
Start with Python. Even if you don't use it at uni it will make learning Java a lot easier. Java can be quite tricky at first even with some programming experience, I wouldn't want to start with it. Once you know how to think like a programmer the other languages will become easier to learn.
Original post by RoundTrip
Start with Python. Even if you don't use it at uni it will make learning Java a lot easier. Java can be quite tricky at first even with some programming experience, I wouldn't want to start with it. Once you know how to think like a programmer the other languages will become easier to learn.


I did start trying to do stuff with Python but I quickly got lost and didn't know what I was even doing.
I will pick it back up but not give up this time
Thanks mate!
Original post by TasteLikeChicken
Hi guys,
Just got into Computer Science at Birmingham City University, and the guy I was talking to (clearing dude) was trying to dissuade me due to me having no experience in programming, but he did say they'd teach you all I'd need to know.

Do you guys think I should do any preparation before I start the degree, and if so what?


Contrary to popular belief, programming is just a small part of a computer science degree so try and pick up a bit of the background behind it too. Investigate what makes a good algorithm (algorithms are just a list of instructions that have an end goal) and how can you apply those things and that will help you to not just become a proficient programmer, but an efficient one too. Plus calculating algorithmic complexity is fun.

You have lots of choices but just grab a language and run with it if you want to go through that route. Python is a language that many start with but the danger is that it hides a lot of its complexity and so when you hit the other languages you won't know the the fiddly bits. Java is a good first language that requires a lot more thought, but if you want to really get to grips with a language/are a masochist have a play with C++ or something in that vein.

Check what your unis languages are - mine taught Java, Haskell (not so much a language, more a method of torture), C++, Prolog (the language I use to freak students out), and a couple of others depending on speciality such as RobotC. And then you have your other bits and bobs like php, SQL, CSS, HTML5 etc. Seeing what you're about to be taught might help you to see what might work out best for you as a starter language.

Once you know one well, it takes next to no time to pick up the next - I self taught and was teaching Python to students after about a fortnight.

For tasks go to Project Euler which is where my nerdiest nerds go for funsies. If you hit an error message when programming, Google it. The mistakes are the most important part of learning. Humble Bundle this month has several programming ebooks - have a look at those too if you can.

The actual language you learn is a lot less important than the principles of programming which is why I would try and stay away from Python unless it's the language of choice at your uni. I also wouldn't touch online courses, you're jumping the hoops without mentally processing.
Original post by ParadoxSocks
Contrary to popular belief, programming is just a small part of a computer science degree so try and pick up a bit of the background behind it too. Investigate what makes a good algorithm (algorithms are just a list of instructions that have an end goal) and how can you apply those things and that will help you to not just become a proficient programmer, but an efficient one too. Plus calculating algorithmic complexity is fun.

You have lots of choices but just grab a language and run with it if you want to go through that route. Python is a language that many start with but the danger is that it hides a lot of its complexity and so when you hit the other languages you won't know the the fiddly bits. Java is a good first language that requires a lot more thought, but if you want to really get to grips with a language/are a masochist have a play with C++ or something in that vein.

Check what your unis languages are - mine taught Java, Haskell (not so much a language, more a method of torture), C++, Prolog (the language I use to freak students out), and a couple of others depending on speciality such as RobotC. And then you have your other bits and bobs like php, SQL, CSS, HTML5 etc. Seeing what you're about to be taught might help you to see what might work out best for you as a starter language.

Once you know one well, it takes next to no time to pick up the next - I self taught and was teaching Python to students after about a fortnight.

For tasks go to Project Euler which is where my nerdiest nerds go for funsies. If you hit an error message when programming, Google it. The mistakes are the most important part of learning. Humble Bundle this month has several programming ebooks - have a look at those too if you can.

The actual language you learn is a lot less important than the principles of programming which is why I would try and stay away from Python unless it's the language of choice at your uni. I also wouldn't touch online courses, you're jumping the hoops without mentally processing.


Oh wow, thanks so much!
Spoke to the uni, they mainly teach Python and C#.
I'm currently doing some Python lessons on CodeAcademy and I'm finding it rather fun haha.
Thanks again for the incredibly informative response!
Original post by TasteLikeChicken
Oh wow, thanks so much!
Spoke to the uni, they mainly teach Python and C#.
I'm currently doing some Python lessons on CodeAcademy and I'm finding it rather fun haha.
Thanks again for the incredibly informative response!


C# is a really nice language to learn!
I teach Python as a first language because it's a nice and protective high level language. It hides the complexity but if you're also picking up a C based language then your uni definitely knows what they're doing :smile:

Try mixing up CodeAcademy with some small challenges such as writing a calculator, or a text based game to get a feel for the language to make sure it all sinks in. I get my students to write a programming glossary too and that can help things to sink in a little better.

Good luck and have fun! If you need any further advice, just give me a nudge :smile:
Original post by ParadoxSocks
C# is a really nice language to learn!
I teach Python as a first language because it's a nice and protective high level language. It hides the complexity but if you're also picking up a C based language then your uni definitely knows what they're doing :smile:

Try mixing up CodeAcademy with some small challenges such as writing a calculator, or a text based game to get a feel for the language to make sure it all sinks in. I get my students to write a programming glossary too and that can help things to sink in a little better.

Good luck and have fun! If you need any further advice, just give me a nudge :smile:


Thank you so much for the help, and I'll definitely take all advice on board!

Quick Reply

Latest

Trending

Trending