Continuing my computer science/programming education

In summary, the speaker is a first year student in electrical/computer engineering at the University of Toronto with experience in Java and C. They are seeking advice on how to continue their programming education since their current skill set may not be competitive for software intern positions. They are asking for suggestions on what to learn next and for resources to help them do so. Suggestions include working on a project using a large repository of code, learning data structures and algorithms, discrete math, linear algebra, UML, and design patterns, and considering other languages such as C++, C#, Lisp, and Assembly.
  • #1
newageanubis
15
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
  • #2
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.
 
  • #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..
 
  • #4
Surely your school offers a minor in cs?
 
  • #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:

1. What are the benefits of continuing my computer science/programming education?

Continuing your computer science/programming education can provide numerous benefits, such as staying up-to-date with the latest technologies and programming languages, improving your problem-solving skills, increasing your job opportunities and potential for advancement, and expanding your knowledge and understanding of computer systems and software development.

2. What are the different options for continuing my computer science/programming education?

There are various options for continuing your computer science/programming education, such as enrolling in a degree program at a university or college, attending coding bootcamps or workshops, taking online courses, or self-studying through books and online resources. Each option has its own advantages, so it's important to research and consider which option best fits your learning style and goals.

3. How much time and effort is required to continue my computer science/programming education?

The time and effort required to continue your computer science/programming education will depend on the specific program or course you choose. Degree programs typically require a larger time commitment, while shorter courses or bootcamps may only require a few weeks or months. However, no matter the program, continuing your education in this field will require dedication, practice, and a willingness to learn.

4. What skills and knowledge will I gain from continuing my computer science/programming education?

Continuing your computer science/programming education can provide you with a wide range of skills and knowledge, including programming languages, software development methodologies, data structures and algorithms, problem-solving techniques, and critical thinking skills. You may also gain experience working with different tools and technologies used in the industry.

5. Will continuing my computer science/programming education guarantee me a job in the field?

Continuing your computer science/programming education can greatly increase your chances of landing a job in the field, but it is not a guarantee. Other factors such as experience, portfolio, and market demand also play a role in job opportunities. However, having a strong educational background can make you a more competitive and desirable candidate for positions in the computer science/programming industry.

Similar threads

  • STEM Academic Advising
Replies
3
Views
827
  • STEM Academic Advising
Replies
12
Views
1K
  • STEM Academic Advising
Replies
1
Views
460
  • STEM Academic Advising
Replies
6
Views
1K
  • STEM Academic Advising
Replies
27
Views
1K
Replies
2
Views
872
  • STEM Academic Advising
Replies
3
Views
427
Replies
1
Views
804
  • STEM Academic Advising
Replies
8
Views
1K
  • STEM Academic Advising
Replies
10
Views
901
Back
Top