1. Limited time only! Sign up for a free 30min personal tutor trial with Chegg Tutors
    Dismiss Notice
Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

Continuing my computer science/programming education

  1. Feb 20, 2013 #1
    Hey everyone,

    I am a first year student in electrical/computer engineering at the University of Toronto. I have experience working in Java and C, and my major projects are an Android app and an employee database program built in Java (Netbeans, Java Swing API). I would like to request some advice about continuing my programming education.

    As I was applying for software intern positions for this summer, I realized that my skill set after my first semester programming course didn't really make me competitive for many positions. To make things worse, there is only one programming course in second year, and it covers concepts that my high school computer science teacher taught me (although we used Java, not C++ like the course does). So it's pretty clear that I'm going to have to learn more software engineering and computer science on my own time if I want to satiate my curiosity as well as stand a good chance for internships in the future.

    My question is this: where and how do I get started? Given my current skill set, what could/should I tackle and learn next that would be a logical next step? Could you direct me to some resources that could help me learn these things?

    Thank you in advance for your time and wisdom.
  2. jcsd
  3. Feb 20, 2013 #2


    User Avatar
    Science Advisor

    Hey newageanubis.

    You should try and work on some kind of project of your own where you use a large repository of code, preferably one that is highly mature and developed.

    By doing this you get closer to simulating what you do in the real world and it will give you something to talk about in terms of outlining what kinds of projects you've worked on.

    You can make it as long and as complex as you want, but my advice would be to just pick something that you can finish and finish it for your virtual portfolio.
  4. Feb 22, 2013 #3
    I'm not sure what your goals are because "programming" can be quite diverse. I always find projects that have a heavy numerical/modeling aspect to them. I will usually take a reasonably simple problem such as a a ball being thrown and add in things like variable winds, a slightly off center of balance, etc. Things that every physicist will say "let us ignore" so it makes it easy to find an analytical solution can be added to a simulation. The complexity can grow so fast with a simulation. Download some basics graphics libraries and tie those in as well. The days just go too fast when doing things like this. At least for me..
  5. Feb 22, 2013 #4
    Surely your school offers a minor in cs?
  6. Feb 22, 2013 #5
    Might want to learn data structures and algorithms. It would be unlikely you have learned them yet if you are first year, as well as discrete math, and linear algebra. You also should teach yourself UML.

    Also, learn design patterns, pick up another few languages C++, C#, Lisp, and Assembly for example.

    You might want to just look at the curriculum of other schools and follow that. Really, depends what your end goals are though.
    Last edited: Feb 22, 2013
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook