Jump to content

Where do I go now to continue learning?


Qubit

Recommended Posts

So now that AP Computer Science Exam is coming around next Thursday, my learning in class is coming to an end. I would say I know all the course work and criteria really well. We ended at recursion (I don't know why) and classes/subclasses/inheritance/abstract stuff. I want to continue learning before I head of to college at Worcester Polytechnic Institute in the fall for Computer Science. What do you think I can do you continue learning, anything you would recommend for me like a certain book? My friend also emailed me today who is in the class with me, told me how he interned at a place with full work hours, and how they are looking for more java programmers so he reached out to me and asked if I was interested. What do you guys think?? 

Link to comment
Share on other sites

In my experience, the best way to learn is hands on experience. Just think of useful applications or other java projects you would be interested in creating, and make them. It is a very rewarding experience to complete a project or application without the use of google or other references as well. Hope this helps a little, and goodluck man! smile.png

Link to comment
Share on other sites

"In order to learn you must desire to learn, and in so desiring not be satisfied with what you already incline to think" - Charles Peirce

Knowledge derives from answers, which derives from questions, which derive from interest. To learn, you must wonder and ask questions.

Forcing knowledge can lead to rushing. This results in gaps. If you do not have interest in it, do not force yourself to learn it.

Make sure you are familiar with everything you currently think you know. There are TONS of programming pitfalls which you must be aware of when working on the field.

Look for subjects that actually interest you. Many things are tied together; learning one aspect could lead you into learning another. If you have interest, you will ask more questions. Try not to make learning a chore.

Observe the thoughts of other great developers. Joshua Bloch is one of my favorite developers, although the list of developers I actually follow is rediculous. They could say something that may inspire you to think in a different, more innovative way. A quote that really got to me: "An API should not only be easy to use, but hard to misuse"

Don't limit yourself to one language. A lot of new languages are arising, bringing along a lot of innovation and long awaited features. Getting familiar with other language can really strengthen your overall view on programming. You'll find a lot of flaws in other languages, making you reconsider what you think is best for certain situations.

Meet other programmers and exchange code. This is always a great way to learn new things. Although beware; if you don't do indepenedent research on what you learn from your partner's code, you could gain bad habits. Search and research.

Some neat Java books (will be adding more; it's been a while since I've read any programming books :s):

Effective Java

Code Complete

Filthy Rich Clients

Refactoring

Java Puzzlers

Hardcore Java

Inmates Are Running The Asylum

Edited by fixthissite
  • Like 5
Link to comment
Share on other sites

"In order to learn you must desire to learn, and in so desiring not be satisfied with what you already incline to think" - Charles Peirce

Knowledge derives from answers, which derives from questions, which derive from interest. To learn, you must wonder and ask questions.

Forcing knowledge can lead to rushing. This results in gaps. If you do not have interest in it, do not force yourself to learn it.

Make sure you are familiar with everything you currently think you know. There are TONS of programming pitfalls which you must be aware of when working on the field.

Look for subjects that actually interest you. Many things are tied together; learning one aspect could lead you into learning another. If you have interest, you will ask more questions. Try not to make learning a chore.

Observe the thoughts of other great developers. Joshua Bloch is one of my favorite developers, although the list of developers I actually follow is rediculous. They could say something that may inspire you to think in a different, more innovative way. A quote that really got to me: "An API should not only be easy to use, but hard to misuse"

Don't limit yourself to one language. A lot of new languages are arising, bringing along a lot of innovation and long awaited features. Getting familiar with other language can really strengthen your overall view on programming. You'll find a lot of flaws in other languages, making you reconsider what you think is best for certain situations.

Meet other programmers and exchange code. This is always a great way to learn new things. Although beware; if you don't do indepenedent research on what you learn from your partner's code, you could gain bad habits. Search and research.

Some neat Java books (will be adding more; it's been a while since I've read any programming books :s):

Effective Java

Code Complete

Filthy Rich Clients

Refactoring

Java Puzzlers

Hardcore Java

Inmates Are Running The Asylum

thanks for the info, def most helpful post yet!

Link to comment
Share on other sites

"Don't limit yourself to one language."

I cannot emphasize this enough.

 

There are plenty of amazing free online courses (MOOCs):

Machine learning: https://www.coursera.org/learn/machine-learning (requirements: basic matlab programming, basic linear algebra)
Other AI stuff with pathfinding etc: https://www.edx.org/course/artificial-intelligence-uc-berkeleyx-cs188-1x-0#! (took this course a while ago, highly recommend it)
Crypto: 
https://www.coursera.org/course/crypto (might be too advanced, you do need some number theory to understand RSA and other algorithms)

 

Many more are listed here: https://www.class-central.com/subject/cs

Link to comment
Share on other sites

In my opinion, one of the better ways to learn, and the most fun way to learn, is by creating. What this means to me is to not just have a goal of learning a language, but rather leveraging the technology to make a cool project. Even better, think of a cool project and then pick the technologies that will help you make it and learn those. Looking further into the future, in this industry having a few awesome projects listed on your resume will be a great help in getting interviews. As previously mentioned, if you're not having fun it's okay to take a break. I find I will often abandon projects for months at a time due to losing interest only to come back and finish them later. 

 

Enjoy learning by learning what you enjoy.

Edited by Eliot
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...