Continuing my computer science/programming education

  • Thread starter Thread starter newageanubis
  • Start date Start date
  • Tags Tags
    Computer Education
Click For Summary

Discussion Overview

The discussion revolves around advice for a first-year electrical/computer engineering student seeking to enhance their programming skills and competitiveness for internships. The focus is on self-directed learning in software engineering and computer science, including project work and relevant resources.

Discussion Character

  • Exploratory
  • Technical explanation
  • Conceptual clarification
  • Homework-related

Main Points Raised

  • One participant suggests working on personal projects that utilize a large, mature codebase to simulate real-world programming experiences and build a portfolio.
  • Another participant emphasizes the diversity of programming and recommends tackling projects with numerical or modeling aspects, incorporating complexities that are often ignored in simpler analyses.
  • A different participant inquires about the availability of a computer science minor at the student's school, implying that it could be beneficial.
  • One participant advises learning data structures, algorithms, discrete math, linear algebra, and UML, as well as exploring design patterns and additional programming languages such as C++, C#, Lisp, and Assembly.
  • It is suggested to review the curricula of other institutions to guide self-study, with the caveat that the approach should align with the student's end goals.

Areas of Agreement / Disagreement

Participants present various suggestions and perspectives on how to advance programming skills, but there is no consensus on a single path or approach. The discussion remains open-ended with multiple competing views on the best strategies for self-directed learning.

Contextual Notes

Participants express differing opinions on the importance of specific skills and projects, and there is an acknowledgment of the need for tailored learning paths based on individual goals.

Who May Find This Useful

First-year students in engineering or computer science, individuals seeking to enhance their programming skills, and those interested in self-directed learning in software development.

newageanubis
Messages
15
Reaction score
0
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.
 
Physics news on Phys.org
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.
 
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..
 
Surely your school offers a minor in cs?
 
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:

Similar threads

  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 7 ·
Replies
7
Views
2K
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 1 ·
Replies
1
Views
822
  • · Replies 3 ·
Replies
3
Views
2K
Replies
2
Views
3K