The Student Room Group
Learning at Imperial College London
Imperial College London
London

Imperial Offers 2011

Scroll to see replies

Original post by roblee
Yeah it is much easier to code when you can have man open on the second monitor, but I'd imagine (at least until we all get settled in) that most of the programming will take place on lab computers so that shouldn't prove to be much of an issue.

Eurgh... Prolog. I'm going to hate first year :frown:


Prolog and Haskell whats not to love?

Its unfair :frown: most other unis get to use java or c# why cant we? :frown:
(edited 13 years ago)
Learning at Imperial College London
Imperial College London
London
Reply 201
Original post by nikita_atikin
Oh yeah, fair point actually... we can't really say. :s-smilie: Didn't think of that. It's alright, we'll PMs each other after we get the final accomodation decision :h:

Spoiler



Btw, does anyone know what Imperial's policy is on TVs? Are we allowed to get our own or is there a common one in the common room? Do people normally get their TVs in anyway? :confused:


I managed to sneak in a first year's shared dorm, and there was 2 TVs, 2 laptops, a PS3 and an Xbox 360 on the table, and crap loads of pizza boxes on the floor.

I guess thats your answer right there^^

I'm a bit of a gamer/3D modeller, so I'll cry if I get anything less than an i7/DX11 graphics card with 4GB RAM.
(edited 13 years ago)
Original post by nikita_atikin
Oh yeah, fair point actually... we can't really say. :s-smilie: Didn't think of that. It's alright, we'll PMs each other after we get the final accomodation decision :h:

Spoiler



Btw, does anyone know what Imperial's policy is on TVs? Are we allowed to get our own or is there a common one in the common room? Do people normally get their TVs in anyway? :confused:


Its fine to take your own, I know people that have them.

In my accommodation there is a games room as well with an xbox and TV in there as well as a TV room itself.
Original post by freefrag
Prolog and Haskell whats not to love?

Its unfair :frown: most other unis get to use java or c# why cant we? :frown:


Haskell :sogood: :drool:
I'd much rather have Haskell than C# or Java but I suppose there are benefits to learning them too. Haskell is so much less work. Also isn't it meant to be amazing or sumink because "programming languages are forever changing" And I'm a lazy bugger but anyway... :tongue: I don't know any programming languages but I CAN'T WAIT to learn them. :biggrin: Might teach me a few during the summer so I don't feel left out among you boys. :smile: I live SUCH and exciting life. :rolleyes: </sarcasm>
Fragger, (can I call you that?) are you going for JMC or straight computing?
Reply 204
Original post by freefrag
Prolog and Haskell whats not to love?

Its unfair :frown: most other unis get to use java or c# why cant we? :frown:


Actually, I hate unis that teach C# with a vengeance too... All the .NET languages do is teach you to rely on other people's implementations (what? I know about hashing... Look, I used a std::MICROSOFT_hash_map!), whereas starting out with raw C/ASM teaches real programming. It's like the distinction that's always made between IT and Computer Science.

(but that is just my opinion, I know a lot of people adore MSS10 for some reason)

I can agree that Java is a good teaching language though, it's like a cut-down version of C++ :biggrin:
Reply 205
Hey peeps i'm pretty sure my offer letter said something about getting A in further maths and I don't even take it :s ....

Anybody else get Anything weird like that :\
Reply 206
Original post by roblee
Actually, I hate unis that teach C# with a vengeance too... All the .NET languages do is teach you to rely on other people's implementations (what? I know about hashing... Look, I used a std::MICROSOFT_hash_map!), whereas starting out with raw C/ASM teaches real programming. It's like the distinction that's always made between IT and Computer Science.

(but that is just my opinion, I know a lot of people adore MSS10 for some reason)

I can agree that Java is a good teaching language though, it's like a cut-down version of C++ :biggrin:


um roblee what did you use to learn C++.... because the 'tutorial' im using keeps talking bout returning integers and i'm thinking: :s-smilie:...
Reply 207
Original post by meatzaper
um roblee what did you use to learn C++.... because the 'tutorial' im using keeps talking bout returning integers and i'm thinking: :s-smilie:...


Oh I just downloaded Dev-C++ (I was on Windows back then) and mucked around with it for a few weeks. I can help you learn it if that's the kind of thing you mean :smile:

In short though, given a block of code like this (don't blame me if it doesn't work, this literally took 1 minute to write):


#include <iostream> //input and output convenience functions

int add(int a,int b) //!add two numbers, _a_ and _b_ together
{
int result=a+b; //store a plus b in result (which is an INT=integer=whole number)
return result; //give this result back to the caller (in this case result->val)
}

int main(void) //!main function
{
int val=add(3,4); //add integers 3 and 4 then put them in _val_
std::cout<<val<<std::endl; //print out val

return 0; //0 means there were 0 errors. This is A Good Thing
}


returning an INT from a function means that when you call the function, it behaves as if you've put the return value RESULT, an integer, there instead of the function name (this isn't how it works, but it's how you should think of it)

