| Pages: [1] :: one page |
|
|
| Author |
Thread Statistics | Reply to Topic | Show CCP posts - 0 post(s) |

Degren
Red Federation RvB - RED Federation
117
 |
Posted - 2012.04.03 10:26:00 -
[1] - Quote
Hey, gents and ladies. I've reached (what I consider) a dead-end in my current career.
In a few years I'll be able to stop (contracted work kinda deal), and continue pursuing education...but I don't really want to wait a few years.
I'm basically looking at programming, robotics and mechanical engineering. Ideally, I'd like to one day work on AI or medtech research/engineering.
So...my question for you folks is where do I start? I really only have a basic understanding of if/then/else relations so...not much.
I've sent a few e-mails to professors working on AI and such, but I get bot responses, so...help!
Thanks in advance! |

Penelope Star
Club Bear
20
 |
Posted - 2012.04.03 10:52:00 -
[2] - Quote
If I was only starting out now, would be sorely tempted to get into developing apps for ipads. Fun, topical AND the potential to make a bit of money.
iOs Developer Library I know your type: -a tall, dark and dead |

Sidus Isaacs
Center for Advanced Studies Gallente Federation
96
 |
Posted - 2012.04.03 13:06:00 -
[3] - Quote
Degren wrote:Hey, gents and ladies. I've reached (what I consider) a dead-end in my current career.
In a few years I'll be able to stop (contracted work kinda deal), and continue pursuing education...but I don't really want to wait a few years.
I'm basically looking at programming, robotics and mechanical engineering. Ideally, I'd like to one day work on AI or medtech research/engineering.
So...my question for you folks is where do I start? I really only have a basic understanding of if/then/else relations so...not much.
I've sent a few e-mails to professors working on AI and such, but I get bot responses, so...help!
Thanks in advance!
I would start with google. Read up on some tutorials. What language is not really as important as the thoughts and ideas behind it. And if need be, one can swap out language as needed with only minimal "relearning" time.
Personally I would check out C++ or Java to begin with.
I started myself by typing hex codes into an old chip, then went to assembly, then to C++. I do not recommend the first two, but they did give me a good understanding back in the day. |

Telegram Sam
The Drones Club
245
 |
Posted - 2012.04.03 13:19:00 -
[4] - Quote
Codecademy has free, easy online lessons in coding. It's designed to be kind of like playing a game. Maybe somewhere to start to see if you like this stuff. |

stoicfaux
910
 |
Posted - 2012.04.03 13:42:00 -
[5] - Quote
Algorithms + Data Structures = Programs.
Take or audit a university course or two on Algorithms and Data Structures. Everything else tends to flow from there.
You can tell me what is and isn't Truth when you pry the tinfoil from my cold, lifeless head.
|

Kattshiro
Deep Core Mining Inc. Caldari State
38
 |
Posted - 2012.04.03 13:50:00 -
[6] - Quote
Telegram Sam wrote:Codecademy has free, easy online lessons in coding. It's designed to be kind of like playing a game. Maybe somewhere to start to see if you like this stuff.
Actually heard these guys were pretty good.
Also you need to figure out what kind of programming/coding you want to do. Also need to see if it really is for you.
Also some classes on itunes U from Stanford MIT etc. Free and can at least show you what your in for if you want to do high level OOP. |

Herzog Wolfhammer
Sigma Special Tactics Group
1385
 |
