How To Study Programming – Study Tips – Computer Science/IT


Hello, my Socratica Friends! We’re here to help you be a Great Student. Today we’re answering a request from a viewer. Yes, we listen to your requests. Our viewer asks “Can you give me some advice
on how to study Computer Science? I want to be a Programmer, but I don’t have
any idea where to start.” We can help. And I say “we,” because today we’ll
be talking to my friend Ulka, who teaches programming here at Socratica. Ulka is a web developer, and studied Computer
Science in college. But is that the only way to become a programmer? Absolutely not. You do not HAVE to study computer science
in college in order to be a programmer. In fact, it is very difficult for universities
to keep up with the rapidly changing technology. If you took a class in programming while in
college, by the time you graduate and start working at a job, that language may be all
but defunct. So why do people study Computer Science in
college at all? What do you get out of a CS degree? It’s important to remember that Computer
Science and Software Engineering are two different things. A CS degree will help you learn to think like
a programmer. It changes you. Molds you… into someone who can code for a lifetime. Think of your CS degree as a kind of meta-cognition. It may not teach you the specifics of coding,
but it will teach you what coding IS. The important part of studying CS is to understand
the theory. While the specifics of software engineering
may change, the underlying theory of computer science remains constant. Can you tell us what would you learn in a
CS degree? The curriculum varies, depending on the university. But you can likely expect to learn about Data
Structures and Algorithms, Operating Systems, Networking, Cryptography and Search, and about
Programming Languages in general. You may also learn about such topics as Artificial
Intelligence and Machine Learning. Graphics. And Math. Don’t forget the importance of Mathematics. CS problems are essentially Math problems. AI requires Probability and Statistics. Graphics and Animation use Linear Algebra. You want to study Cryptography? That means you’ll also study Number Theory
and Modular Arithmetic. But what if our viewer can’t go to school
full time to get a CS degree? Ideally, you should pursue your skills both
academically, in courses, and non-academically, through self-study. There are many online courses to address the
academic side, if you can’t enroll full-time at a university. We’ll include links to some free online
courses from universities like Harvard and MIT in the description below. Now, what about the non-academic road to becoming
a programmer? Can you tell us more about that? The best way to learn to code…is to code. I recommend you start with something very
simple. There are coding tutorials that use visual
interfaces. These help you get a quick win. By that, I mean you will quickly learn that
you CAN code…as long as you are logical. Well, our viewers are certainly logical. What next? For beginners, it is important to be project
driven. Give yourself increasingly difficult tasks,
and solve them. Look for “hour of code” challenges. Meetups. Hackathons. Read forums that discuss coding. This is a good way to meet other people who
are learning how to program and who can review your code. Speaking of reviewing code… Yes? Reading someone else’s code is an excellent
way to learn programming. Find a simple bit of code, preferably one
with documentation, and try to break it. You will find, very quickly, what mistakes
look like in coding. Alternatively, take other people’s code
and try to USE it. There are many open source projects that require
work to learn how to use them. Where does someone go to find pieces of code
to try to understand? GitHub is a well-known code hoster. You will find many open source projects there. This is also a good place for you to build
your own portfolio. Then, share it with others and learn from
their comments. How do you know what language to start with? You can start programming with something simple,
like JavaScript. I can also recommend an EXCELLENT Python course. Wink. Wink. But you should pick one language? I actually recommend you learn more than one
language. This will let you see what is common in programming,
and what is specific to one particular language. Each programming language has its own strengths
and weaknesses. What about the people who have learned a little,
but they really want to take it to the next level? You could sign up for an Immersive Bootcamp. Those usually last about 6 months, and by
the time you get out of it, you’ve spent a few thousand dollars, and you’ll have
a certificate and a lot of experience coding. {you’re thinking of a but…here} I sense a “but” coming here… BUT…it might make more sense to just get
a job. Like on-the-job training? Exactly. Create a profile for yourself on a job site,
and be honest about your experience level. Take on projects for friends. Learn to code something useful, like a game
you want to play. You’ll learn more this way than almost any
other. It’s a test by fire. There you have it, my Socratica Friends. You can go to school for Computer Science,
but ultimately you learn how to be a programmer by BEING a programmer. Let us know how you get on in the comments! We love to see you learning. It’s all part of being
a GREAT student. Hello Again, my Socratica Friends. We’re here to help you be a great student by making great educational videos! This is a real labor of love for the Socratica Team. We spend all our time researching, writing, filming, and editing our videos. In fact, there aren’t enough hours in the day to do it all. How can you help? You can support our work on Patreon. This is not an obligation. Our videos will always be free on YouTube for everyone to watch. So if times are tight, don’t send money. You can still help us by watching our videos all the way to the end, and then sharing them on Twitter, Reddit…tell ALL your friends. If our work is valuable to you, please help us continue. Thank you!!

100 Comments

Add a Comment

Your email address will not be published. Required fields are marked *