What is class should I take if I want to major in computer programming?
#technology
#computer-software
#computer-science
#computer-programming
8 answers
Cecilia’s Answer
Joanne’s Answer
Now . in the spirit of Steve Jobs, it never hurts to diversify your learning with some aesthetic or human-centered approaches.
The goal is always to make a product that someone wants to use. The languages and math sets will teach you how to make the product. The 'that someone wants to use' can be discovered by studying history or people in general.
Steve Lewis
Steve’s Answer
Nathan’s Answer
Some great answers have already been provided!
I would add, learning more high level concepts as well. Why software exists and where software exists. Differences between embedded systems, consumer operating systems, distributed systems. You will get a good context about where the software you will be writing will live. You will be able to answer questions about if the software will be on a chip, on a server, in a browser and what problems the software solves.
Try finding classes about Operating Systems, Software Requirements, Impact of Software on Society, Distributed Systems.
Nathan recommends the following next steps:
Brett’s Answer
You'll see a variety of answers as to which programming language to start with. In truth you can start with any - the language matters less than learning the habits of abstraction and learning to balance being detailed enough without getting lost in the details.
That said, Python is widely used as a great first language - it contains all the fundamentals, works on many platforms (Windows, Mac, Linux, BSD, etc), and emphasizes the good habits that you can carry forward to other languages. There are many introductions to Python and introductions to programming (using Python) courses, tutorials, and videos available (for free!) online, as well as most schools that teach the topic having such courses.
People will often talk about math for future programmers, but the truth is that math beyond basic algebra itself is not a requirement for most programmers. However, LOGIC - this is necessary for all programmers, and that tends to be covered in Math classes.
Any number of skills can benefit a programmer, but for a new programmer the two lessons I would suggest are:
1) Learn Python - it may not end up being the language you get hired to program in, but it is almost universally accepted as teaching good, relevant material. Getting universal acceptance in the industry is HARD, so that's a glowing compliment.
2) Code - once you can do it, you need to practice. The more you code, the better you get. The more nuances you notice, the more places you say "there must be a better way" and then try to find it. The more you actually code the more it becomes natural to "see" how to put together a solution to a problem. Coding is creative problem solving, so just like artists must create and create and always recognize that they can do better, so must programmers.
If you have access to a computer, there is no reason to delay - you can start learning and start coding immediately. It may be slow, and at times frustrating, but it is also rewarding, and when you look back you can see how much you can do that seemed so daunting even a month before.
Brett recommends the following next steps:
George’s Answer
- Math: Take your math classes seriously. You'll be taking a lot of them for your CS course and it really does matter when it comes to Logic and Algorithms and especially if you want to do something in computer graphics or gaming
- Adopt a Programming Language: Learn a language like Python and use it to build an application from end-to-end. Bonus points for Learning Java and using some form of SQL Database in your practice project
- Try to learn about: Operating Systems, Machine Learning, Software development, Agile programming
Good Luck
kannan’s Answer
you can focus on maths and computer programming ((like algorithms, design)and cloud-related courses (docker and container. there is lot of traction in cloud) and programming language (like python , java )