Posted - 2012.04.03 16:10:00 -
[7] - Quote
Degren wrote:Hey, gents and ladies. I've reached (what I consider) a dead-end in my current career.
In a few years I'll be able to stop (contracted work kinda deal), and continue pursuing education...but I don't really want to wait a few years.
I'm basically looking at programming, robotics and mechanical engineering. Ideally, I'd like to one day work on AI or medtech research/engineering.
So...my question for you folks is where do I start? I really only have a basic understanding of if/then/else relations so...not much.
I've sent a few e-mails to professors working on AI and such, but I get bot responses, so...help!
Thanks in advance!
I started programming in the desert, modifying threat libraries in the countermeasures systems of fighter jets. All I had was an LED display and a number pad and the whole thing was in hex code. Everything had to be learned from a binder marked "SECRET" that was thicker than a phone book and I could not take it home to study it.
How you get your start does not matter. So therefore I recommend you pick a goal, an easy one, that requires you create a program. Make it a goal in the lines of what you want to do (graphics, communications, databases, control, etc) and then, search on the internet for your answers.
Just about everybody who does anything with programming puts stuff on the internet showing how to do what they do. So finding the right information is not as hard as you would think.
Once you get a feel for it, congratulations, you are doing what 90 percent of programmers already do in their daily work. There is no point where it's said that you know what you are doing. Most programming work is finding a solution that already exists and adapting existing code to your own solution.
|

Merin Ryskin
Peregrine Industries
59
 |
Posted - 2012.04.03 16:30:00 -
[8] - Quote
Hello world is always a good start.
Since you're interested in robotics, you might want to get a microcontroller starter kit and (TI evalbot, arduino, etc) so you can get used to the idea of controlling physical hardware and dealing with the much tighter memory/speed/etc limits. That kind of programming is very different than, say, writing PC business software. |

Tsadkiel
S0utherN Comfort Cascade Imminent
60
 |
Posted - 2012.04.03 16:43:00 -
[9] - Quote
ok so, a couple of things
1) i highly recommend you set up a unix environment to work in of some kind. if you are a mac person, you're set. if not, consider installing Ubuntu as a second operating system on your PC. the reason why i say Ubuntu is because their recent releases have the ability to be installed FROM WINDOWS, so no need to go through the preboot setup crap. i don't know how computer literate you are so if you are already comfortable with setting up your computer to dual boot, then just pick the linux OS of your choice.
2) if you are just learning, i would start with Python. install ipython and all of the necessarily python libraries. you can do this in Ubuntu through the Synaptic Package Manager, which can be found under System->Administration. once you feel comfortable writing code in python my next recommendation is to move on to C++. this will make you much more employable as C++ is the current "workhorse" language. it has a lot more subtleties than python, and you will need to learn about compilers, but it will be worth it. If Python is Jazz, then C++ is Classical Bach, Mozart, or Chopin.
3) make projects for yourself and start small! here are some projects that i think will help you learn the basic ins and outs of any programming language.
3a) "Hello World!". write a program that simply writes something to the screen (the terminal).
3b) write a program that accepts and uses user input.
3c) write a program that reads and writes to files! make it so that the behavior of the program is determined by the file read.
3d) write a program that implements classes and class inheritance. unless you are working with an archaic language like FORTRAN or a language designed for a specific purpose, these will be present in EVERY language
3e) write a program that determines whether or not a user inputed number is prime. there is a "smart" way and a "dumb" way to do this. try both and note difference in run time. assume the person trying to use the program is attempting to crash it.
3f) write a program that takes user input from the terminal, converts it into binary, and outputs the result to the screen. you will need to learn about how that language handles different data types.
this should be a good start! good luck!
|

FloppieTheBanjoClown
The Skunkworks
1276
 |
Posted - 2012.04.03 16:58:00 -
[10] - Quote
Some friends and I recently decided to take up programming as a group hobby, with the intent of devloping iOS games (no promises of them being good...the purpose is learning). Useful information here, thanks guys. It's time to put an end to CCP's war on piracy. Fight your own battles and stop asking CCP to do it for you. |
|

stoicfaux
910
 |
