Solved

Programming Mentor

Posted on 2013-01-02
5
428 Views
Last Modified: 2013-01-03
Hello,

I am curious how others break through plateaus in learning Computer Science.  I am currently enrolled in school on my 4th semester for a Computer Science degree.  

I program in C#/WPF mainly, but can also code in C++, Javascript, ASP.NET.  

My problem is I am reading tons of books, but when an abstract concept like delegates/events comes up, I learn the syntax, but don't feel I really understand the concept at its core.  I scour the internet for infomation, but most of the time the examples are either way too simple, or way too complex.

I work well in a mentor/mentee situation, but dont even know if that is something that is part of the coding community.  Any suggestions on how to get through these plateaus of learning, like Delegates, Reflection, and other abstract concepts.  I really want to understand when to use them, not just the syntax.  Thank you.
0
Comment
Question by:paulpp
5 Comments
 
LVL 5

Accepted Solution

by:
mlaise earned 167 total points
Comment Utility
I learned how to code by being mentored right out of High School by a small firm over 10 years ago.  The best advice I would give is first and foremost try your best to find a development shop which will agree to allow you to do an internship.  There is no better way to learn then to have other coders explain the more abstract concepts to you.

Outside that the best you can do is keep pushing yourself.  Design applications that require you to leave your comfort zone.  Coding is hard at the start but I promise if you stick with it and push yourself you will have the 'ah ha' moment where it all starts to make sense.  Just takes a lot of effort to get over the hump.
0
 
LVL 74

Assisted Solution

by:käµfm³d 👽
käµfm³d   👽 earned 167 total points
Comment Utility
One of the ways in which I continue my learning is by answering questions right here at EE, believe it or not. There have been countless questions that I have participated in that I did not know the answer to, but the topic of the question was interesting enough to cause me to research the topic. You might consider doing something similar. Just start off with things you know, and slowly work in things that you don't know, but are interested in.

Depending on what area of programming you end up working in, it could very well be the case that you do not even need to know about delegates and reflection, and any of the other advanced topics within .NET (e.g. COM Interop, Remoting, etc.). I work in a business environment, and both delegates and reflection are rarely mentioned. I know about them because I was interested in learning the nitty-gritty of the Framework, as you seem to be inclined to do as well.

Don't be afraid to ask questions on the various message boards (yes, even outside of EE). Each board has its respective gurus who will be glad to help you, so long as you show that you've at least tried to decipher the topic. It could certainly be the case that you've found 50 tutorials describing a topic, but none of the 50 has cause the topic to click with you. Clearly explain what part of the topic doesn't make sense, and you should have no trouble getting help from those who know the topic. (Just don't ever make the mistake of trying to get said gurus to do your shool work for you. It's really easy to spot those kind of questions!)

Having put forth some effort towards a CS degree, I will tell you that CS encompasses much more topics than just programming. .NET is just a small portion of the nebula that is CS. You will learn about various types of languages, the inner workings of a computer, various data structures and their uses, as well as designing efficient algorithms. I wouldn't focus too keenly on .NET concepts as there is going to be much more outside of the .NET realm that you will be learning about  : )
0
 
LVL 11

Assisted Solution

by:MajorBigDeal
MajorBigDeal earned 166 total points
Comment Utility
I strongly agree with the previous comment about designing applications that are outside your comfort zone.   While I enjoy reading about concepts and doing tutorials, that is never enough for me to internalize the information.  I have to create and implement a design that calls for it.  Then once I am having a specific issue I can do the research or ask the question and that is how I really learn.  Since my job doesn't usually require these concepts, I usually do this on my own time.  

Currently I am learning a functional programming language called Haskell simply because I think it will make me a better programmer.  I understand that .NET supports functional programming using LINQ so that might be another topic you would be interested in.
0
 
LVL 2

Author Closing Comment

by:paulpp
Comment Utility
Thank you all for your input.  i am just frustrated, programing has come intuitivly for me most of the time, but these topics, I can totally get the sytax, but not the idea.  I currently have a web service that has 15 fucntions that have the same signatures, but do different things (I know I could use a switch statment, but went against that.)  I know there is a way to simpify this using delegates or Func<> but cant wrap my head around it.

I will keep pouding away, and follow all your suggestions.
0
 
LVL 74

Expert Comment

by:käµfm³d 👽
Comment Utility
If you care to ask a question related to delegates (including Func and Action), I, and I'm sure others, would be glad to assist you in that regard  : )
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This is about my first experience with programming Arduino.
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

14 Experts available now in Live!

Get 1:1 Help Now