Sorry if that's not what you mean, but if you'd like a tutorial PM me :smile: I'm not as scary as I act online :wink: :colone:

EDIT: Also no comments on my coding style please.
(edited 13 years ago)
Reply 208
I have an offer for the Biomedical Engineering course and I was wondering, does anyone know whether it's possible to transfer or continue on to the Medical School from there.
Original post by roblee
Actually, I hate unis that teach C# with a vengeance too... All the .NET languages do is teach you to rely on other people's implementations (what? I know about hashing... Look, I used a std::MICROSOFT_hash_map!), whereas starting out with raw C/ASM teaches real programming. It's like the distinction that's always made between IT and Computer Science.

(but that is just my opinion, I know a lot of people adore MSS10 for some reason)

I can agree that Java is a good teaching language though, it's like a cut-down version of C++ :biggrin:


I disagree.

C and asm do not teach you real programming, they just make you do all the tedious, painful bits everytime you want to write a program.

Also, I dont really get your argument about .Net users relying on other peoples implementations, what stops C++ users from getting code or libaries from other people?
Original post by nikita_atikin

Fragger, (can I call you that?) are you going for JMC or straight computing?


Fragger, sure why not!

Im still undecided :frown:, if I had to choose now I'd go for JMC, but Im leaning towards straight computing more and more.
Original post by freefrag
Fragger, sure why not!

Im still undecided :frown:, if I had to choose now I'd go for JMC, but Im leaning towards straight computing more and more.


Choose computing. Then you'll have cool cats like Robbeh and moi :smile:
Reply 212
Original post by freefrag
I disagree.

C and asm do not teach you real programming, they just make you do all the tedious, painful bits everytime you want to write a program.

Also, I dont really get your argument about .Net users relying on other peoples implementations, what stops C++ users from getting code or libaries from other people?


That's my point, the tedious bits (like writing your own binary tree implementation, or doing hashing from first principles in C) are real programming exercises, and writing in ASM teaches a hell of a lot about computing architecture especially in an OSdev environment. (I mean, where else do you learn how argument stacks and syscalls actually work?)

Yes, C++ users (and users of any language) can also string together a sequence of 3rd-party libraries, but .NET is one of the few paradigms in which this is often actively encouraged. However, as I said, that was my opinion and some say I have an unhealthily strong ethos toward writing my own code rather than using other people's so don't mistake my preference for mandate here :smile:

(THIS WILL BECOME A WAR)
Reply 213
Original post by hardees
I have an offer for the Biomedical Engineering course and I was wondering, does anyone know whether it's possible to transfer or continue on to the Medical School from there.


Possible entry to medicine
Medical practice is employing increasingly technological approaches for diagnosis and treatment and is becoming more reliant on information technology. This means that there is an increasing demand for doctors with technical expertise in a wide range of medical specialties including cardiology, orthopaedics, radiology and surgery.

A number of our graduates apply to enter graduate medical courses and follow a route leading eventually to BEng and MBBS degrees.


Not too sure about transfers, though I'm pretty sure that could happen. Graduate medicine, though, I'm pretty certain that you can do that. :smile:

