Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


Programming Mentor

Posted on 2013-01-02
Medium Priority
Last Modified: 2013-01-03

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.
Question by:paulpp
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions

Accepted Solution

mlaise earned 668 total points
ID: 38737701
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.
LVL 75

Assisted Solution

by:käµfm³d 👽
käµfm³d   👽 earned 668 total points
ID: 38737973
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  : )
LVL 11

Assisted Solution

MajorBigDeal earned 664 total points
ID: 38738478
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.

Author Closing Comment

ID: 38739094
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.
LVL 75

Expert Comment

by:käµfm³d 👽
ID: 38739929
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  : )

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Computer science students often experience many of the same frustrations when going through their engineering courses. This article presents seven tips I found useful when completing a bachelors and masters degree in computing which I believe may he…
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…
With the power of JIRA, there's an unlimited number of ways you can customize it, use it and benefit from it. With that in mind, there's bound to be things that I wasn't able to cover in this course. With this summary we'll look at some places to go…

618 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