Posted - 2012.04.03 17:38:00 -
[11] - Quote
Tsadkiel wrote: 2) if you are just learning, i would start with Python. install ipython and all of the necessarily python libraries. you can do this in Ubuntu through the Synaptic Package Manager, which can be found under System->Administration. once you feel comfortable writing code in python my next recommendation is to move on to C++. this will make you much more employable as C++ is the current "workhorse" language. it has a lot more subtleties than python, and you will need to learn about compilers, but it will be worth it. If Python is Jazz, then C++ is Classical Bach, Mozart, or Chopin.
Sweet Jesus, no! Python is strongly typed only at run-time, which means that a) Python IDEs provide almost no value over a straight text editor (no auto-completion, no immediate flagging of problems, etc.,) and b) it's much, much, much more expensive to discover your errors at run-time, which makes learning a lot more frustrating and a lot slower for the newbie. Plus, Python's documentation is probably the most useless I've ever had the displeasure to use.
A complete newbie would be better off grabbing a copy of VB.Net Express (free) which has a lot of hand holding, a very friendly IDE, easy GUI creation tools, one button builds, OO, easy to google for code examples/help, etc.. Once a newbie gets the general concepts down, then they can move on to a more professional language or pick up a scripting language.
You can tell me what is and isn't Truth when you pry the tinfoil from my cold, lifeless head.
|

Selinate
777
 |
Posted - 2012.04.03 17:54:00 -
[12] - Quote
Degren wrote:
I've sent a few e-mails to professors working on AI and such, but I get bot responses, so...help!
Professors barely give a rat's ass about undergraduate students. It might be harsh to say this, but don't expect them to care about you.
I'd go with what Tsadkiel said. Keep in mind, it varies heavily on what you want to do with programming. For instance, discretizing a complex mathematical model (such as a system of partial differential equations) and writing a program based off of convergence criteria with that discretization is much MUCH different from, say, making a game for the iPad.
With this in mind, you really have to be very specific on the kind of progarmming you want to do. You say "AI", and mechanical engineering, and while I can't say specifically what kind of programming the field of artificial intelligence uses, I can say that you need to be prepared to go to school for a long, LONG time. I'd guess for about 6-8 years, maybe longer, just off the top of my head. |

Tsadkiel
S0utherN Comfort Cascade Imminent
61
 |
Posted - 2012.04.03 18:01:00 -
[13] - Quote
stoicfaux wrote:Tsadkiel wrote: 2) if you are just learning, i would start with Python. install ipython and all of the necessarily python libraries. you can do this in Ubuntu through the Synaptic Package Manager, which can be found under System->Administration. once you feel comfortable writing code in python my next recommendation is to move on to C++. this will make you much more employable as C++ is the current "workhorse" language. it has a lot more subtleties than python, and you will need to learn about compilers, but it will be worth it. If Python is Jazz, then C++ is Classical Bach, Mozart, or Chopin.
Sweet Jesus, no! Python is strongly typed only at run-time, which means that a) Python IDEs provide almost no value over a straight text editor (no auto-completion, no immediate flagging of problems, etc.,) and b) it's much, much, much more expensive to discover your errors at run-time, which makes learning a lot more frustrating and a lot slower for the newbie. Plus, Python's documentation is probably the most useless I've ever had the displeasure to use. A complete newbie would be better off grabbing a copy of VB.Net Express (free) which has a lot of hand holding, a very friendly IDE, easy GUI creation tools, one button builds, OO, easy to google for code examples/help, etc.. Once a newbie gets the general concepts down, then they can move on to a more professional language or pick up a scripting language.
the primary reason i mentioned python is because it is the easiest way to learn how to "think like a programmer" without getting bogged down in unnecessary syntax for the most part. you don't need to learn how to use an IDE to use it (any text editor will do, and this is true for all languages), you don't need to learn about compilers, and it's a scripting language, so it forces you to learn how to think in sequence.
long story short is that it will help you learn a lot without requiring a ton of overhead knowledge. |

Merin Ryskin
Peregrine Industries
59
 |
Posted - 2012.04.03 18:05:00 -
[14] - Quote
Tsadkiel wrote:you don't need to learn how to use an IDE to use it (any text editor will do, and this is true for all languages)
Except you want to use an IDE as soon as possible, so that you can debug your code in a sensible way. Trying to compile and understand error messages from a command line SUCKS, and I would've gladly spent five minutes learning where the "create new program" and "run" buttons before writing "hello world". |

Tsadkiel
S0utherN Comfort Cascade Imminent
61
 |
