Hi, can you please give me an advise? I'm a marketing student, and I want to work with big data and business intelligence. Do you think knowing python and R are enough? Thank you!
Hello!
I'm not terribly familiar with the whole analytics realm, but I can share what I know.
For business analytics, I know SAS is a popular programming language. It's a little pricey, but you can get university edition for free and try it out. Some universities even offer SAS certification in their business/marketing departments. R and Python are always safe bets. Another name that's been coming up is Tableau, but I'm not sure how prominent it is.
For big data, I might recommend python. There's a great library (based on Hadoop) called PySpark that is geared towards big data. I've worked a little bit with it and was able to churn through 200 terabytes of cloud data in about six minutes. R and SAS can handle big data as well, I just have no experience with those languages.
I hope this helps and I hope your studies go well!
Hi, can you help me, if you have some time? I’m in college and I’m supposed to choose my specialty in like a month, but I still don’t know what do I want to do. I feel like there’s so much to learn and I don’t want to miss out on anything. Can you tell me what should I expect from working with different languages? (I’ve tried only like two so far) or do you have any tips which would help me figure it out? Please, you’d literally help save my future (dramatic, I know, sorry xD).
Sure! I understand your sentiment completely. Computer Science is such a vast field, it can feel overwhelming with how much there is to learn. I was in that same boat for the first three years of my comp sci degree and I still don’t fully know what I want to do.
The great thing about computer science is that while it is a relatively new field, it has spread its wings and has branched out in so many ways and has even affected other areas of study. Here are 10 common specializations, what they do, and what some code might look like (when possible):
Software development is what people tend to think of when studying computer science. This typically involves wanting to work in the industry as someone who develops code based on what a client or company wants. You will take courses about the software development process, such as software testing and agile development. There aren’t really any languages I would recommend, since this is such a broad field, but good places to start are C++, Java, C#, and Python. If anything, I would suggest reading further, since software development can be broken down into the other categories. An example of Java code can be seen below (and C++ and C# basically look like this as well).
Game development is another topic people think of with computer science. A lot of our generation grew up playing video games and somewhere along the line thought that they would want to develop games as well. Game developers need to have a good understanding of computer graphics (such as using OpenGL), physics, and computer programming in C++ and C#. A great place to start is looking into Unity. It’s free, it’s easy to use, and it’s what a lot of industry people use today.
Web development has been, currently is, and will always be in high demand. Most interactions people have with computers are through websites, so of course there’s a lot of companies whose development revolves around websites. The standard languages to learn are HTML, CSS, and JavaScript, although if you want an edge up, look into JavaScript libraries and frameworks, like Angular and Node.js. Also, W3Schools will be your best friend. It’s hard to show examples of this that aren’t hundreds of lines long, so here’s a little example showing HTML, CSS, and JavaScript similar to a W3Schools example.
Data science is exploding right now. The world has so much data and we’re just now beginning to analyze all of it. Say you have the history of every user that has ever been shown your ad and who clicked on it and when. Could you use that to determine anything about the effectiveness of the ad, time of day, where it’s displayed, and if they’ll click again? That’s data science. Typical courses include Statistical Computing, Data Mining, and Machine Learning. Typical languages for data science include R and Python. One subtopic that’s really big is machine learning. Can you take the data that you have and have a program “learn” off that data and make predictions about the future? Take a look at this Python code that analyzes a data set and is able to predict whether or not breast cancer is present based on a few attributes:
Information systems is the foundation of both web development and data science, as it involves how and where we store our information and data. You’ll study database management and possibly some cloud storage, since this is usually where we store things. You will want a strong understanding of data structures if you really want to learn the best ways to store things (I’ll give you a hint, databases usually use a variation of Binary Search Trees). You’ll also learn how to retrieve and manipulate the data that is stored. The languages you’ll want is SQL (rather MySQL or NoSQL) and PHP. Some MySQL code for creating a schema with tables will look like this.
Computer engineering is a close friend of computer science, but is mostly focused on the hardware side of things. Computer engineering is all about how you build the computer system. You will spend a lot of time learning the physics that goes into computer design, namely electricity and magnetism. Some classes would include Circuit Analysis, Signals, and Digital Systems, but a lot of it is up to you.
Systems & Architecture is similar to computer engineering, as you’re still focused on being close to the hardware, but you’re more interested in the software side. This was my favorite section of computer science, because you get to learn about computers from a brand new perspective and see how they work down to the electricity flowing through it. Typical courses include Computer Architecture, Operating Systems, Parallel Systems, and the like. You will learn languages like C and Assembly so you can get a good grasp of how fast and powerful a computer can be since you’re almost talking directly to it. For example, this C code is typical practice for interacting with dynamic libraries.
Theoretical computer science is a very intriguing study. Instead of learning about how all these different languages can be applied, you look into what computers are actually capable of. The main courses in any theoretical computer science section are Programming Language Theory, looking into how can you design and classify a programming language, Algorithm Analysis and Design, the different paradigms used to solve different problems, and Theory of Computation, studying what problems can be solved by computers and how quickly can they be solved. Studying this is a good way to get a job in the government, as organizations like the NSA are always looking for people to work on cryptography, which has a strong background in theory.
Scientific computing is the mix of computer science and applied mathematics. You take your understanding of programming and mathematical theory to create computer algorithms to solve problems as fast as they can (and maybe faster than ever before)! You’ll want to have a very strong understanding of linear algebra (the study of matrices), since a lot of computational tasks can be done effectively and efficiently using matrices. Typical courses include Numerical Linear Algebra, Numerical Analysis, and Partial Differential Equations. For this, languages like MATLAB (or its free counterparts Octave or Scilab), Mathematica, and even Fortran are your best bets. A typical career can involve becoming a researcher, or working for a company that relies on the most optimized mathematical code, such as a government agency or somewhere in the finance world. Here’s an example of some code written in Octave to analyze a waveform and reproduce it as a series of numbers (hey, I did a post about this earlier!)
Bioinformatics is the love child of computer science and biology. In this study, you will use what you know about computer science and programming to better understand biological data. You can use this to study the human body, such as the human genome, so we as humans can have a better understanding of what makes us human, or you can apply it and develop medical software. One of my friends got a PhD in bioinformatics and she now writes the software for heart monitors. Since this is somewhat similar to data science, you’ll want to learn Python and R.
There are more specializations, like computer security or networking, but these are the 10 I’m most familiar with. I hope this helped and feel free to reach out to me if you have any more questions!
That's brilliant! As a fellow software student, what are your language preferences to code in?
Personally, I like the object-oriented paradigm, with languages like C++, Java, and C#. I don’t know why, but I just learn how to use a language like C++ quicker and more effectively than higher level languages like R or Ruby.
What’s your favorite programming language that you have mastered to the fullest extent —110%?
I’m honestly not sure if there is a programming language I’ve mastered 100%. I’ve done C++ and Java for years, and those are probably my best languages, but I haven’t explored most of the C++ STL or the Java packages, so I can’t claim I’m a master at them. Excluding the use of libraries or packages, C++ would be my favorite.
For every “★” I get, I will post a fact about my characters.Derrick hopes Cena will develop a better sense of humor. 😛No, but he does hope the Empire will self implode or something. >.>
rules: bold the ones that are true and tag 15 people to do it (or don’t tag, no pressure)
APPEARANCE:
I’m over 5’5” // I wear glasses/contacts // I have blonde hair // I prefer loose clothing to tight clothing // I have one or more piercings // I have at least one tattoo // I have blue eyes // I have dyed or highlighted my hair // I have gotten plastic surgery // I have or had braces // I sunburn easily // I have freckles // I paint my nails // I typically wear makeup // I don’t often smile // I am pleased with how I look // I prefer Nike to Adidas // I wear baseball hats backwards
HOBBIES AND TALENTS:
I play a sport // I can play an instrument // I am artistic // I know more than one language // I have won a trophy in some sort of competition // I can cook or bake without a recipe // I know how to swim // I enjoy writing // I can do origami // I prefer movies to tv shows // I can execute a perfect somersault // I enjoy singing // I could survive in the wild on my own // I have read a new book series this year // I enjoy spending time with friends // I travel during school or work breaks // I can do a handstand
RELATIONSHIP:
I am in a relationship // I have been single for over a year // I have a crush // I have a best friend I have known for ten years // my parents are together // I have dated my best friend // I am adopted // my crush has confessed to me // I have a long distance relationship // I am an only child // I give advice to my friends // I have made an online friend // I met up with someone I have met online
AESTHETICS:
I have heard the ocean in a conch shell // I have watched the sun rise // I enjoy rainy days // I have slept under the stars // I meditate outside // the sound of chirping calms me // I enjoy the smell of the beach // I know what snow tastes like // I listen to music to fall asleep // I enjoy thunderstorms // I enjoy cloud watching // I have attended a bonfire // I pay close attention to colours // I find mystery in the ocean // I enjoy hiking on nature paths // autumn is my favourite season
MISCELLANEOUS:
I can fall asleep in a moving vehicle // I am the mom friend // I live by a certain quote // I like the smell of sharpies // I am involved in extracurricular activities //I enjoy Mexican food// I can drive a stick-shift // I believe in true love // I make up scenarios to fall asleep // I sing in the shower // I wish I lived in a video game // I have a canopy above my bed // I am multiracial // I am a redhead // I own at least three dogs