Pinched off here. Do thorough research as to what the requirements are, though (for example - if it's mandatory that you get at least a 2:1 in your degree.)
Reply 214
Original post by meatzaper
Hey peeps i'm pretty sure my offer letter said something about getting A in further maths and I don't even take it :s ....

Anybody else get Anything weird like that :\


Email admissions and ask what's going on? A bit of clarification won't hurt. :smile:
Original post by roblee
That's my point, the tedious bits (like writing your own binary tree implementation, or doing hashing from first principles in C) are real programming exercises, and writing in ASM teaches a hell of a lot about computing architecture especially in an OSdev environment. (I mean, where else do you learn how argument stacks and syscalls actually work?)

Yes, C++ users (and users of any language) can also string together a sequence of 3rd-party libraries, but .NET is one of the few paradigms in which this is often actively encouraged. However, as I said, that was my opinion and some say I have an unhealthily strong ethos toward writing my own code rather than using other people's so don't mistake my preference for mandate here :smile:


Invading this thread just to take part in this debate :ninja:

I think you should get away from preference for writing everything yourself as you start a serious pursuit of computer science. Yes it's nice to learn how to do the tedious implementations but once you know how you should switch to widely-used third party libraries. Not only will this save you from reinventing the wheel all the time (with the occasional square ones), it will make you desist from the urge to couple your code together precisely because you don't know how a function or structure you reference is implemented. This is especially true in a team environment - if you insist in preferring to use your own implementations your team-mates will hate you :p:

And what's wrong with Haskell and Prolog? :p:
(edited 13 years ago)
Original post by roblee
That's my point, the tedious bits (like writing your own binary tree implementation, or doing hashing from first principles in C) are real programming exercises, and writing in ASM teaches a hell of a lot about computing architecture especially in an OSdev environment. (I mean, where else do you learn how argument stacks and syscalls actually work?))


I think you and I are talking about two different things.
When I said C/asm are tedious and painful I meant things like tracking down memory leaks and having to manage your stack (or read the horrible syntax for that matter), rather than writing your own algorithms or data structures.

edit:
Also, there are the right languages for doing the right things, obviously .Net is not a good choice if you want to be an OS dev, or a security researcher etc.
But just because Assembly is essential when it comes to very low level things, it does not mean its as useful when dealing with higher level stuff.

Original post by nikita_atikin
Choose computing. Then you'll have cool cats like Robbeh and moi :smile:


Oh ill hang out with you no matter which one I choose :biggrin:, If I go for JMC I'll still end up sharing a lot of lectures with you
(edited 13 years ago)
Reply 217
Offer for Chemistry
AAA in Maths, Chemistry and Biology :biggrin:
Reply 218
Original post by ukdragon37
Invading this thread just to take part in this debate :ninja:

I think you should get away from preference for writing everything yourself as you start a serious pursuit of computer science. Yes it's nice to learn how to do the tedious implementations but once you know how you should switch to widely-used third party libraries. Not only will this save you from reinventing the wheel all the time (with the occasional square ones), it will make you desist from the urge to couple your code together precisely because you don't know how a function or structure you reference is implemented. This is especially true in a team environment - if you insist in preferring to use your own implementations your team-mates will hate you :p:


Original post by freefrag
I think you and I are talking about two different things.
When I said C/asm are tedious and painful I meant things like tracking down memory leaks and having to manage your stack (or read the horrible syntax for that matter), rather than writing your own algorithms or data structures.



:gunfire: :gunfire: :hmpf:

(nothing wrong with prolog, just scared of it because I've never used it before)

This discussion arc was originally about languages for teaching; obviously C and ASM aren't production-quality languages any more (unless you're writing base-level encryption stuff or video decoders), and I do use comprehensive libraries in a lot of my projects (gnutls, ffmpeg, clutter etc.); languages from the viewpoints of education, enterprise and embedded are very different as each has different goals to fulfil.

Point was that if all a program does is call 4 higher-level functions and then exit, it's hardly a program, just like you wouldn't call the guy who inflates bouncy-castles at the local fair a 'buildings engineer'. If there are thousands of higher-level functions being called for an even higher purpose, that point isn't as valid (like with matLAB or IDL; those programs can be HUGE). .NET probably isn't as bad as I think it is, but listening to people at the neighbouring college calling their VB/C# toolkit-based GUI calculators 'advanced programming' despite knowing nothing of the underlying principles gives a bad impression and taints the water.

Maybe you're right about memory leaks freefrag, I've not yet had any issues with memory management in C and most assembly code I write uses static preallocation, can't remember what it was like to not understand pointers :rolleyes: It could be said that garbage collection is a useful skill to learn too though :cool:
EDIT: You changed your post, I think we understand each other now ya? :smartass:

Also, what are you doing on this thread, ukdragon? Curious about what happens to the rejects who don't make it in? :tongue:

WOOOOO FLAMEWAR
(edited 13 years ago)
Original post by roblee

(nothing wrong with prolog, just scared of it because I've never used it before)


Prolog is cool :p: What almost seems like "magical" cryptic few lines can do an amazing amount of work, especially when you consider all that underneath is simply a depth-first-searcher. Although it is definitely closer to functional languages like Haskell than C/C++ and I think the functional languages should be learnt first before Prolog (even though Prolog is simpler).

Original post by roblee

This discussion arc was originally about languages for teaching; obviously C and ASM aren't production-quality languages any more (unless you're writing base-level encryption stuff or video decoders), and I do use comprehensive libraries in a lot of my projects (gnutls, ffmpeg, clutter etc.); languages from the viewpoints of education, enterprise and embedded are very different as each has different goals to fulfil.

Point was that if all a program does is call 4 higher-level functions and then exit, it's hardly a program, just like you wouldn't call the guy who inflates bouncy-castles at the local fair a 'buildings engineer'. If there are thousands of higher-level functions being called for an even higher purpose, that point isn't as valid (like with matLAB or IDL; those programs can be HUGE). .NET probably isn't as bad as I think it is, but listening to people at the neighbouring college calling their VB/C# toolkit-based GUI calculators 'advanced programming' despite knowing nothing of the underlying principles gives a bad impression and taints the water.


I see your point but aren't you tarring everyone with the same brush, for example by saying that you "hate unis that teach C# with a vengeance"? Yes a lot of .NET relies on shared libraries but that's was the way it's designed. It was designed to be a team platform where people programming in different languages produce code that is compatible across the framework, referring to as much as the same libraries as possible. That does make a lot of things trivial when you are just churning out small stuff but in a large project it is a help. Hopefully if they are going to teach it in university they'll be teaching you to use it properly.

Original post by roblee

Also, what are you doing on this thread, ukdragon? Curious about what happens to the rejects who don't make it in? :tongue:


Imperial was one of my choices when I was applying to uni. Normally I stay silent and just lurk :ninja2: but I can't resist Computer Science talk :colondollar:
(edited 13 years ago)

Quick Reply

Latest

Trending

Trending