Posted - 2012.04.03 18:22:00 -
[15] - Quote
Merin Ryskin wrote:Tsadkiel wrote:you don't need to learn how to use an IDE to use it (any text editor will do, and this is true for all languages) Except you want to use an IDE as soon as possible, so that you can debug your code in a sensible way. Trying to compile and understand error messages from a command line SUCKS, and I would've gladly spent five minutes learning where the "create new program" and "run" buttons before writing "hello world".
i guess that's a matter of preference. i prefer working with a text editor like emacs or vim and running and compiling on the command line to using an IDE. i feel like it forced me to learn things like make, cmake, shell scripting, etc... i feel like it's more like working on the engine of a car with your bare hands :3 again, purely a matter of preference i guess. |

Merin Ryskin
Peregrine Industries
59
 |
Posted - 2012.04.03 18:26:00 -
[16] - Quote
Tsadkiel wrote:i guess that's a matter of preference.
True. Some people like whips and chains, some people like their masochism in digital form.
|

Caleidascope
Republic Military School Minmatar Republic
95
 |
Posted - 2012.04.03 18:58:00 -
[17] - Quote
I am taking microcontroller class right now. We are using intel 8051 style microcontroller. All the programming for it we do using C (not C++ nor C#). Life is short and dinner time is chancy Eat desert first! |

Tsadkiel
S0utherN Comfort Cascade Imminent
61
 |
Posted - 2012.04.03 19:33:00 -
[18] - Quote
Merin Ryskin wrote:Tsadkiel wrote:i guess that's a matter of preference. True. Some people like whips and chains, some people like their masochism in digital form.
YUP! =D |

Herzog Wolfhammer
Sigma Special Tactics Group
1385
 |
Posted - 2012.04.03 20:41:00 -
[19] - Quote
Merin Ryskin wrote:Tsadkiel wrote:you don't need to learn how to use an IDE to use it (any text editor will do, and this is true for all languages) Except you want to use an IDE as soon as possible, so that you can debug your code in a sensible way. Trying to compile and understand error messages from a command line SUCKS, and I would've gladly spent five minutes learning where the "create new program" and "run" buttons before writing "hello world".
Whoa there.
Beginners should not go straight to an IDE. The small simpler programs for a beginner don't require it, and at that stage learning the ins and out of the IDE get in the way of learning the language.
Furthermore, Intellisense has made a lot of new programmers "framework dependent". They end up knowing more about the framework than how to actually write efficient code. This is a detriment. Sure it's faster, but the moment some bug comes up or something is not doing what it's expected, they have ZERO troubleshooting skill for it. I have to hand-hold so-called programmers like this all day.
New programmers should stick to the simple stuff and use the command line compilers and linkers to get a feel for how these things work. A lot of the simple free ones out there are easy to use. Then after that, it's time for an IDE and the FIRST thing anybody needs to learn with an IDE (beyond how to create a project and populate it with classes, functions, etc) is how to run a debugging session or a debugging mode. That is the true power of the IDE, not in how it makes things easier.
|

Merin Ryskin
Peregrine Industries
59
 |
Posted - 2012.04.03 20:56:00 -
[20] - Quote
Herzog Wolfhammer wrote:Beginners should not go straight to an IDE. The small simpler programs for a beginner don't require it, and at that stage learning the ins and out of the IDE get in the way of learning the language.
So don't learn all the details of the IDE right away. "Create new c/java/whatever file" and "compile and run" is a total of two buttons. I bet you'll spend just as much time looking up what the command line syntax for your compiler is, and way more time if you have to install an entire new operating system like some people are suggesting.
Even very basic things like syntax highlighting, visual pointers on compiler errors, etc are way better than doing it with a command line, and even a very basic understanding of how to use breakpoints/watch lists/etc makes debugging a program much easier. The only reason not to take advantage of those features is if you're one of those idiots who thinks that you aren't a "real" programmer unless you've had to suffer x/y/z pointless difficulties. |
|

Telegram Sam
The Drones Club
249
 |
Posted - 2012.04.03 21:28:00 -
[21] - Quote
Herzog Wolfhammer wrote:Degren wrote:Hey, gents and ladies. I've reached (what I consider) a dead-end in my current career.
In a few years I'll be able to stop (contracted work kinda deal), and continue pursuing education...but I don't really want to wait a few years.
I'm basically looking at programming, robotics and mechanical engineering. Ideally, I'd like to one day work on AI or medtech research/engineering.
So...my question for you folks is where do I start? I really only have a basic understanding of if/then/else relations so...not much.
I've sent a few e-mails to professors working on AI and such, but I get bot responses, so...help!
Thanks in advance! I started programming in the desert, modifying threat libraries in the countermeasures systems of fighter jets. All I had was an LED display and a number pad and the whole thing was in hex code. Everything had to be learned from a binder marked "SECRET" that was thicker than a phone book and I could not take it home to study it. How you get your start does not matter. So therefore I recommend you pick a goal, an easy one, that requires you create a program. Make it a goal in the lines of what you want to do (graphics, communications, databases, control, etc) and then, search on the internet for your answers. Just about everybody who does anything with programming puts stuff on the internet showing how to do what they do. So finding the right information is not as hard as you would think. Once you get a feel for it, congratulations, you are doing what 90 percent of programmers already do in their daily work. There is no point where it's said that you know what you are doing. Most programming work is finding a solution that already exists and adapting existing code to your own solution. That's pretty cool. Had an engineer friend who designed avionics (weapons control and/or ECM) for F-16 fighters. Same thing-- he always wanted to take the manual home to study, but never could. |

Kattshiro
Deep Core Mining Inc. Caldari State
42
 |
Posted - 2012.04.03 23:12:00 -
[22] - Quote
**** that **** use netbeans, or eclipse. VIM or emacs or other stuff is out dated and not needed. Dont go buy VS or a super frame work (Even though they are awesome...really) but a bunch of people want you to suffer like they did for no good reason. It wont make you a better programmer that's just haughty nerd elitism. (Reason why you'll spend less time figuring out stupid errors like misspelling or ; placement, and focus on the important aspects) |

