10 Replies - 2573 Views - Last Post: 27 March 2014 - 02:50 PM

#1 Cecilman  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 22
  • Joined: 27-March 14

I am looking to get into computer science. How?

Posted 27 March 2014 - 09:57 AM

Okay so I am brand new to dreamincode and I am not 100% sure if this is the correct place for this thread. I do know that I have been searching high and low to try and find out exactly how I can get to be doing what I want to do, but to even explain what I am asking I will need to go into a little bit of detail.

I have always loved astrophysics and quantum physics, but more to it for me is the development of these fields. I also love computers but struggle when it comes to things like learning how to write in coding languages. At school for me (being in Australia attending a public school) it classes were as basic as "here is how you write an e-mail" and "this is what html looks like" so getting into university to learn more is proving difficult.

I want to get into a line of study/work that will help me get onto the front-lines in respect to writing intelligent artificial intelligence. A brief "why?" will follow to add insight to the question but basically this is asking anyone out there on these forums who might be on the road to writing advanced codes for these kinds of applications or already working in the field or even just those who know.

Starting from only having a year 12 graduation, a passion for computers, a desire to learn and the ability to learn fast, what courses at university would I apply for that would be specific and/or fast-track me to where I want to be? After that what outside studies would I be looking at and what kind of companies would I want to be seeking employment with to further my education and my ability to help advance artificial intelligence programs/technologies?

I ask because I know that the best computers think at many Terra-flops, considerably faster than the human brain, and developing programs that could essentially think for themselves and perform life-times of research in hours would be a huge step toward reaching the stars and advancing the other passions in my life. Things that I would love to see happen in my lifetime.

If this is the wrong place for this I apologize, I am hyper-excited and when I found this forum a glimmer of hope toward attaining my dream told me I had to ask someone at some point and here seems the best place.
Any insight would mean the world to this A-class noob :3

Thanks in advance.

Is This A Good Question/Topic? 0
  • +

Replies To: I am looking to get into computer science. How?

#2 macosxnerd101  Icon User is online

  • Self-Trained Economist
  • member icon




Reputation: 10646
  • View blog
  • Posts: 39,539
  • Joined: 27-December 08

Re: I am looking to get into computer science. How?

Posted 27 March 2014 - 10:04 AM

Welcome to Dream.in.Code! I'll move this to the Student Campus forum for better visibility.
Was This Post Helpful? 0
  • +
  • -

#3 BetaWar  Icon User is offline

  • #include "soul.h"
  • member icon

Reputation: 1167
  • View blog
  • Posts: 7,207
  • Joined: 07-September 06

Re: I am looking to get into computer science. How?

Posted 27 March 2014 - 10:14 AM

First off, welcome to Dream in code!

Alright, are you currently in university, or still trying to get in/ in high school?

If you are already in, then the hard part is over. Most of the time you don't have to actually declare a major until your second or third year, which gives you a while to find what you like and make sure your grades are high enough to get in. If you are in high school then your focus should be mainly on getting into a university that has a good CS program, even if you don't initially get into the CS program (for instance you could go for a physics degree, since you say you have a passion for that too).

As far as classes to fast track you on CS, there are sadly not too many options on that front. Most universities have a set curriculum that everyone has to go through. If nothing else, there will be a small subset of general, required classes.

I'd strongly suggest doing, and taking seriously, the introduction to CS course, data structures, data mining, operating systems, computer systems, artificial intelligence, advanced artificial intelligence, and high performance computing courses (or their equivalent) as that seems to be where your interests lay. Do note, that HPC, OS, and computer systems aren't directly correlated to your desire of creating an AI, but they will help you better understand how to think at a low level, and how to get the best performance out of a program (space and time efficiency, etc.).

You will also likely want to learn C or C++, though Java may work just as well in some cases. At any rate, I'd suggest you learn at least C++ and Java, regardless of what your classes use. They will be at least somewhat useful in your career.

Companies you should look at are anything that is search space related (Bing, Google, etc.) anything with AI in it (not sure what companies fit this bill), and data mining/ analytics companies. I believe you will be able to learn a lot with hands on experience form those types at least.

Now, am I an AI-writing-search-space-data-mining master? No, but based off of what you told us, I think this is a good place to start.
Was This Post Helpful? 1
  • +
  • -

#4 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7872
  • View blog
  • Posts: 13,353
  • Joined: 19-March 11

Re: I am looking to get into computer science. How?

Posted 27 March 2014 - 10:26 AM

Welcome to DIC. I love your attitude - that enthusiasm is terrific, and you should keep it handy.

AI is an interesting area. There's really two things that are meant by the term now. One thing that people talk about is basically a lot of machine learning - this is what drives most "AI" but it's not much like intelligence, though it gives surprisingly intelligent-looking results in limited domains. For example, I'm thinking of recommendation engines, pattern recognition, and the like. For that sort of thing, you should take a look at Andrew Ng's course on machine learning, which runs regularly on coursera. This requires a certain amount of programming skill, but you might be able to pick it up along the way. You'll also want some experience with linear algebra, which maybe you have already.

