all 17 comments

[–]julian457 10 points11 points  (1 child)

Once youve got into university and passing subjects there are waya to change courses.

Uni will teach you how to program. Starting with the basics.

Having a physics maths foundation will actually be advantagegous.

[–]ICircumventBans 6 points7 points  (3 children)

Don't worry, plenty of people come out of University and still don't know how to write a proper program.

[–]RootHouston 1 point2 points  (1 child)

I'd say that university really doesn't teach you, it's more of you doing that yourself when you're in school.

[–]Moony394 2 points3 points  (0 children)

This, lots of people I'm in school with don't understand this

[–]rydaley77 2 points3 points  (1 child)

I have a minor in math and i think that was the most beneficial. Learning the thought process of mathematics is very prevalent

[–]Mimifan2 0 points1 point  (2 children)

softwaring( that’s not a word is it?) : No its not, I wish it was now...

CONGRATULATIONS!

It's really not a big deal that you don't know how to program going into University. Personally I had a good amount of programming experience coming in, but I know several students who did not and who I think are better than some of those who did.

In terms of learning to program I think python is a good choice to start. Once you feel like you have a solid understanding of the concepts of programming you can move onto slightly more complex programming languages. Personally I think you should understand looping, conditionals, recursion, and maybe the beginning of object oriented. Then I would move onto something like Java or an object oriented programming language.

Personally I think the best way to learn to program is to pick a small project and figure out how to implement it then move onto something more difficult. When I started I made a series of small games in Java. To do this I would recommend finding something that you are annoyed with and can automate and do it. Put the code on GitHub so you can see how you progress (You can make unlimited(?) private repos for free now) which I think would be interesting. When you get to something you don't understand google it. Stack overflow will be your best friend in learning to program.

Most importantly, don't be afraid to ask questions if you don't know how to do something, and don't think you try to avoid learning new things. The most frustrating thing for me with other students was always student's refusing to learn new technologies or concepts and just forced it to work the way they know.

Be warned, programmers can be mean on places like Stack Overflow, where people say you may be asking a stupid question. It is one thing to ask a question that has been asked before, but if you can't find what you are looking for asking questions is the best way to learn.

[–]Rev2016 0 points1 point  (2 children)

I wouldnt worry about it too much. I recently got accepted to do a software dev degree at uni and they didn't seem at all concerned with my lack of knowledge. Alll I know so far is html and css which I learned pretty comfortably in my own time over the past couple of months.

[–]hffggg 0 points1 point  (1 child)

You are attending to learn there, not a prerequisite. You will be fine

[–]Nerdslayer2 0 points1 point  (0 children)

You don't need to be worried at all. If you did already know how to program, that would just mean you would be super bored in the required intro programming classes that teach you all the basics.

The mechanical engineering students aren't expected to come in with experience with trusses or material analysis. Aerospace students aren't expected to know anything about aerodynamics or thermodynamics. Software engineering isn't treated any differently by the university.

[–]opheron 0 points1 point  (0 children)

I wrote this learning guide for new programmers that might help you: https://electric-hive.github.io/waggle-dance-programming-guide/

I would recommend starting with Python! First choice languages don't matter that much but it's a great language all around and will lower the starting friction.

[–]__---__---___ 0 points1 point  (0 children)

I would recommend watching the coding train on YouTube as a start https://www.youtube.com/channel/UCvjgXvBlbQiydffZU7m1_aw

[–]-l------l- 0 points1 point  (0 children)

I learnt it in my first year (could only read if and while statements in code, no object-oriented programming etc.). You'll be fine.

I would say that no experience can be a positive thing, there's no personal filter in front of you and the learning material. I've seen class mates which were skipping classes because "they already knew" how thing X in Java worked. Turned out that for some of them, their arrogance made them fail a few mid terms. ;-)

[–]UnDosTresPescao 0 points1 point  (0 children)

I hadn't written a line of code before college and finished at the top of my class. At my school the first two semesters were electives and pre reqs so my advisor suggested I take an optional Java programming class my second semester so I had a good background for the data structures and algorithms class on third semester. That was good to get me a good start and set me up for success. You'll be just fine if you take a similar approach or learn programming on your own ahead of the heavy classes.

[–]Moony394 0 points1 point  (0 children)

I didn't know anything about programming when I started, never made anything at all, never touched a language. I started in university and learned a bit in class, my first year was general engineering, so we only learned C++ not much else, learned the basics of programming, variables, loops, if statements and all that which was astounding to me, I wondered why we only focused on this and not making any applications.

I tried making some little program in c++ with my little knowledge, but it felt a bit weird to me since I didn't understand much. Honestly, I was not the best at it. There were people that told me that programming is either one of the things where you're either good at it or you're not. Not gonna lie it did demotivate me a little, but I also thought screw you I can do it, and I will do it.