Jett0
Team Kitty Choke Slam
94
 |
Posted - 2012.04.03 23:15:00 -
[23] - Quote
** Languages: **
I've found Python (SHUT UP!) to be a good way to learn basic programming logic. It's very easy to set up and understand.
C is traditional and easy to learn, and there's lots of documentation.
C++ is a little more difficult, but it's very powerful. There's a reason it's still around. Also, your C skills will transfer.
Special mention to Java, which I thought was dying, but then Minecraft exploded. All hail the .jar file I guess...
** Environment: **
Basic programming is taking your code in Notepad or whatever and running a compiler on the file, which converts your code into output (the program).
IDEs (Integrated Development Environment) came about as a way of managing multiple compilers and projects. It replaces obtuse command line stuff with pretty buttons like "Run" and "Save." If you use one, just keep in mind that it's still an elaborate script that takes words and converts them into computer language.
Most languages start with a small baseline of simple commands, but you can add capabilities with the use of "libraries" or "packages" or whatever that particular language calls it. For example, in C++, one of the standard libraries lets me put text on the screen. Another, non-standard library, lets me create windows of whatever resolution and display graphics for making games.
** My 2 cents: **
If you're super new to coding, start with Python. The commands and environment won't translate to other languages very well, but it's a great learning tool.
On the other hand, if you're willing to read and research a little more, find a C compiler and do everything in Notepad. Once you understand how the process works and your projects grow, find an IDE that suits your tastes.
One final note: I find that researching the history of the language I'm working with helps me understand a little bit about its design philosophy and what its capabilities are. Wikipedia is your friend.
Good luck! Occasionally plays sober |

Herzog Wolfhammer
Sigma Special Tactics Group
1387
 |