Old-school AI, the sort that tried to model human cognition, is less of a live area of research these days, but there's a lot of material on it and you can probably see what people were working on. Some names to read up on would be Douglas Hofstadter, Marvin Minsky, Patrick Winston. This style of research is very different from the machine-learning approach, and it's probably worth looking into it.
Traditionally this work was done in various flavors of lisp, which is a very cool language, or set of languages. Some ways to get into lisp would include Conrad Barsky's book "Land of Lisp" (which teaches lisp concepts through programming simple games), and Felleisen and Freidman's "The Little Schemer" and its sequels. There's also a course on Logic and Language taught by two professors from Melbourne, again on coursera. That one's running now, it inlcudes a section on computing and logic which might be useful to you.
Was This Post Helpful? 1
  • +
  • -

#5 Cecilman  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 22
  • Joined: 27-March 14

Re: I am looking to get into computer science. How?

Posted 27 March 2014 - 10:36 AM

View PostBetaWar, on 27 March 2014 - 10:14 AM, said:

Alright, are you currently in university, or still trying to get in/ in high school?

Firstly thank you for the fast reply :)/>
I have been working for the past 6 years, I graduated year 12 in 2008 which means my TER is expired. However I can sit a STAT and that will provide me with an equivalent score and I am confident I could sit and pass that with ease.

View PostBetaWar, on 27 March 2014 - 10:14 AM, said:

I'd strongly suggest doing, and taking seriously, the introduction to CS course, data structures, data mining, operating systems, computer systems, artificial intelligence, advanced artificial intelligence, and high performance computing courses (or their equivalent) as that seems to be where your interests lay. Do note, that HPC, OS, and computer systems aren't directly correlated to your desire of creating an AI, but they will help you better understand how to think at a low level, and how to get the best performance out of a program (space and time efficiency, etc.).

Anything I take on I take on seriously, call me a dog with a bone. That aside these sound interesting and I think that Curtain University will be able to offer me the more advanced of these and what they don't I could do "pre-requisite" courses at a local TAFE or so I believe.

View PostBetaWar, on 27 March 2014 - 10:14 AM, said:

You will also likely want to learn C or C++, though Java may work just as well in some cases. At any rate, I'd suggest you learn at least C++ and Java, regardless of what your classes use. They will be at least somewhat useful in your career.

I know I will have to learn some languages, which ones I wasn't sure of though so this is a great help to me. I have heard of some called python and such but there are almost as many computer languages, it seems, as there are human ones ://> I have looked at java and it was a tad daunting but I won't give up. I will certainly be looking into C++ and C#.

View PostBetaWar, on 27 March 2014 - 10:14 AM, said:

Companies you should look at are anything that is search space related (Bing, Google, etc.) anything with AI in it (not sure what companies fit this bill), and data mining/ analytics companies. I believe you will be able to learn a lot with hands on experience form those types at least.

I understand that Google uses AI to an extent in anything from it's search predictor to sorting my e-mail. It would be a dream come true to work with Google, knowing as well that they are always trying to push the limits of what programs could do. Would being part of a team like that also have me in close proximity to those who design the physical architecture of computers and their circuits?

Again thank you for your response, I look forward to yours and other replies. I am already getting a great vibe from this community :D/>
Was This Post Helpful? 0
  • +
  • -

#6 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7872
  • View blog
  • Posts: 13,353
  • Joined: 19-March 11

Re: I am looking to get into computer science. How?

Posted 27 March 2014 - 10:46 AM

View PostCecilman, on 27 March 2014 - 12:36 PM, said:

I know I will have to learn some languages, which ones I wasn't sure of though so this is a great help to me. I have heard of some called python and such but there are almost as many computer languages, it seems, as there are human ones ://>/> I have looked at java and it was a tad daunting but I won't give up. I will certainly be looking into C++ and C#.



For what it's worth, I would learn one of Java/C++/C#. Certainly when you're getting started, there's no use in trying to do more than one language. You'll only confuse yourself. And frankly, once you know how to do one of those languages well, there's not a lot to learn from the others - you can pick them up if you need them for some particular reason, but OO design is OO design, and the syntax and frameworks don't change that very much.

Of those three, and of them is a reasonable choice, but I feel that, as a first language, Java is the best choice. While I have reasons for that judgement, I don't think I want to argue about them here. I do think it's important to pick one language, and only one, and learn that language well before you try to learn a second. By "well", I mean learn it to the point that you can write a non-trivial application that you yourself find useful or entertaining, or pass a standard course in data structures and algorithms. Either of those, to me, indicates that you're ready to expand yourself to a new language.

Python is a good language, and worth learning, but in a sense I think it's too high-level for a first -language. It's hard to get a sense of the computation that's going on when you use a language which hides so much of it from you. That's one reason I suggest starting in one of the triad mentioned above. Python's a great second language. :)
Was This Post Helpful? 1
  • +
  • -