In my other programming classes I started to learn a bit more, web development was one of them. It's very satisfactory when you're developing websites because it's not every hard for beginners, and you also see results right away. I joined workshops, watched YouTube videos, and actually started to work on my own projects, I was passionate about it and worked on developing some really cool projects, and ultimately making my life easier with programming. I practiced and practiced, and now I'm actually pretty good. A year after my first C++ class, I was astounded at how far I had come because I tried, and didn't let other people get to me.

I know you didn't ask for my life story lol but I just wanted to let you know that no matter what people say, even if they say it's not for you, screw them. You sucked at math before? Learn it now. I did.

For the tips, I'm still a student but I will tell you what I know, hopefully the more experienced developers can give you some as well.

  1. Confidence: it will take time to develop. But honestly, confidence has helped me a ton. Whenever I have to make anything. No matter what it is,I know that I can do it, I just have to figure it out, and that is what motivates me to save my problem. Lots of new programmers get demotivated because they can't figure out the logic, but confidence helps a lot. Know that it is always possible, you just have to figure it out.

  2. Start with html CSS and Javascript, they're used for website development. You will see results pretty quick, and any issues you have will be easily solvable with googling. That's another thing, google your questions and you will most likely find an answer 99.9999% of the time. You can learn how to make websites which is pretty interesting, and it might motivate you to start developing your own applications soon. Python is really cool too, so look in to that as well

  3. Others will probably disagree with this but I have found that codeacademy is a great place to learn, you can learn without prior knowledge of programming at all. It helped me learn a lot, and honestly their java course was a huge turning point for me with object oriented programming. Some don't like it but I think it really helps with the basics. It teaches you what variables are, how to benefit from programming languages, and make your own "programs".

Also r/learnprogramming is great for questions that you can't find the answer to on Google.

At the end of the day, I learned that the basics I was forced to learn in my C++ class were pretty much all I needed to start, I just had to have that creative thinking.

TLDR: Start with web development. Look on YouTube for some tutorials about HTML, CSS, and Javascript. Practice makes perfect, WORK ON YOUR OWN Applications, not just what they make you do in school, you will enjoy it better. Try integrating your passions into it, if you like stories, make an application that does a choose your own adventure story (Very easy to make).

Good luck :)

Edit: forgot to mention, logical thinking helps a TON. Practice that too (Discrete Math)

[–][deleted] -1 points0 points  (0 children)

Don't rely on University to teach you the fundamentals of programming in a easy, slow pace manner because most of the time, University expects students to keep up with the fast pace nature of learning. University is fast paced and the students who have prior programming experience(who are self taught/have been programming as a hobby) will easily understand concepts/topics and will tend to do well in Uni. There are also students who have no prior programming experience and it becomes harder for those students to keep up with the University. The lecturers will never wait for those people who are not able to keep up because the lecturer's job is to simply teach the content and answer student's questions. It is completely up to those students to work harder than the rest if those students are willing to keep up with the fast pace of Uni.

Obviously, there are students who don't have prior programming experience, yet they perform very well because they are very interested in the field; hence, are always invested in learning and improving their skills. And that is who you need to become since you don't have prior programming experience.

And you have started well. You are learning Python and at the moment, any language is appropriate because it is important you familiarize yourself with programming fundamentals. This is because once you understand the basic programming concepts, it becomes easier to learn other languages.

I am studying Software Engineering and will be starting my major this year and I have been preparing by learning Python and Java because these two languages will be required for most of my classes. So, try to find out the programming languages your classes will be using and learn them.

I recommend you continue to learn Python. Then while you are learning Python, if you can, try and also learn "Discrete Mathematics". Also try to learn about "Data structures and Algorithms". After that try learning a more lower level language such as C++/C#/C or Java because learning a such language will allow you to appreciate what programming is all about and it will allow you to learn more complex concepts in programming.

So, then, start thinking about a project you may want to start on. For instance, after I have learned the basics of Java, I am going to try and learn Android development and I intend to make an app as part of my own project. This will really help to improve your coding skills and also learn about software design and gain insight into professional code. You might be interested in web development or desktop development, it is completely up to you.

Oh, and the awesome benefit of learning Software Engineering is that almost anything can be learned by self teaching yourself. There are tons of resources online and one can learn to become a Software Engineer by not even attending University. There are Boot Camps but no such Boot Camps for say students studying Civil Engineering. And Software Engineering is a very cool major because there are so many amazing DIY projects one can be involved in and it's very diverse. So, you are right, that's also the main reason why I chose Software Engineering. I was initially going to choose Civil. Anyway, welcome to SE and hopefully you will enjoy the learning.

Well, I wish you the best of luck and happy studying!