Posted - 2012.04.04 00:13:00 -
[24] - Quote
Merin Ryskin wrote:Herzog Wolfhammer wrote:Beginners should not go straight to an IDE. The small simpler programs for a beginner don't require it, and at that stage learning the ins and out of the IDE get in the way of learning the language. So don't learn all the details of the IDE right away. "Create new c/java/whatever file" and "compile and run" is a total of two buttons. I bet you'll spend just as much time looking up what the command line syntax for your compiler is, and way more time if you have to install an entire new operating system like some people are suggesting. Even very basic things like syntax highlighting, visual pointers on compiler errors, etc are way better than doing it with a command line, and even a very basic understanding of how to use breakpoints/watch lists/etc makes debugging a program much easier. The only reason not to take advantage of those features is if you're one of those idiots who thinks that you aren't a "real" programmer unless you've had to suffer x/y/z pointless difficulties.
In my experience, programmers who skip the simple basics are heading for a world a difficulty in their career.
Take command line compilers for example. Visual Studio is using one. It puts a big string together, and executes it. My boss says that the IDE is "for housewives" where compilation is concerned but he's an old school nerd. There are some things you have to do to go in there and actually edit that command line. It's rare, and I have only had to do it a couple of times in a year, but had I never seen one before it would take a long time to figure out.
|

Herzog Wolfhammer
Sigma Special Tactics Group
1387
 |
Posted - 2012.04.04 00:15:00 -
[25] - Quote
Kattshiro wrote:**** that **** use netbeans, or eclipse. VIM or emacs or other stuff is out dated and not needed. Dont go buy VS or a super frame work (Even though they are awesome...really) but a bunch of people want you to suffer like they did for no good reason. It wont make you a better programmer that's just haughty nerd elitism. (Reason why you'll spend less time figuring out stupid errors like misspelling or ; placement, and focus on the important aspects)
You can get VS Express for Free last time I checked and they work pretty good.
Also, Netbeans and Eclipse are free and they are not just for Java! They have plugins that not only let you use other languages, but other platforms too. For example my Netbeans installation has a plugin for programming Android apps.
Further note: this being a game forum, a lot of the stuff for XNA (XBox) is free as is also the Direct X. I wrote a .NET program once using a model of a Tie Interceptor I found on the web - and then I made it launch missiles, but every time I demo it (for other reasons not having anything to do with graphics or games, it's just a test platform) I hear "missiles? They launch missiles?"
The missile itself is a model of an AIM-120 I also found on the web and I programming it do self destruct after it misses the target (but I cannot do explosions - that takes more skill I lack) but best of all, my quaternion camera, the sort that Eve Uses (search the XNA developers forums I posted a copy of the code there) can be set to follow the missiles, something that I wish this game had.
I would like to point out that Graphics programming and actual coding for games are TWO ENTIRELY DIFFERENT worlds!!!!1!! Blessed and quite endowed with skills are those who can do (and mentally handle) both. Every time I use a 3D model, I use a free one from the internet which you can find in various formats. Often times when looking at gigs that involve graphics, there is a demand for people who know how to use the major 3D modelling programs and that should be treated like an entirely different career field. But ANY programmer can code behavior or AI into a model so long as you know what to tell the rendering engine.
If anybody needs to see what an EvE-style Quaternion camera looks like in code let me know and I will see if the XNA forums still have it around. |

Caleidascope
Republic Military School Minmatar Republic
96
 |
Posted - 2012.04.04 01:35:00 -
[26] - Quote
Another IDE that has not been mentioned is Open Watcome (free). I used it when I took microprocessors class (we were dealing with intel, not motorolla) for C language, but it also does C++ and Fortran
For C++ I used another IDE, Xcode by Apple (free), but that was a while back, I needed to do C++ and my lappy was iBook G3 so Xcode let me do C++ on it. Probably better off to use Visual Studio Express or something else mentioned if you are on Windows machine. Life is short and dinner time is chancy Eat desert first! |

Tsadkiel
S0utherN Comfort Cascade Imminent
64
 |
Posted - 2012.04.04 18:07:00 -
[27] - Quote
i second the netbeans comment. love that IDE |
|
|
| |
Reply to Topic |
| Pages: [1] :: one page |
| First page | Previous page | Next page | Last page |