#7 Cecilman  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 22
  • Joined: 27-March 14

Re: I am looking to get into computer science. How?

Posted 27 March 2014 - 10:47 AM

View Postjon.kiparsky, on 27 March 2014 - 10:26 AM, said:

Old-school AI, the sort that tried to model human cognition, is less of a live area of research these days, but there's a lot of material on it and you can probably see what people were working on.


Also thank you, I didn't see this as I was already writing my response to BetaWar.

This is more kind of what I was thinking. Minus the Sci-Fi Self Awareness of coarse but something capable of being able to do research in place of a human, purely because it would happen much faster. I see human evolution and think of it as having crawled to a near halt. Part of the future development of our race, I believe, depends on our ability to develop technologies that can accelerate the pace at which we learn about the universe around us, even though physical alteration of the human body might be a solution, medicine is nowhere as developed as Information Technology. Who knows, the AI systems we write ten years from now could cure AIDs, cancer and even the common cold through the sheer research capacity they can handle in our stead.

Enough of my hideous double-posting as I am off to bed. I will however see you all tomorrow! Again thank you so, so much for the insight and I look forward to the brain-splosion of information I predict tomorrow morning :D
Was This Post Helpful? 0
  • +
  • -

#8 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7872
  • View blog
  • Posts: 13,353
  • Joined: 19-March 11

Re: I am looking to get into computer science. How?

Posted 27 March 2014 - 10:51 AM

David Gerrold has a novel called "When H.A.R.L.I.E. Was One". You might enjoy it.
Was This Post Helpful? 1
  • +
  • -

#9 BetaWar  Icon User is offline

  • #include "soul.h"
  • member icon

Reputation: 1167
  • View blog
  • Posts: 7,207
  • Joined: 07-September 06

Re: I am looking to get into computer science. How?

Posted 27 March 2014 - 11:13 AM

View PostCecilman, on 27 March 2014 - 05:36 PM, said:

I understand that Google uses AI to an extent in anything from it's search predictor to sorting my e-mail. It would be a dream come true to work with Google, knowing as well that they are always trying to push the limits of what programs could do. Would being part of a team like that also have me in close proximity to those who design the physical architecture of computers and their circuits?

I actually expect you will likely never see hardware design as a developer in Google. Now, I can't say that for certain, and there are almost always exceptions, however the company I develop for has a totally separate hardware team which is housed on the opposite side of the building from development. There is some overlap, but I haven't ever seen anyone designing, testing, or otherwise mucking with hardware.

View Postjon.kiparsky, on 27 March 2014 - 05:46 PM, said:

Of those three, and of them is a reasonable choice, but I feel that, as a first language, Java is the best choice. While I have reasons for that judgement, I don't think I want to argue about them here. I do think it's important to pick one language, and only one, and learn that language well before you try to learn a second. By "well", I mean learn it to the point that you can write a non-trivial application that you yourself find useful or entertaining, or pass a standard course in data structures and algorithms. Either of those, to me, indicates that you're ready to expand yourself to a new language.

Haha, see this is where opinions start to come out. I would have voted for starting with C++ as it is the language with the largest gap between it and Java/C# since you are in charge of your own memory management which Java doesn't have period, and C# makes you jump through hoops to get at. Once you understand how C++ works then the others are easy to pick up since they do the (arguably) hardest part for you (memory management).

Now, I'm not looking to start a holy war over which language is best. They all have their ups and downs. It really comes down to picking one that you like and sticking with it until you have a grasp over programming in it, at which point you can choose another rinse and repeat. Each time you go through the cycle, the next language should be a bit easier to learn. And in the end, all the above options will serve you well.


As far as python goes, I agree it is worth learning at some point, just not as a first language (agreeing here). It makes data mining fairly simple due to its native (and great) support for sets. Python is the language my data mining class used.
Was This Post Helpful? 2
  • +
  • -

#10 jon.kiparsky  Icon User is online

  • Pancakes!
  • member icon


Reputation: 7872
  • View blog
  • Posts: 13,353
  • Joined: 19-March 11

Re: I am looking to get into computer science. How?

Posted 27 March 2014 - 11:19 AM

View PostBetaWar, on 27 March 2014 - 01:13 PM, said:

Now, I'm not looking to start a holy war over which language is best. They all have their ups and downs. It really comes down to picking one that you like and sticking with it until you have a grasp over programming in it, at which point you can choose another rinse and repeat.


I agree on all of this - we can save the argument over which to start with for some time when we're in the same room, and there's beer.
(and if you're ever in Boston, we'll do that, and I'll buy the first round)
Was This Post Helpful? 1
  • +
  • -

#11 Cecilman  Icon User is offline

  • New D.I.C Head

Reputation: 3
  • View blog
  • Posts: 22
  • Joined: 27-March 14

Re: I am looking to get into computer science. How?

Posted 27 March 2014 - 02:50 PM

^ You are simply amazing :D
Was This Post Helpful? 0
  • +
  • -

Page 1 of 1