Learn to program or not yet
Learn to program or not yet
Hey guys
im currently doing a open uni course to learn the magic of computers so far im learning about webpages and how binary works as well as html.
im wanting to learn to program to make mods games and small programs for myself
im hoping to learn java as a first language and my question is
do i start to learn now(is it hard to learn java)or do i wait for the course to finish and go for the java programming course the uni offers?
Thanks guys
Aduis1210
im currently doing a open uni course to learn the magic of computers so far im learning about webpages and how binary works as well as html.
im wanting to learn to program to make mods games and small programs for myself
im hoping to learn java as a first language and my question is
do i start to learn now(is it hard to learn java)or do i wait for the course to finish and go for the java programming course the uni offers?
Thanks guys
Aduis1210
Re: Learn to program or not yet
I'd say it's not about the difficulty in learning a language, it's about your enjoyment of it. When I started Uni, there were over 60 people in the 101 programming course in the first term, in the second term that had halved and continued to drop, not because the language was too hard, but people didn't have the mindset for it.
If you are a natural problem solver and find enjoyment in solving tricky (and sometimes tedious) puzzles, then I'd say give programming a shot, but start small before you commit yourself to anything. There are plenty of free online courses and tutorials to get you started, so give those a go first.
If you are a natural problem solver and find enjoyment in solving tricky (and sometimes tedious) puzzles, then I'd say give programming a shot, but start small before you commit yourself to anything. There are plenty of free online courses and tutorials to get you started, so give those a go first.
-
- Posts: 205
- Joined: Wed Nov 30, 2011 4:19 am
Re: Learn to program or not yet
Everyone should make an attempt at learning to program, no matter what the language. It encourages thinking about problems and is a useful tool to have no matter what your interests or job.
Re: Learn to program or not yet
This right here. Golden advice. That's exactly how it works.gftweek wrote:If you are a natural problem solver and find enjoyment in solving tricky (and sometimes tedious) puzzles, then I'd say give programming a shot
Always study programming while trying to solve problems. Don't try to learn how to program, learn how programming helps you solve problems you otherwise couldn't. For example, start out by making a really complex problem to calculate. Solve it with a calculator on paper, then try to convert that to a computer program.
Next step, take a more ambitious problem and work your way up to, say, a Tic Tac Toe solver. Always tackle it in terms of problem solving, so it tickles your creativity, but more importantly, so you get concrete programs that solve concrete problems.
Come join us at Vioki's Discord! discord.gg/fhMK5kx
- Gargantuan_Penguin
- Posts: 755
- Joined: Mon Jan 16, 2012 10:38 am
Re: Learn to program or not yet
that exactly why I haven't really gotten into programming, I don't have enough problems to solve, and nothing tedious to do. when I do have problems to solve programming suddenly becomes useful to me.
And HOW!
Re: Learn to program or not yet
Yeah, like I said, create problems for yourself. Try to think of a challenging problem, solve it with programming.Gargantuan_Penguin wrote:that exactly why I haven't really gotten into programming, I don't have enough problems to solve, and nothing tedious to do. when I do have problems to solve programming suddenly becomes useful to me.
If you only do the tedious parts, how will it ever become fun? :)
Come join us at Vioki's Discord! discord.gg/fhMK5kx
Re: Learn to program or not yet
Thank you guys:D
well i could think of a few problems and solve them how would i go about learning java?
Also modding with minecraft a good way to learn? (like making a simple mod to enchance my gaming experiance?)
Thanks again :D
Aduis1210
well i could think of a few problems and solve them how would i go about learning java?
Also modding with minecraft a good way to learn? (like making a simple mod to enchance my gaming experiance?)
Thanks again :D
Aduis1210
- Poppycocks
- Posts: 825
- Joined: Thu Dec 22, 2011 2:11 pm
Re: Learn to program or not yet
Thinking in Java 3 is an excellent free online book which I recommend.
Then again it doesn't really talk about the absolute basics... Dunno.
I started in pascal. I wouldn't recommend doin' that, as it's not at all object oriented, but it was a nice'n'easy learning experience for me.
No wait, I'm lying, I started in basic. I still remember the first program I copied off of a book. It was called fish and it drew a fish on the screen. I tried renaming it tree in hope it'd draw a tree... That's when I slowly started to understand that programming isn't at all what I thought it would be. Luckily I was like 7 or 8 back then, therefore forgive myself my stupidity :D.
Anyway, you could for example google for "Java for dummies" or something like that. Something good is bound to come up.
Then again it doesn't really talk about the absolute basics... Dunno.
I started in pascal. I wouldn't recommend doin' that, as it's not at all object oriented, but it was a nice'n'easy learning experience for me.
No wait, I'm lying, I started in basic. I still remember the first program I copied off of a book. It was called fish and it drew a fish on the screen. I tried renaming it tree in hope it'd draw a tree... That's when I slowly started to understand that programming isn't at all what I thought it would be. Luckily I was like 7 or 8 back then, therefore forgive myself my stupidity :D.
Anyway, you could for example google for "Java for dummies" or something like that. Something good is bound to come up.
Re: Learn to program or not yet
Its just starting to learn the simple stuff first 9i tried with eclipise and atm its comming up with errors maybe i did something wrong but anyway.
me think getting to learn something new is the hard part continueing to learn is the easy part.
When i learned to ride a motorcycle the hardest part was learning the controls gear changes ect now im a full licenced rider and im continuing to learn the roads and the motorcycle
once you get the idea of something you learn it fast you just need a hand to learn it in the first place if its a book to read or a tutor to help you witht he basics
Rant over *
Cheers guys^^
me think getting to learn something new is the hard part continueing to learn is the easy part.
When i learned to ride a motorcycle the hardest part was learning the controls gear changes ect now im a full licenced rider and im continuing to learn the roads and the motorcycle
once you get the idea of something you learn it fast you just need a hand to learn it in the first place if its a book to read or a tutor to help you witht he basics
Rant over *
Cheers guys^^
Re: Learn to program or not yet
HeadFirst Java is a good book for beginners.
Re: Learn to program or not yet
gftweek wrote:I'd say it's not about the difficulty in learning a language, it's about your enjoyment of it. When I started Uni, there were over 60 people in the 101 programming course in the first term, in the second term that had halved and continued to drop, not because the language was too hard, but people didn't have the mindset for it.
If you are a natural problem solver and find enjoyment in solving tricky (and sometimes tedious) puzzles, then I'd say give programming a shot, but start small before you commit yourself to anything. There are plenty of free online courses and tutorials to get you started, so give those a go first.
This (period).
Most of the people who "graduate" with Computer Science can barely put together a simple calculator program, and the only real program they "kind of" understand is black jack.
Find a problem you are interested in solving with software, then learn what you need to learn to solve that problem, if you still enjoy it about 2 days in, keep going.
That is how I started, about 15 years ago.
YouTube | TwitchFlowerChild wrote:Version 3.49 of Better Than Wolves
-Added ability for villagers to toss the milk.
Re: Learn to program or not yet
I know, it's a complete disgrace. I worked on a project with a guy at work and asked him to implement a feature, there was some easy calculus math involved.RenEvo wrote:Most of the people who "graduate" with Computer Science can barely put together a simple calculator program, and the only real program they "kind of" understand is black jack.
"Yeah, I really don't like math, can you do it?"
At that point, I decided not to extend my contract. I refuse to work with programmers that don't even like math and know just the bare minimum. Colleges should put more attention to making sure that their students actually know how to program, opposed to just being able to cram useless info in their head during exam time.
Come join us at Vioki's Discord! discord.gg/fhMK5kx
-
- Posts: 205
- Joined: Wed Nov 30, 2011 4:19 am
Re: Learn to program or not yet
I'm in the Computer Engineering department at my school. Two years ago I spoke to my technical advisor about dual majoring in Computer Science to get access to some particular courses that I was interested in. She laughed and jokingly said "Why would you want to waste that space on your resume?"
I was a little shocked by her response for about a semester, but then I ran into two people from my high school who are majoring in Computer Science and we started talking about some of our projects, etc. They weren't very bright in high school, but they sounded like they knew what they were doing. One of them is actually a dual major in digital graphics, and because I was working on a little 3D project at the time, we all started working together on my project.
Suffice it to say, I learned very quickly that these "Computer Scientists" did not know how to program and they killed my enthusiasm for my own project. :/
I was a little shocked by her response for about a semester, but then I ran into two people from my high school who are majoring in Computer Science and we started talking about some of our projects, etc. They weren't very bright in high school, but they sounded like they knew what they were doing. One of them is actually a dual major in digital graphics, and because I was working on a little 3D project at the time, we all started working together on my project.
Suffice it to say, I learned very quickly that these "Computer Scientists" did not know how to program and they killed my enthusiasm for my own project. :/
Re: Learn to program or not yet
Modding Minecraft is not a good way to learn Java. Notch's code is a snarl in some places. Create simple programs first.
First, I do recommend that you read Sun's Java tutorials. They are very good although they do rush things. However, doing the examples and tweaking them is a good way to learn.
Here are some exercises:
1. Create a Binary <--> Decimal converter.
- Enter a Decimal number and display it in Binary
- Enter a Binary number and display it in Decimal
2. Create a Fahrenheit <--> Celsius converter.
3. Run a Geometry Calculator w/ a text menu. Advanced: Make the menu a GUI.
- Create a 4 option menu.
-- A. Calculate Area of a Circle
-- B. Calculate Area of a Rectangle
-- C. Calculate Area of a Triangle
-- D. Quit Option in Menu
When you are ready we move onto Serialization which covers I/O.
First, I do recommend that you read Sun's Java tutorials. They are very good although they do rush things. However, doing the examples and tweaking them is a good way to learn.
Here are some exercises:
1. Create a Binary <--> Decimal converter.
- Enter a Decimal number and display it in Binary
- Enter a Binary number and display it in Decimal
2. Create a Fahrenheit <--> Celsius converter.
3. Run a Geometry Calculator w/ a text menu. Advanced: Make the menu a GUI.
- Create a 4 option menu.
-- A. Calculate Area of a Circle
-- B. Calculate Area of a Rectangle
-- C. Calculate Area of a Triangle
-- D. Quit Option in Menu
When you are ready we move onto Serialization which covers I/O.
- jorgebonafe
- Posts: 2714
- Joined: Mon Sep 19, 2011 3:22 am
- Location: Brasil
Re: Learn to program or not yet
That. They also teach the basics of OOP, or at least they did... I haven't checked those tutorials for a long time, since before Sun owned javaPatrickSJ wrote:First, I do recommend that you read Sun's Java tutorials. They are very good although they do rush things. However, doing the examples and tweaking them is a good way to learn.
Better Than Wolves was borne of anal sex. True Story.
Re: Learn to program or not yet
Watch this to learn what being a developer is all about. Also helps explain the mindset you need to get yourself in.
http://penny-arcade.com/patv/episode/so ... per-part-1
They guys over at ExtraCredits are awesome!
http://penny-arcade.com/patv/episode/so ... per-part-1
They guys over at ExtraCredits are awesome!
Flowerchild (IRC) wrote:I'm not trying to stop you BTW ..., I'm saying that I think you're a piece of shit...not the same thing
- BigShinyToys
- Posts: 836
- Joined: Fri Jul 08, 2011 9:53 pm
Re: Learn to program or not yet
I had the same problem as some of the above . ( that being a lack of useful applications for programing ) but computercraft has given me the excuse to program ( sorta program ) it is in lua not Java thought. but in my case I think some of the structurer crosses overs into other languages like C++ ( for example "print" is the equivalent of "cout" ). I would recommend only trying one language at a time as two could cause confusion .
link for computercraft.
http://www.minecraftforum.net/topic/892 ... craft-121/
link for computercraft.
http://www.minecraftforum.net/topic/892 ... craft-121/
Re: Learn to program or not yet
Thank you guys for all your advise.
Been looking into it with more detail and Youtube has some good videos explaining Everything from installing the jdk to starting mouse inputs
Anybody tryed these? if so would u suggest these to a newbie?;)
Cheers
Been looking into it with more detail and Youtube has some good videos explaining Everything from installing the jdk to starting mouse inputs
Anybody tryed these? if so would u suggest these to a newbie?;)
Cheers
-
- Posts: 205
- Joined: Wed Nov 30, 2011 4:19 am
Re: Learn to program or not yet
I wouldn't suggest watching videos. Learn how the language works from online tutorials and documentation, then try applying what you've learned by solving some simple problems. When you're stuck, refer back to the documentation. That's a very important skill to develop, and watching youtube videos just doesn't do that properly.
Re: Learn to program or not yet
I started programming at 8 so forgive me if this is silly, but your best bet is to program in something like basic before tackling Java/etc. You want to use a straight procedural language (basic, not visual basic) to get a better understanding of what a computer actually does. Hell, Assembly is even worth learning, but I wouldn't start there.
Once you're making Towers of Hanoi and Tic Tac Toe in basic, move on to C. Straight C, not C++. If you don't understand memory management and pointers you really aren't going to understand what's happening in more "advance" languages. Again, Tower of Hanoi, Tic Tac Toe. Simple fun little projects.
After that, move to an object oriented language like Java, C#, VB, C++. Now you'll understand what's happening under the hood so there's no "Magic strings that do stuff". It'll make sense. Plus you'll really appreciate what those languages bring to the table. At this point, write your own data structure library. Doesn't have to be "feature complete", but enough to be useful and to help illustrate the real concepts behind OOP.
From there it's an open field of learning that never stops.
BTW, all of that would cover the first year to two years of a very good software engineering course. One that would actually get you hired by someone like MS (They make you program on a white board for instance).
If all you're interested in is modding a game then by all means, skip all the above and just jump in and experiment. Just realize that you're throwing crap at the wall until it sticks with no real idea what's going on. Alot of amazing things have been built this way (Minecraft, not the code but the game design, for instance? =| ) so don't discount it if your end goal is fairly immediate and limited in nature.
Once you're making Towers of Hanoi and Tic Tac Toe in basic, move on to C. Straight C, not C++. If you don't understand memory management and pointers you really aren't going to understand what's happening in more "advance" languages. Again, Tower of Hanoi, Tic Tac Toe. Simple fun little projects.
After that, move to an object oriented language like Java, C#, VB, C++. Now you'll understand what's happening under the hood so there's no "Magic strings that do stuff". It'll make sense. Plus you'll really appreciate what those languages bring to the table. At this point, write your own data structure library. Doesn't have to be "feature complete", but enough to be useful and to help illustrate the real concepts behind OOP.
From there it's an open field of learning that never stops.
BTW, all of that would cover the first year to two years of a very good software engineering course. One that would actually get you hired by someone like MS (They make you program on a white board for instance).
If all you're interested in is modding a game then by all means, skip all the above and just jump in and experiment. Just realize that you're throwing crap at the wall until it sticks with no real idea what's going on. Alot of amazing things have been built this way (Minecraft, not the code but the game design, for instance? =| ) so don't discount it if your end goal is fairly immediate and limited in nature.
Re: Learn to program or not yet
Really? I think I disagree with almost every word of that post :/Mr_Hosed wrote:-snip-
I noticed in the past while discussing with FC that I have a weird view on programming, so I won't go into heavy debate, but in the words of Dijkstra: “It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration”
That's of course a bit harsh, but switching from Basic to a proper language can take years of reconditioning. It teaches programmers all the bad lessons. So, after learning Basic and its muddled philosophy, you go to C, which will teach the new programmer that programming isn't about reasoning about problems, but about fiddling with difficult technical concepts like memory handling and pointers.
You'll just end up with a programmer that writes efficient hack code, after which you then try to teach him how to fit his knowledge into the OO concept. At that point, his previous training will require him to fight the new taught lessons every step of the way.
I would personally scrap Basic from any programming lessons and always start with OO first, then go to C.
Consider an example, how to solve Tic Tac Toe:
- First you abstract the game into constituents
- Then you abstract functionality
- Then you program the game
Step 1 is the most important step, abstracting a problem into components that you can solve. This corresponds directly to OO, which is all about abstraction.
Step 2 is all iterative programming. How do I tie it all together? This is standard iterative programming that can be taught within any language
Step 3 is about getting better. Each time you program, you try to become better. At this point, you want to pick up C, so you can learn a bit more about control and what is happening behind the scenes.
Come join us at Vioki's Discord! discord.gg/fhMK5kx
Re: Learn to program or not yet
As I said, I started at 8 so it may seem silly. Apple IIe and basic baby! Yeah! ;)
It wasn't until my datastructures class at uni that I finally felt like a programmer though. I still think a procedural language is a very valid starting point.
The main problem I've seen from people have who started there is moving on to a language that allows them to continue bad habits (such as gotos, etc) and they used that prior language long enough to shape their problem solving process around that language. But if you're on a rapid learning curve, basic to C to C++/C#/Java seems to me like a good way to go.
Then again, with the ease of libraries these days, you could go an entire career without ever learning about pointers...
Edit: One problem I do see with focusing on OOP (A problem I ran into) is the steep curve to learn functional languages like LISP, F#, and JavaScript. My god those made no damn sense to me for the longest time. JavaScript is even worse because you can program it as an OOP or a Functional.
It wasn't until my datastructures class at uni that I finally felt like a programmer though. I still think a procedural language is a very valid starting point.
The main problem I've seen from people have who started there is moving on to a language that allows them to continue bad habits (such as gotos, etc) and they used that prior language long enough to shape their problem solving process around that language. But if you're on a rapid learning curve, basic to C to C++/C#/Java seems to me like a good way to go.
Then again, with the ease of libraries these days, you could go an entire career without ever learning about pointers...
Edit: One problem I do see with focusing on OOP (A problem I ran into) is the steep curve to learn functional languages like LISP, F#, and JavaScript. My god those made no damn sense to me for the longest time. JavaScript is even worse because you can program it as an OOP or a Functional.
Re: Learn to program or not yet
I use to agree with the "Start with a procedural language like C or C++" but i have since completely dropped that opinion and here is why:
1 - Anything C/C++ can do, C#/Java can do easier.
By this, mean... if you want to write procedurally and without using objects, you can. Just because everything IS an object doesn't mean anything to a new programmer. int i = 0 works the same in C as it does in C# to the programmer, it is just doing different things under the hood. If you are at Uni with proper tutors and lecturers and a guideline, then starting at the roots is good. If you are new to programming and self teaching you need something that produces big results with little effort, and working within a framework is the best way to provide this.
2 - More modern languages evolved from their predecessors.
Java and C# learned the lessons from C++ and made changes for the better. The removed the mistakes and added improvements, yet keeping very similar syntax. This means that if you learn C# or Java, C++ is a lot easier.
3 - When learning to drive, you don't open up the engine and manually control everything.
This is the equivalent of C++. It's power comes from the incredible low level control you are given over the system, but this power is only relevant to those who truly understand it.
The number of programmers has boomed since i was first interested in it (going back to 98 here) and i believe this is due to the ease of accessibility to the languages. If you are a new programmer and teaching yourself, you want to be able to quickly do something fun and exciting. Something as simple as controlling where on the screen a box is drawn in C++ is no easy task. With stuff like XNA, i can render a 2D sprite to screen in about 5 mins from scratch and without any copy pasting. I'm not saying that you can't learn by starting at the procedural languages, but it is a lot harder and intimidating for noobs.
1 - Anything C/C++ can do, C#/Java can do easier.
By this, mean... if you want to write procedurally and without using objects, you can. Just because everything IS an object doesn't mean anything to a new programmer. int i = 0 works the same in C as it does in C# to the programmer, it is just doing different things under the hood. If you are at Uni with proper tutors and lecturers and a guideline, then starting at the roots is good. If you are new to programming and self teaching you need something that produces big results with little effort, and working within a framework is the best way to provide this.
2 - More modern languages evolved from their predecessors.
Java and C# learned the lessons from C++ and made changes for the better. The removed the mistakes and added improvements, yet keeping very similar syntax. This means that if you learn C# or Java, C++ is a lot easier.
3 - When learning to drive, you don't open up the engine and manually control everything.
This is the equivalent of C++. It's power comes from the incredible low level control you are given over the system, but this power is only relevant to those who truly understand it.
The number of programmers has boomed since i was first interested in it (going back to 98 here) and i believe this is due to the ease of accessibility to the languages. If you are a new programmer and teaching yourself, you want to be able to quickly do something fun and exciting. Something as simple as controlling where on the screen a box is drawn in C++ is no easy task. With stuff like XNA, i can render a 2D sprite to screen in about 5 mins from scratch and without any copy pasting. I'm not saying that you can't learn by starting at the procedural languages, but it is a lot harder and intimidating for noobs.
Flowerchild (IRC) wrote:I'm not trying to stop you BTW ..., I'm saying that I think you're a piece of shit...not the same thing